wonder-image 2.1.2-alpha.2 → 2.1.2-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/backend/body-end.js +1 -2
- package/dist/backend/body-end.js.map +1 -1
- package/dist/backend/head.css +1 -1
- package/dist/backend/head.css.map +1 -1
- package/dist/backend/head.js +1 -1
- package/dist/backend/head.js.LICENSE.txt +0 -1015
- package/dist/backend/head.js.map +1 -1
- package/dist/backend/lib.js +0 -1
- package/dist/frontend/body-end.js +0 -1
- package/dist/frontend/body-end.js.map +1 -1
- package/dist/frontend/head.css +1 -1
- package/dist/frontend/head.css.map +1 -1
- package/dist/frontend/head.js +1 -2
- package/dist/frontend/head.js.map +1 -1
- package/dist/frontend/lib.js +0 -1
- package/dist/frontend/lib.js.map +1 -1
- package/dist/images/flags/1x1/cn.svg +11 -0
- package/dist/images/flags/1x1/cu.svg +13 -0
- package/dist/images/flags/1x1/cv.svg +13 -0
- package/dist/images/flags/1x1/cw.svg +14 -0
- package/dist/images/flags/1x1/de.svg +5 -0
- package/dist/images/flags/1x1/dk.svg +5 -0
- package/dist/images/flags/1x1/do.svg +122 -0
- package/dist/images/flags/1x1/ee.svg +5 -0
- package/dist/images/flags/1x1/eh.svg +11 -0
- package/dist/images/flags/1x1/er.svg +13 -0
- package/dist/images/flags/1x1/eu.svg +28 -0
- package/dist/images/flags/1x1/fi.svg +5 -0
- package/dist/images/flags/1x1/fj.svg +123 -0
- package/dist/images/flags/1x1/fr.svg +5 -0
- package/dist/images/flags/1x1/gb.svg +7 -0
- package/dist/images/flags/1x1/gf.svg +5 -0
- package/dist/images/flags/1x1/gh.svg +6 -0
- package/dist/images/flags/1x1/gn.svg +7 -0
- package/dist/images/flags/1x1/gp.svg +5 -0
- package/dist/images/flags/1x1/gq.svg +23 -0
- package/dist/images/flags/1x1/gr.svg +16 -0
- package/dist/images/flags/1x1/gs.svg +132 -0
- package/dist/images/flags/1x1/gt.svg +204 -0
- package/dist/images/flags/1x1/gu.svg +19 -0
- package/dist/images/flags/1x1/gw.svg +15 -0
- package/dist/images/flags/1x1/gy.svg +9 -0
- package/dist/images/flags/1x1/hm.svg +8 -0
- package/dist/images/flags/1x1/hn.svg +18 -0
- package/dist/images/flags/1x1/ht.svg +116 -0
- package/dist/images/flags/1x1/hu.svg +7 -0
- package/dist/images/flags/1x1/id.svg +4 -0
- package/dist/images/flags/1x1/im.svg +36 -0
- package/dist/images/flags/1x1/in.svg +25 -0
- package/dist/images/flags/1x1/iq.svg +10 -0
- package/dist/images/flags/1x1/ir.svg +219 -0
- package/dist/images/flags/1x1/is.svg +12 -0
- package/dist/images/flags/1x1/it.svg +7 -0
- package/dist/images/flags/1x1/jm.svg +8 -0
- package/dist/images/flags/1x1/kh.svg +61 -0
- package/dist/images/flags/1x1/km.svg +16 -0
- package/dist/images/flags/1x1/kw.svg +13 -0
- package/dist/images/flags/1x1/lb.svg +15 -0
- package/dist/images/flags/1x1/ls.svg +8 -0
- package/dist/images/flags/1x1/ma.svg +4 -0
- package/dist/images/flags/1x1/mc.svg +6 -0
- package/dist/images/flags/1x1/mg.svg +7 -0
- package/dist/images/flags/1x1/mm.svg +10 -0
- package/dist/images/flags/1x1/mo.svg +9 -0
- package/dist/images/flags/1x1/mp.svg +86 -0
- package/dist/images/flags/1x1/ms.svg +25 -0
- package/dist/images/flags/1x1/mw.svg +15 -0
- package/dist/images/flags/1x1/mx.svg +377 -0
- package/dist/images/flags/1x1/ni.svg +129 -0
- package/dist/images/flags/1x1/nu.svg +10 -0
- package/dist/images/flags/1x1/om.svg +115 -0
- package/dist/images/flags/1x1/pa.svg +13 -0
- package/dist/images/flags/1x1/pc.svg +33 -0
- package/dist/images/flags/1x1/pf.svg +18 -0
- package/dist/images/flags/1x1/pk.svg +15 -0
- package/dist/images/flags/1x1/pl.svg +6 -0
- package/dist/images/flags/1x1/pr.svg +13 -0
- package/dist/images/flags/1x1/pt.svg +57 -0
- package/dist/images/flags/1x1/pw.svg +11 -0
- package/dist/images/flags/1x1/ru.svg +5 -0
- package/dist/images/flags/1x1/sb.svg +13 -0
- package/dist/images/flags/1x1/sh.svg +7 -0
- package/dist/images/flags/1x1/sj.svg +7 -0
- package/dist/images/flags/1x1/sk.svg +9 -0
- package/dist/images/flags/1x1/sn.svg +8 -0
- package/dist/images/flags/1x1/ss.svg +8 -0
- package/dist/images/flags/1x1/sx.svg +56 -0
- package/dist/images/flags/1x1/sz.svg +34 -0
- package/dist/images/flags/1x1/tc.svg +50 -0
- package/dist/images/flags/1x1/tf.svg +15 -0
- package/dist/images/flags/1x1/tj.svg +26 -0
- package/dist/images/flags/1x1/tk.svg +5 -0
- package/dist/images/flags/1x1/tl.svg +13 -0
- package/dist/images/flags/1x1/tm.svg +205 -0
- package/dist/images/flags/1x1/to.svg +10 -0
- package/dist/images/flags/1x1/tt.svg +7 -0
- package/dist/images/flags/1x1/tw.svg +32 -0
- package/dist/images/flags/1x1/ug.svg +30 -0
- package/dist/images/flags/1x1/us.svg +9 -0
- package/dist/images/flags/1x1/uy.svg +28 -0
- package/dist/images/flags/1x1/uz.svg +30 -0
- package/dist/images/flags/1x1/vi.svg +28 -0
- package/dist/images/flags/1x1/vn.svg +11 -0
- package/dist/images/flags/1x1/vu.svg +21 -0
- package/dist/images/flags/1x1/xk.svg +5 -0
- package/dist/images/flags/1x1/zw.svg +21 -0
- package/dist/images/flags/4x3/ad.svg +150 -0
- package/dist/images/flags/4x3/ae.svg +6 -0
- package/dist/images/flags/4x3/af.svg +81 -0
- package/dist/images/flags/4x3/ag.svg +14 -0
- package/dist/images/flags/4x3/ai.svg +29 -0
- package/dist/images/flags/4x3/al.svg +5 -0
- package/dist/images/flags/4x3/am.svg +5 -0
- package/dist/images/flags/4x3/ao.svg +13 -0
- package/dist/images/flags/4x3/aq.svg +5 -0
- package/dist/images/flags/4x3/ar.svg +32 -0
- package/dist/images/flags/4x3/arab.svg +109 -0
- package/dist/images/flags/4x3/as.svg +72 -0
- package/dist/images/flags/4x3/asean.svg +13 -0
- package/dist/images/flags/4x3/at.svg +4 -0
- package/dist/images/flags/4x3/au.svg +8 -0
- package/dist/images/flags/4x3/aw.svg +186 -0
- package/dist/images/flags/4x3/ax.svg +18 -0
- package/dist/images/flags/4x3/az.svg +8 -0
- package/dist/images/flags/4x3/ba.svg +12 -0
- package/dist/images/flags/4x3/bb.svg +6 -0
- package/dist/images/flags/4x3/bd.svg +4 -0
- package/dist/images/flags/4x3/be.svg +7 -0
- package/dist/images/flags/4x3/bf.svg +7 -0
- package/dist/images/flags/4x3/bg.svg +5 -0
- package/dist/images/flags/4x3/bh.svg +4 -0
- package/dist/images/flags/4x3/bi.svg +15 -0
- package/dist/images/flags/4x3/bj.svg +14 -0
- package/dist/images/flags/4x3/bl.svg +5 -0
- package/dist/images/flags/4x3/bm.svg +97 -0
- package/dist/images/flags/4x3/bn.svg +36 -0
- package/dist/images/flags/4x3/bo.svg +673 -0
- package/dist/images/flags/4x3/bq.svg +5 -0
- package/dist/images/flags/4x3/br.svg +45 -0
- package/dist/images/flags/4x3/bs.svg +13 -0
- package/dist/images/flags/4x3/bt.svg +89 -0
- package/dist/images/flags/4x3/bv.svg +13 -0
- package/dist/images/flags/4x3/bw.svg +7 -0
- package/dist/images/flags/4x3/by.svg +18 -0
- package/dist/images/flags/4x3/bz.svg +145 -0
- package/dist/images/flags/4x3/ca.svg +4 -0
- package/dist/images/flags/4x3/cc.svg +19 -0
- package/dist/images/flags/4x3/cd.svg +5 -0
- package/dist/images/flags/4x3/cefta.svg +13 -0
- package/dist/images/flags/4x3/cf.svg +15 -0
- package/dist/images/flags/4x3/cg.svg +12 -0
- package/dist/images/flags/4x3/ch.svg +9 -0
- package/dist/images/flags/4x3/ci.svg +7 -0
- package/dist/images/flags/4x3/ck.svg +9 -0
- package/dist/images/flags/4x3/cl.svg +13 -0
- package/dist/images/flags/4x3/cm.svg +15 -0
- package/dist/images/flags/4x3/co.svg +7 -0
- package/dist/images/flags/4x3/cp.svg +7 -0
- package/dist/images/flags/4x3/cr.svg +7 -0
- package/dist/images/flags/4x3/cx.svg +15 -0
- package/dist/images/flags/4x3/cy.svg +6 -0
- package/dist/images/flags/4x3/cz.svg +5 -0
- package/dist/images/flags/4x3/dg.svg +130 -0
- package/dist/images/flags/4x3/dj.svg +13 -0
- package/dist/images/flags/4x3/dm.svg +152 -0
- package/dist/images/flags/4x3/dz.svg +5 -0
- package/dist/images/flags/4x3/eac.svg +48 -0
- package/dist/images/flags/4x3/ec.svg +138 -0
- package/dist/images/flags/4x3/eg.svg +38 -0
- package/dist/images/flags/4x3/es-ct.svg +4 -0
- package/dist/images/flags/4x3/es-ga.svg +187 -0
- package/dist/images/flags/4x3/es-pv.svg +5 -0
- package/dist/images/flags/4x3/es.svg +544 -0
- package/dist/images/flags/4x3/et.svg +14 -0
- package/dist/images/flags/4x3/fk.svg +90 -0
- package/dist/images/flags/4x3/fm.svg +11 -0
- package/dist/images/flags/4x3/fo.svg +12 -0
- package/dist/images/flags/4x3/ga.svg +7 -0
- package/dist/images/flags/4x3/gb-eng.svg +5 -0
- package/dist/images/flags/4x3/gb-nir.svg +132 -0
- package/dist/images/flags/4x3/gb-sct.svg +4 -0
- package/dist/images/flags/4x3/gb-wls.svg +9 -0
- package/dist/images/flags/4x3/gd.svg +27 -0
- package/dist/images/flags/4x3/ge.svg +6 -0
- package/dist/images/flags/4x3/gg.svg +9 -0
- package/dist/images/flags/4x3/gi.svg +32 -0
- package/dist/images/flags/4x3/gl.svg +4 -0
- package/dist/images/flags/4x3/gm.svg +14 -0
- package/dist/images/flags/4x3/hk.svg +8 -0
- package/dist/images/flags/4x3/hr.svg +58 -0
- package/dist/images/flags/4x3/ic.svg +7 -0
- package/dist/images/flags/4x3/ie.svg +7 -0
- package/dist/images/flags/4x3/il.svg +14 -0
- package/dist/images/flags/4x3/io.svg +130 -0
- package/dist/images/flags/4x3/je.svg +62 -0
- package/dist/images/flags/4x3/jo.svg +16 -0
- package/dist/images/flags/4x3/jp.svg +11 -0
- package/dist/images/flags/4x3/ke.svg +23 -0
- package/dist/images/flags/4x3/kg.svg +4 -0
- package/dist/images/flags/4x3/ki.svg +36 -0
- package/dist/images/flags/4x3/kn.svg +14 -0
- package/dist/images/flags/4x3/kp.svg +15 -0
- package/dist/images/flags/4x3/kr.svg +24 -0
- package/dist/images/flags/4x3/ky.svg +103 -0
- package/dist/images/flags/4x3/kz.svg +36 -0
- package/dist/images/flags/4x3/la.svg +12 -0
- package/dist/images/flags/4x3/lc.svg +8 -0
- package/dist/images/flags/4x3/li.svg +43 -0
- package/dist/images/flags/4x3/lk.svg +22 -0
- package/dist/images/flags/4x3/lr.svg +14 -0
- package/dist/images/flags/4x3/lt.svg +7 -0
- package/dist/images/flags/4x3/lu.svg +5 -0
- package/dist/images/flags/4x3/lv.svg +6 -0
- package/dist/images/flags/4x3/ly.svg +13 -0
- package/dist/images/flags/4x3/md.svg +70 -0
- package/dist/images/flags/4x3/me.svg +116 -0
- package/dist/images/flags/4x3/mf.svg +5 -0
- package/dist/images/flags/4x3/mh.svg +7 -0
- package/dist/images/flags/4x3/mk.svg +5 -0
- package/dist/images/flags/4x3/ml.svg +7 -0
- package/dist/images/flags/4x3/mn.svg +14 -0
- package/dist/images/flags/4x3/mq.svg +5 -0
- package/dist/images/flags/4x3/mr.svg +6 -0
- package/dist/images/flags/4x3/mt.svg +58 -0
- package/dist/images/flags/4x3/mu.svg +8 -0
- package/dist/images/flags/4x3/mv.svg +6 -0
- package/dist/images/flags/4x3/my.svg +26 -0
- package/dist/images/flags/4x3/mz.svg +21 -0
- package/dist/images/flags/4x3/na.svg +16 -0
- package/dist/images/flags/4x3/nc.svg +13 -0
- package/dist/images/flags/4x3/ne.svg +6 -0
- package/dist/images/flags/4x3/nf.svg +9 -0
- package/dist/images/flags/4x3/ng.svg +6 -0
- package/dist/images/flags/4x3/nl.svg +5 -0
- package/dist/images/flags/4x3/no.svg +7 -0
- package/dist/images/flags/4x3/np.svg +13 -0
- package/dist/images/flags/4x3/nr.svg +12 -0
- package/dist/images/flags/4x3/nz.svg +36 -0
- package/dist/images/flags/4x3/pe.svg +4 -0
- package/dist/images/flags/4x3/pg.svg +9 -0
- package/dist/images/flags/4x3/ph.svg +6 -0
- package/dist/images/flags/4x3/pm.svg +5 -0
- package/dist/images/flags/4x3/pn.svg +53 -0
- package/dist/images/flags/4x3/ps.svg +6 -0
- package/dist/images/flags/4x3/py.svg +157 -0
- package/dist/images/flags/4x3/qa.svg +4 -0
- package/dist/images/flags/4x3/re.svg +5 -0
- package/dist/images/flags/4x3/ro.svg +7 -0
- package/dist/images/flags/4x3/rs.svg +292 -0
- package/dist/images/flags/4x3/rw.svg +13 -0
- package/dist/images/flags/4x3/sa.svg +25 -0
- package/dist/images/flags/4x3/sc.svg +7 -0
- package/dist/images/flags/4x3/sd.svg +13 -0
- package/dist/images/flags/4x3/se.svg +4 -0
- package/dist/images/flags/4x3/sg.svg +13 -0
- package/dist/images/flags/4x3/sh-ac.svg +689 -0
- package/dist/images/flags/4x3/sh-hl.svg +164 -0
- package/dist/images/flags/4x3/sh-ta.svg +76 -0
- package/dist/images/flags/4x3/si.svg +18 -0
- package/dist/images/flags/4x3/sl.svg +7 -0
- package/dist/images/flags/4x3/sm.svg +75 -0
- package/dist/images/flags/4x3/so.svg +11 -0
- package/dist/images/flags/4x3/sr.svg +6 -0
- package/dist/images/flags/4x3/st.svg +16 -0
- package/dist/images/flags/4x3/sv.svg +593 -0
- package/dist/images/flags/4x3/sy.svg +6 -0
- package/dist/images/flags/4x3/td.svg +7 -0
- package/dist/images/flags/4x3/tg.svg +14 -0
- package/dist/images/flags/4x3/th.svg +7 -0
- package/dist/images/flags/4x3/tn.svg +4 -0
- package/dist/images/flags/4x3/tr.svg +8 -0
- package/dist/images/flags/4x3/tv.svg +9 -0
- package/dist/images/flags/4x3/tz.svg +13 -0
- package/dist/images/flags/4x3/ua.svg +6 -0
- package/dist/images/flags/4x3/um.svg +9 -0
- package/dist/images/flags/4x3/un.svg +16 -0
- package/dist/images/flags/4x3/va.svg +190 -0
- package/dist/images/flags/4x3/vc.svg +8 -0
- package/dist/images/flags/4x3/ve.svg +26 -0
- package/dist/images/flags/4x3/vg.svg +59 -0
- package/dist/images/flags/4x3/wf.svg +5 -0
- package/dist/images/flags/4x3/ws.svg +7 -0
- package/dist/images/flags/4x3/xx.svg +4 -0
- package/dist/images/flags/4x3/ye.svg +7 -0
- package/dist/images/flags/4x3/yt.svg +5 -0
- package/dist/images/flags/4x3/za.svg +17 -0
- package/dist/images/flags/4x3/zm.svg +27 -0
- package/dist/lib/autonumeric/autonumeric.js +0 -1
- package/dist/lib/autonumeric/autonumeric.js.map +1 -1
- package/dist/lib/bootstrap/bootstrap-datepicker.js +0 -1
- package/dist/lib/bootstrap/bootstrap-datepicker.js.map +1 -1
- package/dist/lib/bootstrap/bootstrap-icons.css +1 -1
- package/dist/lib/bootstrap/bootstrap-icons.css.map +1 -1
- package/dist/lib/bootstrap/bootstrap-icons.js +0 -1
- package/dist/lib/bootstrap/bootstrap.js +0 -1
- package/dist/lib/bootstrap/bootstrap.js.map +1 -1
- package/dist/lib/chartjs/chart.js.LICENSE.txt +1 -1281
- package/dist/lib/colorjs/color.js +0 -1
- package/dist/lib/colorjs/color.js.map +1 -1
- package/dist/lib/datatables/datatables.js.LICENSE.txt +0 -9853
- package/dist/lib/dompurify/dompurify.js.LICENSE.txt +0 -908
- package/dist/lib/editorjs/editor.js.LICENSE.txt +41 -5629
- package/dist/lib/fancyapps/fancyapps.js +0 -1
- package/dist/lib/fancyapps/fancyapps.js.map +1 -1
- package/dist/lib/filepond/filepond.js.LICENSE.txt +0 -2728
- package/dist/lib/fullcalendar/fullcalendar.js +1 -1
- package/dist/lib/fullcalendar/fullcalendar.js.LICENSE.txt +0 -3686
- package/dist/lib/fullcalendar/fullcalendar.js.map +1 -1
- package/dist/lib/image-compare-viewer.js +0 -1
- package/dist/lib/jquery/jquery-plugin.js +1 -2
- package/dist/lib/jquery/jquery-plugin.js.map +1 -1
- package/dist/lib/jquery/jquery.js.LICENSE.txt +0 -3232
- package/dist/lib/jstree/jstree.js +0 -1
- package/dist/lib/jstree/jstree.js.map +1 -1
- package/dist/lib/jszip/jszip.js.LICENSE.txt +0 -42
- package/dist/lib/lipis/flag-icons.css +1 -1
- package/dist/lib/lipis/flag-icons.css.map +1 -1
- package/dist/lib/lipis/flag-icons.js +0 -1
- package/dist/lib/moment/moment.js.LICENSE.txt +0 -619
- package/dist/lib/quilljs/quill.js +0 -1
- package/dist/lib/quilljs/quill.js.map +1 -1
- package/dist/lib/rellax/rellax.js +0 -1
- package/dist/lib/rellax/rellax.js.map +1 -1
- package/dist/lib/select2/select2.js +1 -2
- package/dist/lib/select2/select2.js.map +1 -1
- package/dist/lib/swiperjs/swiper-plugin.js +0 -1
- package/dist/lib/swiperjs/swiper-plugin.js.map +1 -1
- package/dist/lib/swiperjs/swiper.js +0 -1
- package/dist/lib/swiperjs/swiper.js.map +1 -1
- package/dist/lib/videojs/video.js.LICENSE.txt +6 -27809
- package/dist/lib/vivus/vivus.js.LICENSE.txt +0 -518
- package/index.js +2 -1
- package/package.json +23 -21
- package/src/class/DeferredContent.js +110 -0
- package/dist/backend/body-end.js.LICENSE.txt +0 -44
- package/dist/backend/lib.js.LICENSE.txt +0 -1
- package/dist/frontend/body-end.js.LICENSE.txt +0 -44
- package/dist/frontend/head.js.LICENSE.txt +0 -98
- package/dist/frontend/lib.js.LICENSE.txt +0 -239
- package/dist/lib/autonumeric/autonumeric.js.LICENSE.txt +0 -49
- package/dist/lib/bootstrap/bootstrap-datepicker.js.LICENSE.txt +0 -44
- package/dist/lib/bootstrap/bootstrap-icons.js.LICENSE.txt +0 -1
- package/dist/lib/bootstrap/bootstrap.js.LICENSE.txt +0 -44
- package/dist/lib/colorjs/color.js.LICENSE.txt +0 -7
- package/dist/lib/fancyapps/fancyapps.js.LICENSE.txt +0 -9
- package/dist/lib/image-compare-viewer.js.LICENSE.txt +0 -3
- package/dist/lib/jquery/jquery-plugin.js.LICENSE.txt +0 -1200
- package/dist/lib/jstree/jstree.js.LICENSE.txt +0 -44
- package/dist/lib/lipis/flag-icons.js.LICENSE.txt +0 -1
- package/dist/lib/pdfmake/pdfmake.js +0 -3
- package/dist/lib/pdfmake/pdfmake.js.LICENSE.txt +0 -13375
- package/dist/lib/pdfmake/pdfmake.js.map +0 -1
- package/dist/lib/quilljs/quill.js.LICENSE.txt +0 -3068
- package/dist/lib/rellax/rellax.js.LICENSE.txt +0 -143
- package/dist/lib/select2/select2.js.LICENSE.txt +0 -3761
- package/dist/lib/swiperjs/swiper-plugin.js.LICENSE.txt +0 -1174
- package/dist/lib/swiperjs/swiper.js.LICENSE.txt +0 -673
- /package/dist/images/{ad.svg → flags/1x1/ad.svg} +0 -0
- /package/dist/images/{ae.svg → flags/1x1/ae.svg} +0 -0
- /package/dist/images/{af.svg → flags/1x1/af.svg} +0 -0
- /package/dist/images/{ag.svg → flags/1x1/ag.svg} +0 -0
- /package/dist/images/{ai.svg → flags/1x1/ai.svg} +0 -0
- /package/dist/images/{al.svg → flags/1x1/al.svg} +0 -0
- /package/dist/images/{am.svg → flags/1x1/am.svg} +0 -0
- /package/dist/images/{ao.svg → flags/1x1/ao.svg} +0 -0
- /package/dist/images/{aq.svg → flags/1x1/aq.svg} +0 -0
- /package/dist/images/{ar.svg → flags/1x1/ar.svg} +0 -0
- /package/dist/images/{arab.svg → flags/1x1/arab.svg} +0 -0
- /package/dist/images/{as.svg → flags/1x1/as.svg} +0 -0
- /package/dist/images/{asean.svg → flags/1x1/asean.svg} +0 -0
- /package/dist/images/{at.svg → flags/1x1/at.svg} +0 -0
- /package/dist/images/{au.svg → flags/1x1/au.svg} +0 -0
- /package/dist/images/{aw.svg → flags/1x1/aw.svg} +0 -0
- /package/dist/images/{ax.svg → flags/1x1/ax.svg} +0 -0
- /package/dist/images/{az.svg → flags/1x1/az.svg} +0 -0
- /package/dist/images/{ba.svg → flags/1x1/ba.svg} +0 -0
- /package/dist/images/{bb.svg → flags/1x1/bb.svg} +0 -0
- /package/dist/images/{bd.svg → flags/1x1/bd.svg} +0 -0
- /package/dist/images/{be.svg → flags/1x1/be.svg} +0 -0
- /package/dist/images/{bf.svg → flags/1x1/bf.svg} +0 -0
- /package/dist/images/{bg.svg → flags/1x1/bg.svg} +0 -0
- /package/dist/images/{bh.svg → flags/1x1/bh.svg} +0 -0
- /package/dist/images/{bi.svg → flags/1x1/bi.svg} +0 -0
- /package/dist/images/{bj.svg → flags/1x1/bj.svg} +0 -0
- /package/dist/images/{bl.svg → flags/1x1/bl.svg} +0 -0
- /package/dist/images/{bm.svg → flags/1x1/bm.svg} +0 -0
- /package/dist/images/{bn.svg → flags/1x1/bn.svg} +0 -0
- /package/dist/images/{bo.svg → flags/1x1/bo.svg} +0 -0
- /package/dist/images/{bq.svg → flags/1x1/bq.svg} +0 -0
- /package/dist/images/{br.svg → flags/1x1/br.svg} +0 -0
- /package/dist/images/{bs.svg → flags/1x1/bs.svg} +0 -0
- /package/dist/images/{bt.svg → flags/1x1/bt.svg} +0 -0
- /package/dist/images/{bv.svg → flags/1x1/bv.svg} +0 -0
- /package/dist/images/{bw.svg → flags/1x1/bw.svg} +0 -0
- /package/dist/images/{by.svg → flags/1x1/by.svg} +0 -0
- /package/dist/images/{bz.svg → flags/1x1/bz.svg} +0 -0
- /package/dist/images/{ca.svg → flags/1x1/ca.svg} +0 -0
- /package/dist/images/{cc.svg → flags/1x1/cc.svg} +0 -0
- /package/dist/images/{cd.svg → flags/1x1/cd.svg} +0 -0
- /package/dist/images/{cefta.svg → flags/1x1/cefta.svg} +0 -0
- /package/dist/images/{cf.svg → flags/1x1/cf.svg} +0 -0
- /package/dist/images/{cg.svg → flags/1x1/cg.svg} +0 -0
- /package/dist/images/{ch.svg → flags/1x1/ch.svg} +0 -0
- /package/dist/images/{ci.svg → flags/1x1/ci.svg} +0 -0
- /package/dist/images/{ck.svg → flags/1x1/ck.svg} +0 -0
- /package/dist/images/{cl.svg → flags/1x1/cl.svg} +0 -0
- /package/dist/images/{cm.svg → flags/1x1/cm.svg} +0 -0
- /package/dist/images/{co.svg → flags/1x1/co.svg} +0 -0
- /package/dist/images/{cp.svg → flags/1x1/cp.svg} +0 -0
- /package/dist/images/{cr.svg → flags/1x1/cr.svg} +0 -0
- /package/dist/images/{cx.svg → flags/1x1/cx.svg} +0 -0
- /package/dist/images/{cy.svg → flags/1x1/cy.svg} +0 -0
- /package/dist/images/{cz.svg → flags/1x1/cz.svg} +0 -0
- /package/dist/images/{dg.svg → flags/1x1/dg.svg} +0 -0
- /package/dist/images/{dj.svg → flags/1x1/dj.svg} +0 -0
- /package/dist/images/{dm.svg → flags/1x1/dm.svg} +0 -0
- /package/dist/images/{dz.svg → flags/1x1/dz.svg} +0 -0
- /package/dist/images/{eac.svg → flags/1x1/eac.svg} +0 -0
- /package/dist/images/{ec.svg → flags/1x1/ec.svg} +0 -0
- /package/dist/images/{eg.svg → flags/1x1/eg.svg} +0 -0
- /package/dist/images/{es-ct.svg → flags/1x1/es-ct.svg} +0 -0
- /package/dist/images/{es-ga.svg → flags/1x1/es-ga.svg} +0 -0
- /package/dist/images/{es-pv.svg → flags/1x1/es-pv.svg} +0 -0
- /package/dist/images/{es.svg → flags/1x1/es.svg} +0 -0
- /package/dist/images/{et.svg → flags/1x1/et.svg} +0 -0
- /package/dist/images/{fk.svg → flags/1x1/fk.svg} +0 -0
- /package/dist/images/{fm.svg → flags/1x1/fm.svg} +0 -0
- /package/dist/images/{fo.svg → flags/1x1/fo.svg} +0 -0
- /package/dist/images/{ga.svg → flags/1x1/ga.svg} +0 -0
- /package/dist/images/{gb-eng.svg → flags/1x1/gb-eng.svg} +0 -0
- /package/dist/images/{gb-nir.svg → flags/1x1/gb-nir.svg} +0 -0
- /package/dist/images/{gb-sct.svg → flags/1x1/gb-sct.svg} +0 -0
- /package/dist/images/{gb-wls.svg → flags/1x1/gb-wls.svg} +0 -0
- /package/dist/images/{gd.svg → flags/1x1/gd.svg} +0 -0
- /package/dist/images/{ge.svg → flags/1x1/ge.svg} +0 -0
- /package/dist/images/{gg.svg → flags/1x1/gg.svg} +0 -0
- /package/dist/images/{gi.svg → flags/1x1/gi.svg} +0 -0
- /package/dist/images/{gl.svg → flags/1x1/gl.svg} +0 -0
- /package/dist/images/{gm.svg → flags/1x1/gm.svg} +0 -0
- /package/dist/images/{hk.svg → flags/1x1/hk.svg} +0 -0
- /package/dist/images/{hr.svg → flags/1x1/hr.svg} +0 -0
- /package/dist/images/{ic.svg → flags/1x1/ic.svg} +0 -0
- /package/dist/images/{ie.svg → flags/1x1/ie.svg} +0 -0
- /package/dist/images/{il.svg → flags/1x1/il.svg} +0 -0
- /package/dist/images/{io.svg → flags/1x1/io.svg} +0 -0
- /package/dist/images/{je.svg → flags/1x1/je.svg} +0 -0
- /package/dist/images/{jo.svg → flags/1x1/jo.svg} +0 -0
- /package/dist/images/{jp.svg → flags/1x1/jp.svg} +0 -0
- /package/dist/images/{ke.svg → flags/1x1/ke.svg} +0 -0
- /package/dist/images/{kg.svg → flags/1x1/kg.svg} +0 -0
- /package/dist/images/{ki.svg → flags/1x1/ki.svg} +0 -0
- /package/dist/images/{kn.svg → flags/1x1/kn.svg} +0 -0
- /package/dist/images/{kp.svg → flags/1x1/kp.svg} +0 -0
- /package/dist/images/{kr.svg → flags/1x1/kr.svg} +0 -0
- /package/dist/images/{ky.svg → flags/1x1/ky.svg} +0 -0
- /package/dist/images/{kz.svg → flags/1x1/kz.svg} +0 -0
- /package/dist/images/{la.svg → flags/1x1/la.svg} +0 -0
- /package/dist/images/{lc.svg → flags/1x1/lc.svg} +0 -0
- /package/dist/images/{li.svg → flags/1x1/li.svg} +0 -0
- /package/dist/images/{lk.svg → flags/1x1/lk.svg} +0 -0
- /package/dist/images/{lr.svg → flags/1x1/lr.svg} +0 -0
- /package/dist/images/{lt.svg → flags/1x1/lt.svg} +0 -0
- /package/dist/images/{lu.svg → flags/1x1/lu.svg} +0 -0
- /package/dist/images/{lv.svg → flags/1x1/lv.svg} +0 -0
- /package/dist/images/{ly.svg → flags/1x1/ly.svg} +0 -0
- /package/dist/images/{md.svg → flags/1x1/md.svg} +0 -0
- /package/dist/images/{me.svg → flags/1x1/me.svg} +0 -0
- /package/dist/images/{mf.svg → flags/1x1/mf.svg} +0 -0
- /package/dist/images/{mh.svg → flags/1x1/mh.svg} +0 -0
- /package/dist/images/{mk.svg → flags/1x1/mk.svg} +0 -0
- /package/dist/images/{ml.svg → flags/1x1/ml.svg} +0 -0
- /package/dist/images/{mn.svg → flags/1x1/mn.svg} +0 -0
- /package/dist/images/{mq.svg → flags/1x1/mq.svg} +0 -0
- /package/dist/images/{mr.svg → flags/1x1/mr.svg} +0 -0
- /package/dist/images/{mt.svg → flags/1x1/mt.svg} +0 -0
- /package/dist/images/{mu.svg → flags/1x1/mu.svg} +0 -0
- /package/dist/images/{mv.svg → flags/1x1/mv.svg} +0 -0
- /package/dist/images/{my.svg → flags/1x1/my.svg} +0 -0
- /package/dist/images/{mz.svg → flags/1x1/mz.svg} +0 -0
- /package/dist/images/{na.svg → flags/1x1/na.svg} +0 -0
- /package/dist/images/{nc.svg → flags/1x1/nc.svg} +0 -0
- /package/dist/images/{ne.svg → flags/1x1/ne.svg} +0 -0
- /package/dist/images/{nf.svg → flags/1x1/nf.svg} +0 -0
- /package/dist/images/{ng.svg → flags/1x1/ng.svg} +0 -0
- /package/dist/images/{nl.svg → flags/1x1/nl.svg} +0 -0
- /package/dist/images/{no.svg → flags/1x1/no.svg} +0 -0
- /package/dist/images/{np.svg → flags/1x1/np.svg} +0 -0
- /package/dist/images/{nr.svg → flags/1x1/nr.svg} +0 -0
- /package/dist/images/{nz.svg → flags/1x1/nz.svg} +0 -0
- /package/dist/images/{pe.svg → flags/1x1/pe.svg} +0 -0
- /package/dist/images/{pg.svg → flags/1x1/pg.svg} +0 -0
- /package/dist/images/{ph.svg → flags/1x1/ph.svg} +0 -0
- /package/dist/images/{pm.svg → flags/1x1/pm.svg} +0 -0
- /package/dist/images/{pn.svg → flags/1x1/pn.svg} +0 -0
- /package/dist/images/{ps.svg → flags/1x1/ps.svg} +0 -0
- /package/dist/images/{py.svg → flags/1x1/py.svg} +0 -0
- /package/dist/images/{qa.svg → flags/1x1/qa.svg} +0 -0
- /package/dist/images/{re.svg → flags/1x1/re.svg} +0 -0
- /package/dist/images/{ro.svg → flags/1x1/ro.svg} +0 -0
- /package/dist/images/{rs.svg → flags/1x1/rs.svg} +0 -0
- /package/dist/images/{rw.svg → flags/1x1/rw.svg} +0 -0
- /package/dist/images/{sa.svg → flags/1x1/sa.svg} +0 -0
- /package/dist/images/{sc.svg → flags/1x1/sc.svg} +0 -0
- /package/dist/images/{sd.svg → flags/1x1/sd.svg} +0 -0
- /package/dist/images/{se.svg → flags/1x1/se.svg} +0 -0
- /package/dist/images/{sg.svg → flags/1x1/sg.svg} +0 -0
- /package/dist/images/{sh-ac.svg → flags/1x1/sh-ac.svg} +0 -0
- /package/dist/images/{sh-hl.svg → flags/1x1/sh-hl.svg} +0 -0
- /package/dist/images/{sh-ta.svg → flags/1x1/sh-ta.svg} +0 -0
- /package/dist/images/{si.svg → flags/1x1/si.svg} +0 -0
- /package/dist/images/{sl.svg → flags/1x1/sl.svg} +0 -0
- /package/dist/images/{sm.svg → flags/1x1/sm.svg} +0 -0
- /package/dist/images/{so.svg → flags/1x1/so.svg} +0 -0
- /package/dist/images/{sr.svg → flags/1x1/sr.svg} +0 -0
- /package/dist/images/{st.svg → flags/1x1/st.svg} +0 -0
- /package/dist/images/{sv.svg → flags/1x1/sv.svg} +0 -0
- /package/dist/images/{sy.svg → flags/1x1/sy.svg} +0 -0
- /package/dist/images/{td.svg → flags/1x1/td.svg} +0 -0
- /package/dist/images/{tg.svg → flags/1x1/tg.svg} +0 -0
- /package/dist/images/{th.svg → flags/1x1/th.svg} +0 -0
- /package/dist/images/{tn.svg → flags/1x1/tn.svg} +0 -0
- /package/dist/images/{tr.svg → flags/1x1/tr.svg} +0 -0
- /package/dist/images/{tv.svg → flags/1x1/tv.svg} +0 -0
- /package/dist/images/{tz.svg → flags/1x1/tz.svg} +0 -0
- /package/dist/images/{ua.svg → flags/1x1/ua.svg} +0 -0
- /package/dist/images/{um.svg → flags/1x1/um.svg} +0 -0
- /package/dist/images/{un.svg → flags/1x1/un.svg} +0 -0
- /package/dist/images/{va.svg → flags/1x1/va.svg} +0 -0
- /package/dist/images/{vc.svg → flags/1x1/vc.svg} +0 -0
- /package/dist/images/{ve.svg → flags/1x1/ve.svg} +0 -0
- /package/dist/images/{vg.svg → flags/1x1/vg.svg} +0 -0
- /package/dist/images/{wf.svg → flags/1x1/wf.svg} +0 -0
- /package/dist/images/{ws.svg → flags/1x1/ws.svg} +0 -0
- /package/dist/images/{xx.svg → flags/1x1/xx.svg} +0 -0
- /package/dist/images/{ye.svg → flags/1x1/ye.svg} +0 -0
- /package/dist/images/{yt.svg → flags/1x1/yt.svg} +0 -0
- /package/dist/images/{za.svg → flags/1x1/za.svg} +0 -0
- /package/dist/images/{zm.svg → flags/1x1/zm.svg} +0 -0
- /package/dist/images/{cn.svg → flags/4x3/cn.svg} +0 -0
- /package/dist/images/{cu.svg → flags/4x3/cu.svg} +0 -0
- /package/dist/images/{cv.svg → flags/4x3/cv.svg} +0 -0
- /package/dist/images/{cw.svg → flags/4x3/cw.svg} +0 -0
- /package/dist/images/{de.svg → flags/4x3/de.svg} +0 -0
- /package/dist/images/{dk.svg → flags/4x3/dk.svg} +0 -0
- /package/dist/images/{do.svg → flags/4x3/do.svg} +0 -0
- /package/dist/images/{ee.svg → flags/4x3/ee.svg} +0 -0
- /package/dist/images/{eh.svg → flags/4x3/eh.svg} +0 -0
- /package/dist/images/{er.svg → flags/4x3/er.svg} +0 -0
- /package/dist/images/{eu.svg → flags/4x3/eu.svg} +0 -0
- /package/dist/images/{fi.svg → flags/4x3/fi.svg} +0 -0
- /package/dist/images/{fj.svg → flags/4x3/fj.svg} +0 -0
- /package/dist/images/{fr.svg → flags/4x3/fr.svg} +0 -0
- /package/dist/images/{gb.svg → flags/4x3/gb.svg} +0 -0
- /package/dist/images/{gf.svg → flags/4x3/gf.svg} +0 -0
- /package/dist/images/{gh.svg → flags/4x3/gh.svg} +0 -0
- /package/dist/images/{gn.svg → flags/4x3/gn.svg} +0 -0
- /package/dist/images/{gp.svg → flags/4x3/gp.svg} +0 -0
- /package/dist/images/{gq.svg → flags/4x3/gq.svg} +0 -0
- /package/dist/images/{gr.svg → flags/4x3/gr.svg} +0 -0
- /package/dist/images/{gs.svg → flags/4x3/gs.svg} +0 -0
- /package/dist/images/{gt.svg → flags/4x3/gt.svg} +0 -0
- /package/dist/images/{gu.svg → flags/4x3/gu.svg} +0 -0
- /package/dist/images/{gw.svg → flags/4x3/gw.svg} +0 -0
- /package/dist/images/{gy.svg → flags/4x3/gy.svg} +0 -0
- /package/dist/images/{hm.svg → flags/4x3/hm.svg} +0 -0
- /package/dist/images/{hn.svg → flags/4x3/hn.svg} +0 -0
- /package/dist/images/{ht.svg → flags/4x3/ht.svg} +0 -0
- /package/dist/images/{hu.svg → flags/4x3/hu.svg} +0 -0
- /package/dist/images/{id.svg → flags/4x3/id.svg} +0 -0
- /package/dist/images/{im.svg → flags/4x3/im.svg} +0 -0
- /package/dist/images/{in.svg → flags/4x3/in.svg} +0 -0
- /package/dist/images/{iq.svg → flags/4x3/iq.svg} +0 -0
- /package/dist/images/{ir.svg → flags/4x3/ir.svg} +0 -0
- /package/dist/images/{is.svg → flags/4x3/is.svg} +0 -0
- /package/dist/images/{it.svg → flags/4x3/it.svg} +0 -0
- /package/dist/images/{jm.svg → flags/4x3/jm.svg} +0 -0
- /package/dist/images/{kh.svg → flags/4x3/kh.svg} +0 -0
- /package/dist/images/{km.svg → flags/4x3/km.svg} +0 -0
- /package/dist/images/{kw.svg → flags/4x3/kw.svg} +0 -0
- /package/dist/images/{lb.svg → flags/4x3/lb.svg} +0 -0
- /package/dist/images/{ls.svg → flags/4x3/ls.svg} +0 -0
- /package/dist/images/{ma.svg → flags/4x3/ma.svg} +0 -0
- /package/dist/images/{mc.svg → flags/4x3/mc.svg} +0 -0
- /package/dist/images/{mg.svg → flags/4x3/mg.svg} +0 -0
- /package/dist/images/{mm.svg → flags/4x3/mm.svg} +0 -0
- /package/dist/images/{mo.svg → flags/4x3/mo.svg} +0 -0
- /package/dist/images/{mp.svg → flags/4x3/mp.svg} +0 -0
- /package/dist/images/{ms.svg → flags/4x3/ms.svg} +0 -0
- /package/dist/images/{mw.svg → flags/4x3/mw.svg} +0 -0
- /package/dist/images/{mx.svg → flags/4x3/mx.svg} +0 -0
- /package/dist/images/{ni.svg → flags/4x3/ni.svg} +0 -0
- /package/dist/images/{nu.svg → flags/4x3/nu.svg} +0 -0
- /package/dist/images/{om.svg → flags/4x3/om.svg} +0 -0
- /package/dist/images/{pa.svg → flags/4x3/pa.svg} +0 -0
- /package/dist/images/{pc.svg → flags/4x3/pc.svg} +0 -0
- /package/dist/images/{pf.svg → flags/4x3/pf.svg} +0 -0
- /package/dist/images/{pk.svg → flags/4x3/pk.svg} +0 -0
- /package/dist/images/{pl.svg → flags/4x3/pl.svg} +0 -0
- /package/dist/images/{pr.svg → flags/4x3/pr.svg} +0 -0
- /package/dist/images/{pt.svg → flags/4x3/pt.svg} +0 -0
- /package/dist/images/{pw.svg → flags/4x3/pw.svg} +0 -0
- /package/dist/images/{ru.svg → flags/4x3/ru.svg} +0 -0
- /package/dist/images/{sb.svg → flags/4x3/sb.svg} +0 -0
- /package/dist/images/{sh.svg → flags/4x3/sh.svg} +0 -0
- /package/dist/images/{sj.svg → flags/4x3/sj.svg} +0 -0
- /package/dist/images/{sk.svg → flags/4x3/sk.svg} +0 -0
- /package/dist/images/{sn.svg → flags/4x3/sn.svg} +0 -0
- /package/dist/images/{ss.svg → flags/4x3/ss.svg} +0 -0
- /package/dist/images/{sx.svg → flags/4x3/sx.svg} +0 -0
- /package/dist/images/{sz.svg → flags/4x3/sz.svg} +0 -0
- /package/dist/images/{tc.svg → flags/4x3/tc.svg} +0 -0
- /package/dist/images/{tf.svg → flags/4x3/tf.svg} +0 -0
- /package/dist/images/{tj.svg → flags/4x3/tj.svg} +0 -0
- /package/dist/images/{tk.svg → flags/4x3/tk.svg} +0 -0
- /package/dist/images/{tl.svg → flags/4x3/tl.svg} +0 -0
- /package/dist/images/{tm.svg → flags/4x3/tm.svg} +0 -0
- /package/dist/images/{to.svg → flags/4x3/to.svg} +0 -0
- /package/dist/images/{tt.svg → flags/4x3/tt.svg} +0 -0
- /package/dist/images/{tw.svg → flags/4x3/tw.svg} +0 -0
- /package/dist/images/{ug.svg → flags/4x3/ug.svg} +0 -0
- /package/dist/images/{us.svg → flags/4x3/us.svg} +0 -0
- /package/dist/images/{uy.svg → flags/4x3/uy.svg} +0 -0
- /package/dist/images/{uz.svg → flags/4x3/uz.svg} +0 -0
- /package/dist/images/{vi.svg → flags/4x3/vi.svg} +0 -0
- /package/dist/images/{vn.svg → flags/4x3/vn.svg} +0 -0
- /package/dist/images/{vu.svg → flags/4x3/vu.svg} +0 -0
- /package/dist/images/{xk.svg → flags/4x3/xk.svg} +0 -0
- /package/dist/images/{zw.svg → flags/4x3/zw.svg} +0 -0
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
/*! For license information please see swiper-plugin.js.LICENSE.txt */
|
|
2
1
|
(()=>{var t={5182(t){t.exports="function createFashionSlider(el) {\n\n const swiperEl = el.querySelector('.swiper');\n const autoplayDelay = swiperEl.dataset.swiperAutoplayDelay;\n\n let navigationLocked = false;\n let transitionDisabled = false;\n let frameId;\n\n // eslint-disable-next-line\n const disableTransitions = (el) => {\n el.classList.add('fashion-slider-no-transition');\n transitionDisabled = true;\n cancelAnimationFrame(frameId);\n frameId = requestAnimationFrame(() => {\n el.classList.remove('fashion-slider-no-transition');\n transitionDisabled = false;\n navigationLocked = false;\n });\n };\n\n let fashionSlider;\n\n const onNextClick = () => { if (!navigationLocked) { fashionSlider.slideNext(); } };\n const onPrevClick = () => { if (!navigationLocked) { fashionSlider.slidePrev(); } };\n\n const initNavigation = (swiper) => {\n // Use lock to control the button locking time without using the button component that comes with it\n swiper.el\n .querySelector('.fashion-slider-button-next')\n .addEventListener('click', onNextClick);\n swiper.el\n .querySelector('.fashion-slider-button-prev')\n .addEventListener('click', onPrevClick);\n };\n\n const destroyNavigation = (swiper) => {\n swiper.el\n .querySelector('.fashion-slider-button-next')\n .removeEventListener('click', onNextClick);\n swiper.el\n .querySelector('.fashion-slider-button-prev')\n .removeEventListener('click', onPrevClick);\n };\n\n let loopFixed;\n\n let autoplay;\n\n if (autoplayDelay == false) {\n autoplay = false;\n } else if (autoplayDelay == true) {\n autoplay = true;\n } else {\n autoplay = { delay: autoplayDelay };\n }\n\n fashionSlider = new Swiper(swiperEl, {\n speed: 1300,\n allowTouchMove: false, // no touch swiping\n parallax: true, // text parallax\n autoplay: autoplay, // text parallax\n on: {\n loopFix() {\n loopFixed = false;\n },\n transitionStart(swiper) {\n\n const isLoop = swiper.params.loop;\n\n if (isLoop) { \n if (loopFixed) { return; }\n if (!loopFixed) { loopFixed = true; }\n }\n\n // eslint-disable-next-line\n const { slides, previousIndex, activeIndex, el } = swiper;\n if (!transitionDisabled) navigationLocked = true; // lock navigation buttons\n\n const activeSlide = slides[activeIndex];\n const previousSlide = slides[previousIndex];\n const previousImageScale = previousSlide.querySelector('.fashion-slider-scale'); // image wrapper\n const previousImage = previousSlide.querySelector('img'); // current image\n const activeImage = activeSlide.querySelector('img'); // next image\n const direction = activeIndex - previousIndex;\n const bgColor = activeSlide.getAttribute('data-slide-bg-color');\n\n // background color animation\n if(bgColor == null) {\n colorjs.average(activeImage.src, { amount: 1, format: 'hex' }).then(color => { el.style['background-color'] = color; })\n } else {\n el.style['background-color'] = bgColor;\n }\n\n previousImageScale.style.transform = 'scale(0.6)';\n previousImage.style.transitionDuration = '1000ms';\n previousImage.style.transform = 'scale(1.2)'; // image scaling parallax\n const previousSlideTitle = previousSlide.querySelector('.fashion-slider-title-text');\n previousSlideTitle.style.transition = '1000ms';\n previousSlideTitle.style.color = 'rgba(255,255,255,0)'; // text transparency animation\n\n const onTransitionEnd = (e) => {\n\n if (e.target !== previousImage) return;\n\n previousImage.removeEventListener('transitionend', onTransitionEnd);\n activeImage.style.transitionDuration = '1300ms';\n activeImage.style.transform = 'translate3d(0, 0, 0) scale(1.2)'; // image shift parallax\n previousImage.style.transitionDuration = '1300ms';\n previousImage.style.transform = `translate3d(${\n 60 * direction\n }%, 0, 0) scale(1.2)`;\n\n };\n\n previousImage.addEventListener('transitionend', onTransitionEnd);\n\n },\n transitionEnd(swiper) {\n\n // eslint-disable-next-line\n const { slides, activeIndex, el } = swiper;\n const activeSlide = slides[activeIndex];\n const activeImage = activeSlide.querySelector('img');\n const isLoop = swiper.params.loop;\n\n activeSlide.querySelector('.fashion-slider-scale').style.transform = 'scale(1)';\n activeImage.style.transitionDuration = '1000ms';\n activeImage.style.transform = 'scale(1)';\n\n const activeSlideTitle = activeSlide.querySelector('.fashion-slider-title-text');\n activeSlideTitle.style.transition = '1000ms';\n activeSlideTitle.style.color = 'rgba(255,255,255,1)'; // text transparency animation\n\n const onTransitionEnd = (e) => {\n if (e.target !== activeImage) return;\n activeImage.removeEventListener('transitionend', onTransitionEnd);\n navigationLocked = false;\n };\n\n activeImage.addEventListener('transitionend', onTransitionEnd);\n \n if (!isLoop) {\n\n // First and last, disable button\n if (activeIndex === 0) {\n el.querySelector('.fashion-slider-button-prev').classList.add('fashion-slider-button-disabled');\n } else {\n el.querySelector('.fashion-slider-button-prev').classList.remove('fashion-slider-button-disabled');\n }\n\n if (activeIndex === slides.length - 1) {\n el.querySelector('.fashion-slider-button-next').classList.add('fashion-slider-button-disabled');\n } else {\n el.querySelector('.fashion-slider-button-next').classList.remove('fashion-slider-button-disabled');\n }\n\n }\n },\n beforeInit(swiper) {\n // eslint-disable-next-line\n const { el } = swiper;\n // disable initial transition\n disableTransitions(el);\n },\n init(swiper) {\n\n // Set initial slide bg color\n // eslint-disable-next-line\n const { slides, activeIndex, el } = swiper;\n\n const slide = slides[activeIndex];\n const activeImage = slide.querySelector('img');\n\n // set current bg color\n const bgColor = slides[activeIndex].getAttribute('data-slide-bg-color');\n\n if(bgColor == null) {\n colorjs.average(activeImage.src, { amount: 1, format: 'hex' }).then(color => { el.style['background-color'] = color; })\n } else {\n el.style['background-color'] = bgColor;\n }\n \n // trigger the transitionEnd event once during initialization\n swiper.emit('transitionEnd');\n\n // init navigation\n initNavigation(swiper);\n\n },\n resize(swiper) { disableTransitions(swiper.el); },\n destroy(swiper) { destroyNavigation(swiper); }\n }\n\n });\n\n return fashionSlider;\n\n}"},4642(t){t.exports=function(t){function e(t){"undefined"!=typeof console&&(console.error||console.log)("[Script Loader]",t)}try{"undefined"!=typeof execScript&&"undefined"!=typeof attachEvent&&"undefined"==typeof addEventListener?execScript(t):"undefined"!=typeof eval?eval.call(null,t):e("EvalError: No eval function available")}catch(t){e(t)}}},5945(t,e,i){i(4642)(i(5182))}};const e={};function i(s){const r=e[s];if(void 0!==r)return r.exports;const n=e[s]={exports:{}};return t[s](n,n.exports,i),n.exports}(()=>{"use strict";function t(t){let e=t[0],i=t[1],s=t[2];return Math.sqrt(e*e+i*i+s*s)}function e(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function s(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t}function r(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t}function n(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function a(t){let e=t[0],i=t[1],s=t[2];return e*e+i*i+s*s}function o(t,e){let i=e[0],s=e[1],r=e[2],n=i*i+s*s+r*r;return n>0&&(n=1/Math.sqrt(n)),t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t}function l(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function h(t,e,i){let s=e[0],r=e[1],n=e[2],a=i[0],o=i[1],l=i[2];return t[0]=r*l-n*o,t[1]=n*a-s*l,t[2]=s*o-r*a,t}"undefined"!=typeof window&&window.SwiperElementRegisterParams&&window.SwiperElementRegisterParams(["slicerEffect"]);const c=function(){const t=[0,0,0],i=[0,0,0];return function(s,r){e(t,s),e(i,r),o(t,t),o(i,i);let n=l(t,i);return n>1?0:n<-1?Math.PI:Math.acos(n)}}();class u extends Array{constructor(t=0,e=t,i=t){return super(t,e,i),this}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(t){this[0]=t}set y(t){this[1]=t}set z(t){this[2]=t}set(t,e=t,i=t){return t.length?this.copy(t):(function(t,e,i,s){t[0]=e,t[1]=i,t[2]=s}(this,t,e,i),this)}copy(t){return e(this,t),this}add(t,e){return e?s(this,t,e):s(this,this,t),this}sub(t,e){return e?r(this,t,e):r(this,this,t),this}multiply(t){var e,i,s;return t.length?(i=this,s=t,(e=this)[0]=i[0]*s[0],e[1]=i[1]*s[1],e[2]=i[2]*s[2]):n(this,this,t),this}divide(t){var e,i,s;return t.length?(i=this,s=t,(e=this)[0]=i[0]/s[0],e[1]=i[1]/s[1],e[2]=i[2]/s[2]):n(this,this,1/t),this}inverse(t=this){var e,i;return i=t,(e=this)[0]=1/i[0],e[1]=1/i[1],e[2]=1/i[2],this}len(){return t(this)}distance(e){return e?function(t,e){let i=e[0]-t[0],s=e[1]-t[1],r=e[2]-t[2];return Math.sqrt(i*i+s*s+r*r)}(this,e):t(this)}squaredLen(){return a(this)}squaredDistance(t){return t?function(t,e){let i=e[0]-t[0],s=e[1]-t[1],r=e[2]-t[2];return i*i+s*s+r*r}(this,t):a(this)}negate(t=this){var e,i;return i=t,(e=this)[0]=-i[0],e[1]=-i[1],e[2]=-i[2],this}cross(t,e){return e?h(this,t,e):h(this,this,t),this}scale(t){return n(this,this,t),this}normalize(){return o(this,this),this}dot(t){return l(this,t)}equals(t){return i=t,(e=this)[0]===i[0]&&e[1]===i[1]&&e[2]===i[2];var e,i}applyMatrix3(t){return function(t,e,i){let s=e[0],r=e[1],n=e[2];t[0]=s*i[0]+r*i[3]+n*i[6],t[1]=s*i[1]+r*i[4]+n*i[7],t[2]=s*i[2]+r*i[5]+n*i[8]}(this,this,t),this}applyMatrix4(t){return function(t,e,i){let s=e[0],r=e[1],n=e[2],a=i[3]*s+i[7]*r+i[11]*n+i[15];a=a||1,t[0]=(i[0]*s+i[4]*r+i[8]*n+i[12])/a,t[1]=(i[1]*s+i[5]*r+i[9]*n+i[13])/a,t[2]=(i[2]*s+i[6]*r+i[10]*n+i[14])/a}(this,this,t),this}scaleRotateMatrix4(t){return function(t,e,i){let s=e[0],r=e[1],n=e[2],a=i[3]*s+i[7]*r+i[11]*n+i[15];a=a||1,t[0]=(i[0]*s+i[4]*r+i[8]*n)/a,t[1]=(i[1]*s+i[5]*r+i[9]*n)/a,t[2]=(i[2]*s+i[6]*r+i[10]*n)/a}(this,this,t),this}applyQuaternion(t){return function(t,e,i){let s=e[0],r=e[1],n=e[2],a=i[0],o=i[1],l=i[2],h=o*n-l*r,c=l*s-a*n,u=a*r-o*s,d=o*u-l*c,m=l*h-a*u,p=a*c-o*h,g=2*i[3];h*=g,c*=g,u*=g,d*=2,m*=2,p*=2,t[0]=s+h+d,t[1]=r+c+m,t[2]=n+u+p}(this,this,t),this}angle(t){return c(this,t)}lerp(t,e){return function(t,e,i,s){let r=e[0],n=e[1],a=e[2];t[0]=r+s*(i[0]-r),t[1]=n+s*(i[1]-n),t[2]=a+s*(i[2]-a)}(this,this,t,e),this}clone(){return new u(this[0],this[1],this[2])}fromArray(t,e=0){return this[0]=t[e],this[1]=t[e+1],this[2]=t[e+2],this}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}transformDirection(t){const e=this[0],i=this[1],s=this[2];return this[0]=t[0]*e+t[4]*i+t[8]*s,this[1]=t[1]*e+t[5]*i+t[9]*s,this[2]=t[2]*e+t[6]*i+t[10]*s,this.normalize()}}const d=new u;let m=1,p=1,g=!1;class f{constructor(t,e={}){t.canvas||console.error("gl not passed as first argument to Geometry"),this.gl=t,this.attributes=e,this.id=m++,this.VAOs={},this.drawRange={start:0,count:0},this.instancedCount=0,this.gl.renderer.bindVertexArray(null),this.gl.renderer.currentGeometry=null,this.glState=this.gl.renderer.state;for(let t in e)this.addAttribute(t,e[t])}addAttribute(t,e){if(this.attributes[t]=e,e.id=p++,e.size=e.size||1,e.type=e.type||(e.data.constructor===Float32Array?this.gl.FLOAT:e.data.constructor===Uint16Array?this.gl.UNSIGNED_SHORT:this.gl.UNSIGNED_INT),e.target="index"===t?this.gl.ELEMENT_ARRAY_BUFFER:this.gl.ARRAY_BUFFER,e.normalized=e.normalized||!1,e.stride=e.stride||0,e.offset=e.offset||0,e.count=e.count||(e.stride?e.data.byteLength/e.stride:e.data.length/e.size),e.divisor=e.instanced||0,e.needsUpdate=!1,e.usage=e.usage||this.gl.STATIC_DRAW,e.buffer||this.updateAttribute(e),e.divisor){if(this.isInstanced=!0,this.instancedCount&&this.instancedCount!==e.count*e.divisor)return console.warn("geometry has multiple instanced buffers of different length"),this.instancedCount=Math.min(this.instancedCount,e.count*e.divisor);this.instancedCount=e.count*e.divisor}else"index"===t?this.drawRange.count=e.count:this.attributes.index||(this.drawRange.count=Math.max(this.drawRange.count,e.count))}updateAttribute(t){const e=!t.buffer;e&&(t.buffer=this.gl.createBuffer()),this.glState.boundBuffer!==t.buffer&&(this.gl.bindBuffer(t.target,t.buffer),this.glState.boundBuffer=t.buffer),e?this.gl.bufferData(t.target,t.data,t.usage):this.gl.bufferSubData(t.target,0,t.data),t.needsUpdate=!1}setIndex(t){this.addAttribute("index",t)}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}setInstancedCount(t){this.instancedCount=t}createVAO(t){this.VAOs[t.attributeOrder]=this.gl.renderer.createVertexArray(),this.gl.renderer.bindVertexArray(this.VAOs[t.attributeOrder]),this.bindAttributes(t)}bindAttributes(t){t.attributeLocations.forEach((t,{name:e,type:i})=>{if(!this.attributes[e])return void console.warn(`active attribute ${e} not being supplied`);const s=this.attributes[e];this.gl.bindBuffer(s.target,s.buffer),this.glState.boundBuffer=s.buffer;let r=1;35674===i&&(r=2),35675===i&&(r=3),35676===i&&(r=4);const n=s.size/r,a=1===r?0:r*r*r,o=1===r?0:r*r;for(let e=0;e<r;e++)this.gl.vertexAttribPointer(t+e,n,s.type,s.normalized,s.stride+a,s.offset+e*o),this.gl.enableVertexAttribArray(t+e),this.gl.renderer.vertexAttribDivisor(t+e,s.divisor)}),this.attributes.index&&this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this.attributes.index.buffer)}draw({program:t,mode:e=this.gl.TRIANGLES}){this.gl.renderer.currentGeometry!==`${this.id}_${t.attributeOrder}`&&(this.VAOs[t.attributeOrder]||this.createVAO(t),this.gl.renderer.bindVertexArray(this.VAOs[t.attributeOrder]),this.gl.renderer.currentGeometry=`${this.id}_${t.attributeOrder}`),t.attributeLocations.forEach((t,{name:e})=>{const i=this.attributes[e];i.needsUpdate&&this.updateAttribute(i)}),this.isInstanced?this.attributes.index?this.gl.renderer.drawElementsInstanced(e,this.drawRange.count,this.attributes.index.type,this.attributes.index.offset+2*this.drawRange.start,this.instancedCount):this.gl.renderer.drawArraysInstanced(e,this.drawRange.start,this.drawRange.count,this.instancedCount):this.attributes.index?this.gl.drawElements(e,this.drawRange.count,this.attributes.index.type,this.attributes.index.offset+2*this.drawRange.start):this.gl.drawArrays(e,this.drawRange.start,this.drawRange.count)}getPosition(){const t=this.attributes.position;return t.data?t:g?void 0:(console.warn("No position buffer data found to compute bounds"),g=!0)}computeBoundingBox(t){t||(t=this.getPosition());const e=t.data,i=t.stride?t.stride/e.BYTES_PER_ELEMENT:t.size;this.bounds||(this.bounds={min:new u,max:new u,center:new u,scale:new u,radius:1/0});const s=this.bounds.min,r=this.bounds.max,n=this.bounds.center,a=this.bounds.scale;s.set(1/0),r.set(-1/0);for(let t=0,n=e.length;t<n;t+=i){const i=e[t],n=e[t+1],a=e[t+2];s.x=Math.min(i,s.x),s.y=Math.min(n,s.y),s.z=Math.min(a,s.z),r.x=Math.max(i,r.x),r.y=Math.max(n,r.y),r.z=Math.max(a,r.z)}a.sub(r,s),n.add(s,r).divide(2)}computeBoundingSphere(t){t||(t=this.getPosition());const e=t.data,i=t.stride?t.stride/e.BYTES_PER_ELEMENT:t.size;this.bounds||this.computeBoundingBox(t);let s=0;for(let t=0,r=e.length;t<r;t+=i)d.fromArray(e,t),s=Math.max(s,this.bounds.center.squaredDistance(d));this.bounds.radius=Math.sqrt(s)}remove(){for(let t in this.VAOs)this.gl.renderer.deleteVertexArray(this.VAOs[t]),delete this.VAOs[t];for(let t in this.attributes)this.gl.deleteBuffer(this.attributes[t].buffer),delete this.attributes[t]}}let x=1;const v={};class w{constructor(t,{vertex:e,fragment:i,uniforms:s={},transparent:r=!1,cullFace:n=t.BACK,frontFace:a=t.CCW,depthTest:o=!0,depthWrite:l=!0,depthFunc:h=t.LESS}={}){t.canvas||console.error("gl not passed as fist argument to Program"),this.gl=t,this.uniforms=s,this.id=x++,e||console.warn("vertex shader not supplied"),i||console.warn("fragment shader not supplied"),this.transparent=r,this.cullFace=n,this.frontFace=a,this.depthTest=o,this.depthWrite=l,this.depthFunc=h,this.blendFunc={},this.blendEquation={},this.transparent&&!this.blendFunc.src&&(this.gl.renderer.premultipliedAlpha?this.setBlendFunc(this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA):this.setBlendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA));const c=t.createShader(t.VERTEX_SHADER);t.shaderSource(c,e),t.compileShader(c),""!==t.getShaderInfoLog(c)&&console.warn(`${t.getShaderInfoLog(c)}\nVertex Shader\n${y(e)}`);const u=t.createShader(t.FRAGMENT_SHADER);if(t.shaderSource(u,i),t.compileShader(u),""!==t.getShaderInfoLog(u)&&console.warn(`${t.getShaderInfoLog(u)}\nFragment Shader\n${y(i)}`),this.program=t.createProgram(),t.attachShader(this.program,c),t.attachShader(this.program,u),t.linkProgram(this.program),!t.getProgramParameter(this.program,t.LINK_STATUS))return console.warn(t.getProgramInfoLog(this.program));t.deleteShader(c),t.deleteShader(u),this.uniformLocations=new Map;let d=t.getProgramParameter(this.program,t.ACTIVE_UNIFORMS);for(let e=0;e<d;e++){let i=t.getActiveUniform(this.program,e);this.uniformLocations.set(i,t.getUniformLocation(this.program,i.name));const s=i.name.match(/(\w+)/g);i.uniformName=s[0],3===s.length?(i.isStructArray=!0,i.structIndex=Number(s[1]),i.structProperty=s[2]):2===s.length&&isNaN(Number(s[1]))&&(i.isStruct=!0,i.structProperty=s[1])}this.attributeLocations=new Map;const m=[],p=t.getProgramParameter(this.program,t.ACTIVE_ATTRIBUTES);for(let e=0;e<p;e++){const i=t.getActiveAttrib(this.program,e),s=t.getAttribLocation(this.program,i.name);-1!==s&&(m[s]=i.name,this.attributeLocations.set(i,s))}this.attributeOrder=m.join("")}setBlendFunc(t,e,i,s){this.blendFunc.src=t,this.blendFunc.dst=e,this.blendFunc.srcAlpha=i,this.blendFunc.dstAlpha=s,t&&(this.transparent=!0)}setBlendEquation(t,e){this.blendEquation.modeRGB=t,this.blendEquation.modeAlpha=e}applyState(){this.depthTest?this.gl.renderer.enable(this.gl.DEPTH_TEST):this.gl.renderer.disable(this.gl.DEPTH_TEST),this.cullFace?this.gl.renderer.enable(this.gl.CULL_FACE):this.gl.renderer.disable(this.gl.CULL_FACE),this.blendFunc.src?this.gl.renderer.enable(this.gl.BLEND):this.gl.renderer.disable(this.gl.BLEND),this.cullFace&&this.gl.renderer.setCullFace(this.cullFace),this.gl.renderer.setFrontFace(this.frontFace),this.gl.renderer.setDepthMask(this.depthWrite),this.gl.renderer.setDepthFunc(this.depthFunc),this.blendFunc.src&&this.gl.renderer.setBlendFunc(this.blendFunc.src,this.blendFunc.dst,this.blendFunc.srcAlpha,this.blendFunc.dstAlpha),this.gl.renderer.setBlendEquation(this.blendEquation.modeRGB,this.blendEquation.modeAlpha)}use({flipFaces:t=!1}={}){let e=-1;this.gl.renderer.state.currentProgram===this.id||(this.gl.useProgram(this.program),this.gl.renderer.state.currentProgram=this.id),this.uniformLocations.forEach((t,i)=>{let s=i.uniformName,r=this.uniforms[s];if(i.isStruct&&(r=r[i.structProperty],s+=`.${i.structProperty}`),i.isStructArray&&(r=r[i.structIndex][i.structProperty],s+=`[${i.structIndex}].${i.structProperty}`),!r)return E(`Active uniform ${s} has not been supplied`);if(r&&void 0===r.value)return E(`${s} uniform is missing a value parameter`);if(r.value.texture)return e+=1,r.value.update(e),A(this.gl,i.type,t,e);if(r.value.length&&r.value[0].texture){const s=[];return r.value.forEach(t=>{e+=1,t.update(e),s.push(e)}),A(this.gl,i.type,t,s)}A(this.gl,i.type,t,r.value)}),this.applyState(),t&&this.gl.renderer.setFrontFace(this.frontFace===this.gl.CCW?this.gl.CW:this.gl.CCW)}remove(){this.gl.deleteProgram(this.program)}}function A(t,e,i,s){s=s.length?function(t){const e=t.length,i=t[0].length;if(void 0===i)return t;const s=e*i;let r=v[s];r||(v[s]=r=new Float32Array(s));for(let s=0;s<e;s++)r.set(t[s],s*i);return r}(s):s;const r=t.renderer.state.uniformLocations.get(i);if(s.length)if(void 0===r||r.length!==s.length)t.renderer.state.uniformLocations.set(i,s.slice(0));else{if(function(t,e){if(t.length!==e.length)return!1;for(let i=0,s=t.length;i<s;i++)if(t[i]!==e[i])return!1;return!0}(r,s))return;r.set?r.set(s):function(t,e){for(let i=0,s=t.length;i<s;i++)t[i]=e[i]}(r,s),t.renderer.state.uniformLocations.set(i,r)}else{if(r===s)return;t.renderer.state.uniformLocations.set(i,s)}switch(e){case 5126:return s.length?t.uniform1fv(i,s):t.uniform1f(i,s);case 35664:return t.uniform2fv(i,s);case 35665:return t.uniform3fv(i,s);case 35666:return t.uniform4fv(i,s);case 35670:case 5124:case 35678:case 35680:return s.length?t.uniform1iv(i,s):t.uniform1i(i,s);case 35671:case 35667:return t.uniform2iv(i,s);case 35672:case 35668:return t.uniform3iv(i,s);case 35673:case 35669:return t.uniform4iv(i,s);case 35674:return t.uniformMatrix2fv(i,!1,s);case 35675:return t.uniformMatrix3fv(i,!1,s);case 35676:return t.uniformMatrix4fv(i,!1,s)}}function y(t){let e=t.split("\n");for(let t=0;t<e.length;t++)e[t]=t+1+": "+e[t];return e.join("\n")}let M=0;function E(t){M>100||(console.warn(t),M++,M>100&&console.warn("More than 100 program warnings - stopping logs."))}const b=new u;let U=1;class S{constructor({canvas:t=document.createElement("canvas"),width:e=300,height:i=150,dpr:s=1,alpha:r=!1,depth:n=!0,stencil:a=!1,antialias:o=!1,premultipliedAlpha:l=!1,preserveDrawingBuffer:h=!1,powerPreference:c="default",autoClear:u=!0,webgl:d=2}={}){const m={alpha:r,depth:n,stencil:a,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:h,powerPreference:c};this.dpr=s,this.alpha=r,this.color=!0,this.depth=n,this.stencil=a,this.premultipliedAlpha=l,this.autoClear=u,this.id=U++,2===d&&(this.gl=t.getContext("webgl2",m)),this.isWebgl2=!!this.gl,this.gl||(this.gl=t.getContext("webgl",m)),this.gl||console.error("unable to create webgl context"),this.gl.renderer=this,this.setSize(e,i),this.state={},this.state.blendFunc={src:this.gl.ONE,dst:this.gl.ZERO},this.state.blendEquation={modeRGB:this.gl.FUNC_ADD},this.state.cullFace=null,this.state.frontFace=this.gl.CCW,this.state.depthMask=!0,this.state.depthFunc=this.gl.LESS,this.state.premultiplyAlpha=!1,this.state.flipY=!1,this.state.unpackAlignment=4,this.state.framebuffer=null,this.state.viewport={x:0,y:0,width:null,height:null},this.state.textureUnits=[],this.state.activeTextureUnit=0,this.state.boundBuffer=null,this.state.uniformLocations=new Map,this.state.currentProgram=null,this.extensions={},this.isWebgl2?(this.getExtension("EXT_color_buffer_float"),this.getExtension("OES_texture_float_linear")):(this.getExtension("OES_texture_float"),this.getExtension("OES_texture_float_linear"),this.getExtension("OES_texture_half_float"),this.getExtension("OES_texture_half_float_linear"),this.getExtension("OES_element_index_uint"),this.getExtension("OES_standard_derivatives"),this.getExtension("EXT_sRGB"),this.getExtension("WEBGL_depth_texture"),this.getExtension("WEBGL_draw_buffers")),this.getExtension("WEBGL_compressed_texture_astc"),this.getExtension("EXT_texture_compression_bptc"),this.getExtension("WEBGL_compressed_texture_s3tc"),this.getExtension("WEBGL_compressed_texture_etc1"),this.getExtension("WEBGL_compressed_texture_pvrtc"),this.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),this.vertexAttribDivisor=this.getExtension("ANGLE_instanced_arrays","vertexAttribDivisor","vertexAttribDivisorANGLE"),this.drawArraysInstanced=this.getExtension("ANGLE_instanced_arrays","drawArraysInstanced","drawArraysInstancedANGLE"),this.drawElementsInstanced=this.getExtension("ANGLE_instanced_arrays","drawElementsInstanced","drawElementsInstancedANGLE"),this.createVertexArray=this.getExtension("OES_vertex_array_object","createVertexArray","createVertexArrayOES"),this.bindVertexArray=this.getExtension("OES_vertex_array_object","bindVertexArray","bindVertexArrayOES"),this.deleteVertexArray=this.getExtension("OES_vertex_array_object","deleteVertexArray","deleteVertexArrayOES"),this.drawBuffers=this.getExtension("WEBGL_draw_buffers","drawBuffers","drawBuffersWEBGL"),this.parameters={},this.parameters.maxTextureUnits=this.gl.getParameter(this.gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS),this.parameters.maxAnisotropy=this.getExtension("EXT_texture_filter_anisotropic")?this.gl.getParameter(this.getExtension("EXT_texture_filter_anisotropic").MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}setSize(t,e){this.width=t,this.height=e,this.gl.canvas.width=t*this.dpr,this.gl.canvas.height=e*this.dpr,Object.assign(this.gl.canvas.style,{width:t+"px",height:e+"px"})}setViewport(t,e,i=0,s=0){this.state.viewport.width===t&&this.state.viewport.height===e||(this.state.viewport.width=t,this.state.viewport.height=e,this.state.viewport.x=i,this.state.viewport.y=s,this.gl.viewport(i,s,t,e))}setScissor(t,e,i=0,s=0){this.gl.scissor(i,s,t,e)}enable(t){!0!==this.state[t]&&(this.gl.enable(t),this.state[t]=!0)}disable(t){!1!==this.state[t]&&(this.gl.disable(t),this.state[t]=!1)}setBlendFunc(t,e,i,s){this.state.blendFunc.src===t&&this.state.blendFunc.dst===e&&this.state.blendFunc.srcAlpha===i&&this.state.blendFunc.dstAlpha===s||(this.state.blendFunc.src=t,this.state.blendFunc.dst=e,this.state.blendFunc.srcAlpha=i,this.state.blendFunc.dstAlpha=s,void 0!==i?this.gl.blendFuncSeparate(t,e,i,s):this.gl.blendFunc(t,e))}setBlendEquation(t,e){t=t||this.gl.FUNC_ADD,this.state.blendEquation.modeRGB===t&&this.state.blendEquation.modeAlpha===e||(this.state.blendEquation.modeRGB=t,this.state.blendEquation.modeAlpha=e,void 0!==e?this.gl.blendEquationSeparate(t,e):this.gl.blendEquation(t))}setCullFace(t){this.state.cullFace!==t&&(this.state.cullFace=t,this.gl.cullFace(t))}setFrontFace(t){this.state.frontFace!==t&&(this.state.frontFace=t,this.gl.frontFace(t))}setDepthMask(t){this.state.depthMask!==t&&(this.state.depthMask=t,this.gl.depthMask(t))}setDepthFunc(t){this.state.depthFunc!==t&&(this.state.depthFunc=t,this.gl.depthFunc(t))}activeTexture(t){this.state.activeTextureUnit!==t&&(this.state.activeTextureUnit=t,this.gl.activeTexture(this.gl.TEXTURE0+t))}bindFramebuffer({target:t=this.gl.FRAMEBUFFER,buffer:e=null}={}){this.state.framebuffer!==e&&(this.state.framebuffer=e,this.gl.bindFramebuffer(t,e))}getExtension(t,e,i){return e&&this.gl[e]?this.gl[e].bind(this.gl):(this.extensions[t]||(this.extensions[t]=this.gl.getExtension(t)),e?this.extensions[t]?this.extensions[t][i].bind(this.extensions[t]):null:this.extensions[t])}sortOpaque(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.program.id!==e.program.id?t.program.id-e.program.id:t.zDepth!==e.zDepth?t.zDepth-e.zDepth:e.id-t.id}sortTransparent(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.zDepth!==e.zDepth?e.zDepth-t.zDepth:e.id-t.id}sortUI(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.program.id!==e.program.id?t.program.id-e.program.id:e.id-t.id}getRenderList({scene:t,camera:e,frustumCull:i,sort:s}){let r=[];if(e&&i&&e.updateFrustum(),t.traverse(t=>{if(!t.visible)return!0;t.draw&&(i&&t.frustumCulled&&e&&!e.frustumIntersectsMesh(t)||r.push(t))}),s){const t=[],i=[],s=[];r.forEach(r=>{r.program.transparent?r.program.depthTest?i.push(r):s.push(r):t.push(r),r.zDepth=0,0===r.renderOrder&&r.program.depthTest&&e&&(r.worldMatrix.getTranslation(b),b.applyMatrix4(e.projectionViewMatrix),r.zDepth=b.z)}),t.sort(this.sortOpaque),i.sort(this.sortTransparent),s.sort(this.sortUI),r=t.concat(i,s)}return r}render({scene:t,camera:e,target:i=null,update:s=!0,sort:r=!0,frustumCull:n=!0,clear:a}){null===i?(this.bindFramebuffer(),this.setViewport(this.width*this.dpr,this.height*this.dpr)):(this.bindFramebuffer(i),this.setViewport(i.width,i.height)),(a||this.autoClear&&!1!==a)&&(!this.depth||i&&!i.depth||(this.enable(this.gl.DEPTH_TEST),this.setDepthMask(!0)),this.gl.clear((this.color?this.gl.COLOR_BUFFER_BIT:0)|(this.depth?this.gl.DEPTH_BUFFER_BIT:0)|(this.stencil?this.gl.STENCIL_BUFFER_BIT:0))),s&&t.updateMatrixWorld(),e&&e.updateMatrixWorld();this.getRenderList({scene:t,camera:e,frustumCull:n,sort:r}).forEach(t=>{t.draw({camera:e})})}}function F(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function C(t,e,i,s,r){return t[0]=e,t[1]=i,t[2]=s,t[3]=r,t}function T(t,e){let i=e[0],s=e[1],r=e[2],n=e[3],a=i*i+s*s+r*r+n*n;return a>0&&(a=1/Math.sqrt(a)),t[0]=i*a,t[1]=s*a,t[2]=r*a,t[3]=n*a,t}function R(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function I(t,e,i){let s=e[0],r=e[1],n=e[2],a=e[3],o=i[0],l=i[1],h=i[2],c=i[3];return t[0]=s*c+a*o+r*h-n*l,t[1]=r*c+a*l+n*o-s*h,t[2]=n*c+a*h+s*l-r*o,t[3]=a*c-s*o-r*l-n*h,t}const G=F,Y=C,D=R,B=T;class k extends Array{constructor(t=0,e=0,i=0,s=1){return super(t,e,i,s),this.onChange=()=>{},this}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(t){this[0]=t,this.onChange()}set y(t){this[1]=t,this.onChange()}set z(t){this[2]=t,this.onChange()}set w(t){this[3]=t,this.onChange()}identity(){var t;return(t=this)[0]=0,t[1]=0,t[2]=0,t[3]=1,this.onChange(),this}set(t,e,i,s){return t.length?this.copy(t):(Y(this,t,e,i,s),this.onChange(),this)}rotateX(t){return function(t,e,i){i*=.5;let s=e[0],r=e[1],n=e[2],a=e[3],o=Math.sin(i),l=Math.cos(i);t[0]=s*l+a*o,t[1]=r*l+n*o,t[2]=n*l-r*o,t[3]=a*l-s*o}(this,this,t),this.onChange(),this}rotateY(t){return function(t,e,i){i*=.5;let s=e[0],r=e[1],n=e[2],a=e[3],o=Math.sin(i),l=Math.cos(i);t[0]=s*l-n*o,t[1]=r*l+a*o,t[2]=n*l+s*o,t[3]=a*l-r*o}(this,this,t),this.onChange(),this}rotateZ(t){return function(t,e,i){i*=.5;let s=e[0],r=e[1],n=e[2],a=e[3],o=Math.sin(i),l=Math.cos(i);t[0]=s*l+r*o,t[1]=r*l-s*o,t[2]=n*l+a*o,t[3]=a*l-n*o}(this,this,t),this.onChange(),this}inverse(t=this){return function(t,e){let i=e[0],s=e[1],r=e[2],n=e[3],a=i*i+s*s+r*r+n*n,o=a?1/a:0;t[0]=-i*o,t[1]=-s*o,t[2]=-r*o,t[3]=n*o}(this,t),this.onChange(),this}conjugate(t=this){var e,i;return i=t,(e=this)[0]=-i[0],e[1]=-i[1],e[2]=-i[2],e[3]=i[3],this.onChange(),this}copy(t){return G(this,t),this.onChange(),this}normalize(t=this){return B(this,t),this.onChange(),this}multiply(t,e){return e?I(this,t,e):I(this,this,t),this.onChange(),this}dot(t){return D(this,t)}fromMatrix3(t){return function(t,e){let i,s=e[0]+e[4]+e[8];if(s>0)i=Math.sqrt(s+1),t[3]=.5*i,i=.5/i,t[0]=(e[5]-e[7])*i,t[1]=(e[6]-e[2])*i,t[2]=(e[1]-e[3])*i;else{let s=0;e[4]>e[0]&&(s=1),e[8]>e[3*s+s]&&(s=2);let r=(s+1)%3,n=(s+2)%3;i=Math.sqrt(e[3*s+s]-e[3*r+r]-e[3*n+n]+1),t[s]=.5*i,i=.5/i,t[3]=(e[3*r+n]-e[3*n+r])*i,t[r]=(e[3*r+s]+e[3*s+r])*i,t[n]=(e[3*n+s]+e[3*s+n])*i}}(this,t),this.onChange(),this}fromEuler(t){return function(t,e,i="YXZ"){let s=Math.sin(.5*e[0]),r=Math.cos(.5*e[0]),n=Math.sin(.5*e[1]),a=Math.cos(.5*e[1]),o=Math.sin(.5*e[2]),l=Math.cos(.5*e[2]);"XYZ"===i?(t[0]=s*a*l+r*n*o,t[1]=r*n*l-s*a*o,t[2]=r*a*o+s*n*l,t[3]=r*a*l-s*n*o):"YXZ"===i?(t[0]=s*a*l+r*n*o,t[1]=r*n*l-s*a*o,t[2]=r*a*o-s*n*l,t[3]=r*a*l+s*n*o):"ZXY"===i?(t[0]=s*a*l-r*n*o,t[1]=r*n*l+s*a*o,t[2]=r*a*o+s*n*l,t[3]=r*a*l-s*n*o):"ZYX"===i?(t[0]=s*a*l-r*n*o,t[1]=r*n*l+s*a*o,t[2]=r*a*o-s*n*l,t[3]=r*a*l+s*n*o):"YZX"===i?(t[0]=s*a*l+r*n*o,t[1]=r*n*l+s*a*o,t[2]=r*a*o-s*n*l,t[3]=r*a*l-s*n*o):"XZY"===i&&(t[0]=s*a*l-r*n*o,t[1]=r*n*l-s*a*o,t[2]=r*a*o+s*n*l,t[3]=r*a*l+s*n*o)}(this,t,t.order),this}fromAxisAngle(t,e){return function(t,e,i){i*=.5;let s=Math.sin(i);t[0]=s*e[0],t[1]=s*e[1],t[2]=s*e[2],t[3]=Math.cos(i)}(this,t,e),this}slerp(t,e){return function(t,e,i,s){let r,n,a,o,l,h=e[0],c=e[1],u=e[2],d=e[3],m=i[0],p=i[1],g=i[2],f=i[3];n=h*m+c*p+u*g+d*f,n<0&&(n=-n,m=-m,p=-p,g=-g,f=-f),1-n>1e-6?(r=Math.acos(n),a=Math.sin(r),o=Math.sin((1-s)*r)/a,l=Math.sin(s*r)/a):(o=1-s,l=s),t[0]=o*h+l*m,t[1]=o*c+l*p,t[2]=o*u+l*g,t[3]=o*d+l*f}(this,this,t,e),this}fromArray(t,e=0){return this[0]=t[e],this[1]=t[e+1],this[2]=t[e+2],this[3]=t[e+3],this}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}}function K(t,e,i){let s=e[0],r=e[1],n=e[2],a=e[3],o=e[4],l=e[5],h=e[6],c=e[7],u=e[8],d=e[9],m=e[10],p=e[11],g=e[12],f=e[13],x=e[14],v=e[15],w=i[0],A=i[1],y=i[2],M=i[3];return t[0]=w*s+A*o+y*u+M*g,t[1]=w*r+A*l+y*d+M*f,t[2]=w*n+A*h+y*m+M*x,t[3]=w*a+A*c+y*p+M*v,w=i[4],A=i[5],y=i[6],M=i[7],t[4]=w*s+A*o+y*u+M*g,t[5]=w*r+A*l+y*d+M*f,t[6]=w*n+A*h+y*m+M*x,t[7]=w*a+A*c+y*p+M*v,w=i[8],A=i[9],y=i[10],M=i[11],t[8]=w*s+A*o+y*u+M*g,t[9]=w*r+A*l+y*d+M*f,t[10]=w*n+A*h+y*m+M*x,t[11]=w*a+A*c+y*p+M*v,w=i[12],A=i[13],y=i[14],M=i[15],t[12]=w*s+A*o+y*u+M*g,t[13]=w*r+A*l+y*d+M*f,t[14]=w*n+A*h+y*m+M*x,t[15]=w*a+A*c+y*p+M*v,t}function P(t,e){let i=e[0],s=e[1],r=e[2],n=e[4],a=e[5],o=e[6],l=e[8],h=e[9],c=e[10];return t[0]=Math.hypot(i,s,r),t[1]=Math.hypot(n,a,o),t[2]=Math.hypot(l,h,c),t}const N=function(){const t=[0,0,0];return function(e,i){let s=t;P(s,i);let r=1/s[0],n=1/s[1],a=1/s[2],o=i[0]*r,l=i[1]*n,h=i[2]*a,c=i[4]*r,u=i[5]*n,d=i[6]*a,m=i[8]*r,p=i[9]*n,g=i[10]*a,f=o+u+g,x=0;return f>0?(x=2*Math.sqrt(f+1),e[3]=.25*x,e[0]=(d-p)/x,e[1]=(m-h)/x,e[2]=(l-c)/x):o>u&&o>g?(x=2*Math.sqrt(1+o-u-g),e[3]=(d-p)/x,e[0]=.25*x,e[1]=(l+c)/x,e[2]=(m+h)/x):u>g?(x=2*Math.sqrt(1+u-o-g),e[3]=(m-h)/x,e[0]=(l+c)/x,e[1]=.25*x,e[2]=(d+p)/x):(x=2*Math.sqrt(1+g-o-u),e[3]=(l-c)/x,e[0]=(m+h)/x,e[1]=(d+p)/x,e[2]=.25*x),e}}();class j extends Array{constructor(t=1,e=0,i=0,s=0,r=0,n=1,a=0,o=0,l=0,h=0,c=1,u=0,d=0,m=0,p=0,g=1){return super(t,e,i,s,r,n,a,o,l,h,c,u,d,m,p,g),this}get x(){return this[12]}get y(){return this[13]}get z(){return this[14]}get w(){return this[15]}set x(t){this[12]=t}set y(t){this[13]=t}set z(t){this[14]=t}set w(t){this[15]=t}set(t,e,i,s,r,n,a,o,l,h,c,u,d,m,p,g){return t.length?this.copy(t):(function(t,e,i,s,r,n,a,o,l,h,c,u,d,m,p,g,f){t[0]=e,t[1]=i,t[2]=s,t[3]=r,t[4]=n,t[5]=a,t[6]=o,t[7]=l,t[8]=h,t[9]=c,t[10]=u,t[11]=d,t[12]=m,t[13]=p,t[14]=g,t[15]=f}(this,t,e,i,s,r,n,a,o,l,h,c,u,d,m,p,g),this)}translate(t,e=this){return function(t,e,i){let s,r,n,a,o,l,h,c,u,d,m,p,g=i[0],f=i[1],x=i[2];e===t?(t[12]=e[0]*g+e[4]*f+e[8]*x+e[12],t[13]=e[1]*g+e[5]*f+e[9]*x+e[13],t[14]=e[2]*g+e[6]*f+e[10]*x+e[14],t[15]=e[3]*g+e[7]*f+e[11]*x+e[15]):(s=e[0],r=e[1],n=e[2],a=e[3],o=e[4],l=e[5],h=e[6],c=e[7],u=e[8],d=e[9],m=e[10],p=e[11],t[0]=s,t[1]=r,t[2]=n,t[3]=a,t[4]=o,t[5]=l,t[6]=h,t[7]=c,t[8]=u,t[9]=d,t[10]=m,t[11]=p,t[12]=s*g+o*f+u*x+e[12],t[13]=r*g+l*f+d*x+e[13],t[14]=n*g+h*f+m*x+e[14],t[15]=a*g+c*f+p*x+e[15])}(this,e,t),this}rotate(t,e,i=this){return function(t,e,i,s){let r,n,a,o,l,h,c,u,d,m,p,g,f,x,v,w,A,y,M,E,b,U,S,F,C=s[0],T=s[1],R=s[2],I=Math.hypot(C,T,R);Math.abs(I)<1e-6||(I=1/I,C*=I,T*=I,R*=I,r=Math.sin(i),n=Math.cos(i),a=1-n,o=e[0],l=e[1],h=e[2],c=e[3],u=e[4],d=e[5],m=e[6],p=e[7],g=e[8],f=e[9],x=e[10],v=e[11],w=C*C*a+n,A=T*C*a+R*r,y=R*C*a-T*r,M=C*T*a-R*r,E=T*T*a+n,b=R*T*a+C*r,U=C*R*a+T*r,S=T*R*a-C*r,F=R*R*a+n,t[0]=o*w+u*A+g*y,t[1]=l*w+d*A+f*y,t[2]=h*w+m*A+x*y,t[3]=c*w+p*A+v*y,t[4]=o*M+u*E+g*b,t[5]=l*M+d*E+f*b,t[6]=h*M+m*E+x*b,t[7]=c*M+p*E+v*b,t[8]=o*U+u*S+g*F,t[9]=l*U+d*S+f*F,t[10]=h*U+m*S+x*F,t[11]=c*U+p*S+v*F,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]))}(this,i,t,e),this}scale(t,e=this){return function(t,e,i){let s=i[0],r=i[1],n=i[2];t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t[3]=e[3]*s,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*n,t[9]=e[9]*n,t[10]=e[10]*n,t[11]=e[11]*n,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]}(this,e,"number"==typeof t?[t,t,t]:t),this}multiply(t,e){return e?K(this,t,e):K(this,this,t),this}identity(){var t;return(t=this)[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}copy(t){var e,i;return i=t,(e=this)[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this}fromPerspective({fov:t,aspect:e,near:i,far:s}={}){return function(t,e,i,s,r){let n=1/Math.tan(e/2),a=1/(s-r);t[0]=n/i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(r+s)*a,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*r*s*a,t[15]=0}(this,t,e,i,s),this}fromOrthogonal({left:t,right:e,bottom:i,top:s,near:r,far:n}){return function(t,e,i,s,r,n,a){let o=1/(e-i),l=1/(s-r),h=1/(n-a);t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*h,t[11]=0,t[12]=(e+i)*o,t[13]=(r+s)*l,t[14]=(a+n)*h,t[15]=1}(this,t,e,i,s,r,n),this}fromQuaternion(t){return function(t,e){let i=e[0],s=e[1],r=e[2],n=e[3],a=i+i,o=s+s,l=r+r,h=i*a,c=s*a,u=s*o,d=r*a,m=r*o,p=r*l,g=n*a,f=n*o,x=n*l;t[0]=1-u-p,t[1]=c+x,t[2]=d-f,t[3]=0,t[4]=c-x,t[5]=1-h-p,t[6]=m+g,t[7]=0,t[8]=d+f,t[9]=m-g,t[10]=1-h-u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1}(this,t),this}setPosition(t){return this.x=t[0],this.y=t[1],this.z=t[2],this}inverse(t=this){return function(t,e){let i=e[0],s=e[1],r=e[2],n=e[3],a=e[4],o=e[5],l=e[6],h=e[7],c=e[8],u=e[9],d=e[10],m=e[11],p=e[12],g=e[13],f=e[14],x=e[15],v=i*o-s*a,w=i*l-r*a,A=i*h-n*a,y=s*l-r*o,M=s*h-n*o,E=r*h-n*l,b=c*g-u*p,U=c*f-d*p,S=c*x-m*p,F=u*f-d*g,C=u*x-m*g,T=d*x-m*f,R=v*T-w*C+A*F+y*S-M*U+E*b;R&&(R=1/R,t[0]=(o*T-l*C+h*F)*R,t[1]=(r*C-s*T-n*F)*R,t[2]=(g*E-f*M+x*y)*R,t[3]=(d*M-u*E-m*y)*R,t[4]=(l*S-a*T-h*U)*R,t[5]=(i*T-r*S+n*U)*R,t[6]=(f*A-p*E-x*w)*R,t[7]=(c*E-d*A+m*w)*R,t[8]=(a*C-o*S+h*b)*R,t[9]=(s*S-i*C-n*b)*R,t[10]=(p*M-g*A+x*v)*R,t[11]=(u*A-c*M-m*v)*R,t[12]=(o*U-a*F-l*b)*R,t[13]=(i*F-s*U+r*b)*R,t[14]=(g*w-p*y-f*v)*R,t[15]=(c*y-u*w+d*v)*R)}(this,t),this}compose(t,e,i){return function(t,e,i,s){let r=e[0],n=e[1],a=e[2],o=e[3],l=r+r,h=n+n,c=a+a,u=r*l,d=r*h,m=r*c,p=n*h,g=n*c,f=a*c,x=o*l,v=o*h,w=o*c,A=s[0],y=s[1],M=s[2];t[0]=(1-(p+f))*A,t[1]=(d+w)*A,t[2]=(m-v)*A,t[3]=0,t[4]=(d-w)*y,t[5]=(1-(u+f))*y,t[6]=(g+x)*y,t[7]=0,t[8]=(m+v)*M,t[9]=(g-x)*M,t[10]=(1-(u+p))*M,t[11]=0,t[12]=i[0],t[13]=i[1],t[14]=i[2],t[15]=1}(this,t,e,i),this}getRotation(t){return N(t,this),this}getTranslation(t){var e,i;return i=this,(e=t)[0]=i[12],e[1]=i[13],e[2]=i[14],this}getScaling(t){return P(t,this),this}getMaxScaleOnAxis(){return function(t){let e=t[0],i=t[1],s=t[2],r=t[4],n=t[5],a=t[6],o=t[8],l=t[9],h=t[10];const c=e*e+i*i+s*s,u=r*r+n*n+a*a,d=o*o+l*l+h*h;return Math.sqrt(Math.max(c,u,d))}(this)}lookAt(t,e,i){return function(t,e,i,s){let r=e[0],n=e[1],a=e[2],o=s[0],l=s[1],h=s[2],c=r-i[0],u=n-i[1],d=a-i[2],m=c*c+u*u+d*d;0===m?d=1:(m=1/Math.sqrt(m),c*=m,u*=m,d*=m);let p=l*d-h*u,g=h*c-o*d,f=o*u-l*c;m=p*p+g*g+f*f,0===m&&(h?o+=1e-6:l?h+=1e-6:l+=1e-6,p=l*d-h*u,g=h*c-o*d,f=o*u-l*c,m=p*p+g*g+f*f),m=1/Math.sqrt(m),p*=m,g*=m,f*=m,t[0]=p,t[1]=g,t[2]=f,t[3]=0,t[4]=u*f-d*g,t[5]=d*p-c*f,t[6]=c*g-u*p,t[7]=0,t[8]=c,t[9]=u,t[10]=d,t[11]=0,t[12]=r,t[13]=n,t[14]=a,t[15]=1}(this,t,e,i),this}determinant(){return function(t){let e=t[0],i=t[1],s=t[2],r=t[3],n=t[4],a=t[5],o=t[6],l=t[7],h=t[8],c=t[9],u=t[10],d=t[11],m=t[12],p=t[13],g=t[14],f=t[15];return(e*a-i*n)*(u*f-d*g)-(e*o-s*n)*(c*f-d*p)+(e*l-r*n)*(c*g-u*p)+(i*o-s*a)*(h*f-d*m)-(i*l-r*a)*(h*g-u*m)+(s*l-r*o)*(h*p-c*m)}(this)}fromArray(t,e=0){return this[0]=t[e],this[1]=t[e+1],this[2]=t[e+2],this[3]=t[e+3],this[4]=t[e+4],this[5]=t[e+5],this[6]=t[e+6],this[7]=t[e+7],this[8]=t[e+8],this[9]=t[e+9],this[10]=t[e+10],this[11]=t[e+11],this[12]=t[e+12],this[13]=t[e+13],this[14]=t[e+14],this[15]=t[e+15],this}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t[e+4]=this[4],t[e+5]=this[5],t[e+6]=this[6],t[e+7]=this[7],t[e+8]=this[8],t[e+9]=this[9],t[e+10]=this[10],t[e+11]=this[11],t[e+12]=this[12],t[e+13]=this[13],t[e+14]=this[14],t[e+15]=this[15],t}}const O=new j;class Q extends Array{constructor(t=0,e=t,i=t,s="YXZ"){return super(t,e,i),this.order=s,this.onChange=()=>{},this}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(t){this[0]=t,this.onChange()}set y(t){this[1]=t,this.onChange()}set z(t){this[2]=t,this.onChange()}set(t,e=t,i=t){return t.length?this.copy(t):(this[0]=t,this[1]=e,this[2]=i,this.onChange(),this)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.onChange(),this}reorder(t){return this.order=t,this.onChange(),this}fromRotationMatrix(t,e=this.order){return function(t,e,i="YXZ"){"XYZ"===i?(t[1]=Math.asin(Math.min(Math.max(e[8],-1),1)),Math.abs(e[8])<.99999?(t[0]=Math.atan2(-e[9],e[10]),t[2]=Math.atan2(-e[4],e[0])):(t[0]=Math.atan2(e[6],e[5]),t[2]=0)):"YXZ"===i?(t[0]=Math.asin(-Math.min(Math.max(e[9],-1),1)),Math.abs(e[9])<.99999?(t[1]=Math.atan2(e[8],e[10]),t[2]=Math.atan2(e[1],e[5])):(t[1]=Math.atan2(-e[2],e[0]),t[2]=0)):"ZXY"===i?(t[0]=Math.asin(Math.min(Math.max(e[6],-1),1)),Math.abs(e[6])<.99999?(t[1]=Math.atan2(-e[2],e[10]),t[2]=Math.atan2(-e[4],e[5])):(t[1]=0,t[2]=Math.atan2(e[1],e[0]))):"ZYX"===i?(t[1]=Math.asin(-Math.min(Math.max(e[2],-1),1)),Math.abs(e[2])<.99999?(t[0]=Math.atan2(e[6],e[10]),t[2]=Math.atan2(e[1],e[0])):(t[0]=0,t[2]=Math.atan2(-e[4],e[5]))):"YZX"===i?(t[2]=Math.asin(Math.min(Math.max(e[1],-1),1)),Math.abs(e[1])<.99999?(t[0]=Math.atan2(-e[9],e[5]),t[1]=Math.atan2(-e[2],e[0])):(t[0]=0,t[1]=Math.atan2(e[8],e[10]))):"XZY"===i&&(t[2]=Math.asin(-Math.min(Math.max(e[4],-1),1)),Math.abs(e[4])<.99999?(t[0]=Math.atan2(e[6],e[5]),t[1]=Math.atan2(e[8],e[0])):(t[0]=Math.atan2(-e[9],e[10]),t[1]=0))}(this,t,e),this}fromQuaternion(t,e=this.order){return O.fromQuaternion(t),this.fromRotationMatrix(O,e)}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}}class z{constructor(){this.parent=null,this.children=[],this.visible=!0,this.matrix=new j,this.worldMatrix=new j,this.matrixAutoUpdate=!0,this.position=new u,this.quaternion=new k,this.scale=new u(1),this.rotation=new Q,this.up=new u(0,1,0),this.rotation.onChange=()=>this.quaternion.fromEuler(this.rotation),this.quaternion.onChange=()=>this.rotation.fromQuaternion(this.quaternion)}setParent(t,e=!0){this.parent&&t!==this.parent&&this.parent.removeChild(this,!1),this.parent=t,e&&t&&t.addChild(this,!1)}addChild(t,e=!0){~this.children.indexOf(t)||this.children.push(t),e&&t.setParent(this,!1)}removeChild(t,e=!0){~this.children.indexOf(t)&&this.children.splice(this.children.indexOf(t),1),e&&t.setParent(null,!1)}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.worldMatrixNeedsUpdate||t)&&(null===this.parent?this.worldMatrix.copy(this.matrix):this.worldMatrix.multiply(this.parent.worldMatrix,this.matrix),this.worldMatrixNeedsUpdate=!1,t=!0);for(let e=0,i=this.children.length;e<i;e++)this.children[e].updateMatrixWorld(t)}updateMatrix(){this.matrix.compose(this.quaternion,this.position,this.scale),this.worldMatrixNeedsUpdate=!0}traverse(t){if(!t(this))for(let e=0,i=this.children.length;e<i;e++)this.children[e].traverse(t)}decompose(){this.matrix.getTranslation(this.position),this.matrix.getRotation(this.quaternion),this.matrix.getScaling(this.scale),this.rotation.fromQuaternion(this.quaternion)}lookAt(t,e=!1){e?this.matrix.lookAt(this.position,t,this.up):this.matrix.lookAt(t,this.position,this.up),this.matrix.getRotation(this.quaternion),this.rotation.fromQuaternion(this.quaternion)}}const L=new j,V=new u,Z=new u;class J extends z{constructor(t,{near:e=.1,far:i=100,fov:s=45,aspect:r=1,left:n,right:a,bottom:o,top:l,zoom:h=1}={}){super(),Object.assign(this,{near:e,far:i,fov:s,aspect:r,left:n,right:a,bottom:o,top:l,zoom:h}),this.projectionMatrix=new j,this.viewMatrix=new j,this.projectionViewMatrix=new j,this.worldPosition=new u,this.type=n||a?"orthographic":"perspective","orthographic"===this.type?this.orthographic():this.perspective()}perspective({near:t=this.near,far:e=this.far,fov:i=this.fov,aspect:s=this.aspect}={}){return Object.assign(this,{near:t,far:e,fov:i,aspect:s}),this.projectionMatrix.fromPerspective({fov:i*(Math.PI/180),aspect:s,near:t,far:e}),this.type="perspective",this}orthographic({near:t=this.near,far:e=this.far,left:i=this.left,right:s=this.right,bottom:r=this.bottom,top:n=this.top,zoom:a=this.zoom}={}){return Object.assign(this,{near:t,far:e,left:i,right:s,bottom:r,top:n,zoom:a}),i/=a,s/=a,r/=a,n/=a,this.projectionMatrix.fromOrthogonal({left:i,right:s,bottom:r,top:n,near:t,far:e}),this.type="orthographic",this}updateMatrixWorld(){return super.updateMatrixWorld(),this.viewMatrix.inverse(this.worldMatrix),this.worldMatrix.getTranslation(this.worldPosition),this.projectionViewMatrix.multiply(this.projectionMatrix,this.viewMatrix),this}lookAt(t){return super.lookAt(t,!0),this}project(t){return t.applyMatrix4(this.viewMatrix),t.applyMatrix4(this.projectionMatrix),this}unproject(t){return t.applyMatrix4(L.inverse(this.projectionMatrix)),t.applyMatrix4(this.worldMatrix),this}updateFrustum(){this.frustum||(this.frustum=[new u,new u,new u,new u,new u,new u]);const t=this.projectionViewMatrix;this.frustum[0].set(t[3]-t[0],t[7]-t[4],t[11]-t[8]).constant=t[15]-t[12],this.frustum[1].set(t[3]+t[0],t[7]+t[4],t[11]+t[8]).constant=t[15]+t[12],this.frustum[2].set(t[3]+t[1],t[7]+t[5],t[11]+t[9]).constant=t[15]+t[13],this.frustum[3].set(t[3]-t[1],t[7]-t[5],t[11]-t[9]).constant=t[15]-t[13],this.frustum[4].set(t[3]-t[2],t[7]-t[6],t[11]-t[10]).constant=t[15]-t[14],this.frustum[5].set(t[3]+t[2],t[7]+t[6],t[11]+t[10]).constant=t[15]+t[14];for(let t=0;t<6;t++){const e=1/this.frustum[t].distance();this.frustum[t].multiply(e),this.frustum[t].constant*=e}}frustumIntersectsMesh(t){if(!t.geometry.attributes.position)return!0;if(t.geometry.bounds&&t.geometry.bounds.radius!==1/0||t.geometry.computeBoundingSphere(),!t.geometry.bounds)return!0;const e=V;e.copy(t.geometry.bounds.center),e.applyMatrix4(t.worldMatrix);const i=t.geometry.bounds.radius*t.worldMatrix.getMaxScaleOnAxis();return this.frustumIntersectsSphere(e,i)}frustumIntersectsSphere(t,e){const i=Z;for(let s=0;s<6;s++){const r=this.frustum[s];if(i.copy(r).dot(t)+r.constant<-e)return!1}return!0}}function H(t,e,i){let s=e[0],r=e[1],n=e[2],a=e[3],o=e[4],l=e[5],h=e[6],c=e[7],u=e[8],d=i[0],m=i[1],p=i[2],g=i[3],f=i[4],x=i[5],v=i[6],w=i[7],A=i[8];return t[0]=d*s+m*a+p*h,t[1]=d*r+m*o+p*c,t[2]=d*n+m*l+p*u,t[3]=g*s+f*a+x*h,t[4]=g*r+f*o+x*c,t[5]=g*n+f*l+x*u,t[6]=v*s+w*a+A*h,t[7]=v*r+w*o+A*c,t[8]=v*n+w*l+A*u,t}class W extends Array{constructor(t=1,e=0,i=0,s=0,r=1,n=0,a=0,o=0,l=1){return super(t,e,i,s,r,n,a,o,l),this}set(t,e,i,s,r,n,a,o,l){return t.length?this.copy(t):(function(t,e,i,s,r,n,a,o,l,h){t[0]=e,t[1]=i,t[2]=s,t[3]=r,t[4]=n,t[5]=a,t[6]=o,t[7]=l,t[8]=h}(this,t,e,i,s,r,n,a,o,l),this)}translate(t,e=this){return function(t,e,i){let s=e[0],r=e[1],n=e[2],a=e[3],o=e[4],l=e[5],h=e[6],c=e[7],u=e[8],d=i[0],m=i[1];t[0]=s,t[1]=r,t[2]=n,t[3]=a,t[4]=o,t[5]=l,t[6]=d*s+m*a+h,t[7]=d*r+m*o+c,t[8]=d*n+m*l+u}(this,e,t),this}rotate(t,e=this){return function(t,e,i){let s=e[0],r=e[1],n=e[2],a=e[3],o=e[4],l=e[5],h=e[6],c=e[7],u=e[8],d=Math.sin(i),m=Math.cos(i);t[0]=m*s+d*a,t[1]=m*r+d*o,t[2]=m*n+d*l,t[3]=m*a-d*s,t[4]=m*o-d*r,t[5]=m*l-d*n,t[6]=h,t[7]=c,t[8]=u}(this,e,t),this}scale(t,e=this){return function(t,e,i){let s=i[0],r=i[1];t[0]=s*e[0],t[1]=s*e[1],t[2]=s*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8]}(this,e,t),this}multiply(t,e){return e?H(this,t,e):H(this,this,t),this}identity(){var t;return(t=this)[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,this}copy(t){var e,i;return i=t,(e=this)[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this}fromMatrix4(t){var e,i;return i=t,(e=this)[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[4],e[4]=i[5],e[5]=i[6],e[6]=i[8],e[7]=i[9],e[8]=i[10],this}fromQuaternion(t){return function(t,e){let i=e[0],s=e[1],r=e[2],n=e[3],a=i+i,o=s+s,l=r+r,h=i*a,c=s*a,u=s*o,d=r*a,m=r*o,p=r*l,g=n*a,f=n*o,x=n*l;t[0]=1-u-p,t[3]=c-x,t[6]=d+f,t[1]=c+x,t[4]=1-h-p,t[7]=m-g,t[2]=d-f,t[5]=m+g,t[8]=1-h-u}(this,t),this}fromBasis(t,e,i){return this.set(t[0],t[1],t[2],e[0],e[1],e[2],i[0],i[1],i[2]),this}inverse(t=this){return function(t,e){let i=e[0],s=e[1],r=e[2],n=e[3],a=e[4],o=e[5],l=e[6],h=e[7],c=e[8],u=c*a-o*h,d=-c*n+o*l,m=h*n-a*l,p=i*u+s*d+r*m;p&&(p=1/p,t[0]=u*p,t[1]=(-c*s+r*h)*p,t[2]=(o*s-r*a)*p,t[3]=d*p,t[4]=(c*i-r*l)*p,t[5]=(-o*i+r*n)*p,t[6]=m*p,t[7]=(-h*i+s*l)*p,t[8]=(a*i-s*n)*p)}(this,t),this}getNormalMatrix(t){return function(t,e){let i=e[0],s=e[1],r=e[2],n=e[3],a=e[4],o=e[5],l=e[6],h=e[7],c=e[8],u=e[9],d=e[10],m=e[11],p=e[12],g=e[13],f=e[14],x=e[15],v=i*o-s*a,w=i*l-r*a,A=i*h-n*a,y=s*l-r*o,M=s*h-n*o,E=r*h-n*l,b=c*g-u*p,U=c*f-d*p,S=c*x-m*p,F=u*f-d*g,C=u*x-m*g,T=d*x-m*f,R=v*T-w*C+A*F+y*S-M*U+E*b;R&&(R=1/R,t[0]=(o*T-l*C+h*F)*R,t[1]=(l*S-a*T-h*U)*R,t[2]=(a*C-o*S+h*b)*R,t[3]=(r*C-s*T-n*F)*R,t[4]=(i*T-r*S+n*U)*R,t[5]=(s*S-i*C-n*b)*R,t[6]=(g*E-f*M+x*y)*R,t[7]=(f*A-p*E-x*w)*R,t[8]=(p*M-g*A+x*v)*R)}(this,t),this}}let q=0;class X extends z{constructor(t,{geometry:e,program:i,mode:s=t.TRIANGLES,frustumCulled:r=!0,renderOrder:n=0}={}){super(),t.canvas||console.error("gl not passed as first argument to Mesh"),this.gl=t,this.id=q++,this.geometry=e,this.program=i,this.mode=s,this.frustumCulled=r,this.renderOrder=n,this.modelViewMatrix=new j,this.normalMatrix=new W,this.beforeRenderCallbacks=[],this.afterRenderCallbacks=[]}onBeforeRender(t){return this.beforeRenderCallbacks.push(t),this}onAfterRender(t){return this.afterRenderCallbacks.push(t),this}draw({camera:t}={}){this.beforeRenderCallbacks.forEach(e=>e&&e({mesh:this,camera:t})),t&&(this.program.uniforms.modelMatrix||Object.assign(this.program.uniforms,{modelMatrix:{value:null},viewMatrix:{value:null},modelViewMatrix:{value:null},normalMatrix:{value:null},projectionMatrix:{value:null},cameraPosition:{value:null}}),this.program.uniforms.projectionMatrix.value=t.projectionMatrix,this.program.uniforms.cameraPosition.value=t.worldPosition,this.program.uniforms.viewMatrix.value=t.viewMatrix,this.modelViewMatrix.multiply(t.viewMatrix,this.worldMatrix),this.normalMatrix.getNormalMatrix(this.modelViewMatrix),this.program.uniforms.modelMatrix.value=this.worldMatrix,this.program.uniforms.modelViewMatrix.value=this.modelViewMatrix,this.program.uniforms.normalMatrix.value=this.normalMatrix);let e=this.program.cullFace&&this.worldMatrix.determinant()<0;this.program.use({flipFaces:e}),this.geometry.draw({mode:this.mode,program:this.program}),this.afterRenderCallbacks.forEach(e=>e&&e({mesh:this,camera:t}))}}const _=new Uint8Array(4);function $(t){return!(t&t-1)}let tt=1;class et{constructor(t,{image:e,target:i=t.TEXTURE_2D,type:s=t.UNSIGNED_BYTE,format:r=t.RGBA,internalFormat:n=r,wrapS:a=t.CLAMP_TO_EDGE,wrapT:o=t.CLAMP_TO_EDGE,generateMipmaps:l=!0,minFilter:h=(l?t.NEAREST_MIPMAP_LINEAR:t.LINEAR),magFilter:c=t.LINEAR,premultiplyAlpha:u=!1,unpackAlignment:d=4,flipY:m=i==t.TEXTURE_2D,anisotropy:p=0,level:g=0,width:f,height:x=f}={}){this.gl=t,this.id=tt++,this.image=e,this.target=i,this.type=s,this.format=r,this.internalFormat=n,this.minFilter=h,this.magFilter=c,this.wrapS=a,this.wrapT=o,this.generateMipmaps=l,this.premultiplyAlpha=u,this.unpackAlignment=d,this.flipY=m,this.anisotropy=Math.min(p,this.gl.renderer.parameters.maxAnisotropy),this.level=g,this.width=f,this.height=x,this.texture=this.gl.createTexture(),this.store={image:null},this.glState=this.gl.renderer.state,this.state={},this.state.minFilter=this.gl.NEAREST_MIPMAP_LINEAR,this.state.magFilter=this.gl.LINEAR,this.state.wrapS=this.gl.REPEAT,this.state.wrapT=this.gl.REPEAT,this.state.anisotropy=0}bind(){this.glState.textureUnits[this.glState.activeTextureUnit]!==this.id&&(this.gl.bindTexture(this.target,this.texture),this.glState.textureUnits[this.glState.activeTextureUnit]=this.id)}update(t=0){const e=!(this.image===this.store.image&&!this.needsUpdate);if((e||this.glState.textureUnits[t]!==this.id)&&(this.gl.renderer.activeTexture(t),this.bind()),e){if(this.needsUpdate=!1,this.flipY!==this.glState.flipY&&(this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,this.flipY),this.glState.flipY=this.flipY),this.premultiplyAlpha!==this.glState.premultiplyAlpha&&(this.gl.pixelStorei(this.gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),this.glState.premultiplyAlpha=this.premultiplyAlpha),this.unpackAlignment!==this.glState.unpackAlignment&&(this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,this.unpackAlignment),this.glState.unpackAlignment=this.unpackAlignment),this.minFilter!==this.state.minFilter&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_MIN_FILTER,this.minFilter),this.state.minFilter=this.minFilter),this.magFilter!==this.state.magFilter&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_MAG_FILTER,this.magFilter),this.state.magFilter=this.magFilter),this.wrapS!==this.state.wrapS&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_WRAP_S,this.wrapS),this.state.wrapS=this.wrapS),this.wrapT!==this.state.wrapT&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_WRAP_T,this.wrapT),this.state.wrapT=this.wrapT),this.anisotropy&&this.anisotropy!==this.state.anisotropy&&(this.gl.texParameterf(this.target,this.gl.renderer.getExtension("EXT_texture_filter_anisotropic").TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropy),this.state.anisotropy=this.anisotropy),this.image){if(this.image.width&&(this.width=this.image.width,this.height=this.image.height),this.target===this.gl.TEXTURE_CUBE_MAP)for(let t=0;t<6;t++)this.gl.texImage2D(this.gl.TEXTURE_CUBE_MAP_POSITIVE_X+t,this.level,this.internalFormat,this.format,this.type,this.image[t]);else if(ArrayBuffer.isView(this.image))this.gl.texImage2D(this.target,this.level,this.internalFormat,this.width,this.height,0,this.format,this.type,this.image);else if(this.image.isCompressedTexture)for(let t=0;t<this.image.length;t++)this.gl.compressedTexImage2D(this.target,t,this.internalFormat,this.image[t].width,this.image[t].height,0,this.image[t].data);else this.gl.texImage2D(this.target,this.level,this.internalFormat,this.format,this.type,this.image);this.generateMipmaps&&(this.gl.renderer.isWebgl2||$(this.image.width)&&$(this.image.height)?this.gl.generateMipmap(this.target):(this.generateMipmaps=!1,this.wrapS=this.wrapT=this.gl.CLAMP_TO_EDGE,this.minFilter=this.gl.LINEAR)),this.onUpdate&&this.onUpdate()}else if(this.target===this.gl.TEXTURE_CUBE_MAP)for(let t=0;t<6;t++)this.gl.texImage2D(this.gl.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,_);else this.width?this.gl.texImage2D(this.target,this.level,this.internalFormat,this.width,this.height,0,this.format,this.type,null):this.gl.texImage2D(this.target,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,_);this.store.image=this.image}}}class it extends Array{constructor(t=0,e=t,i=t,s=t){return super(t,e,i,s),this}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(t){this[0]=t}set y(t){this[1]=t}set z(t){this[2]=t}set w(t){this[3]=t}set(t,e,i,s){return t.length?this.copy(t):(C(this,t,e,i,s),this)}copy(t){return F(this,t),this}normalize(){return T(this,this),this}multiply(t){var e,i,s;return i=this,s=t,(e=this)[0]=i[0]*s,e[1]=i[1]*s,e[2]=i[2]*s,e[3]=i[3]*s,this}dot(t){return R(this,t)}fromArray(t,e=0){return this[0]=t[e],this[1]=t[e+1],this[2]=t[e+2],this[3]=t[e+3],this}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}}class st extends f{constructor(t,{width:e=1,height:i=1,widthSegments:s=1,heightSegments:r=1,attributes:n={}}={}){const a=s,o=r,l=(a+1)*(o+1),h=a*o*6,c=new Float32Array(3*l),u=new Float32Array(3*l),d=new Float32Array(2*l),m=h>65536?new Uint32Array(h):new Uint16Array(h);st.buildPlane(c,u,d,m,e,i,0,a,o),Object.assign(n,{position:{size:3,data:c},normal:{size:3,data:u},uv:{size:2,data:d},index:{data:m}}),super(t,n)}static buildPlane(t,e,i,s,r,n,a,o,l,h=0,c=1,u=2,d=1,m=-1,p=0,g=0){const f=p,x=r/o,v=n/l;for(let w=0;w<=l;w++){let A=w*v-n/2;for(let n=0;n<=o;n++,p++){let v=n*x-r/2;if(t[3*p+h]=v*d,t[3*p+c]=A*m,t[3*p+u]=a/2,e[3*p+h]=0,e[3*p+c]=0,e[3*p+u]=a>=0?1:-1,i[2*p]=n/o,i[2*p+1]=1-w/l,w===l||n===o)continue;let y=f+n+w*(o+1),M=f+n+(w+1)*(o+1),E=f+n+(w+1)*(o+1)+1,b=f+n+w*(o+1)+1;s[6*g]=y,s[6*g+1]=M,s[6*g+2]=b,s[6*g+3]=M,s[6*g+4]=E,s[6*g+5]=b,g++}}}}const rt="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwkHBgoJCAkLCwoMDxkQDw4ODx4WFxIZJCAmJSMgIyIoLTkwKCo2KyIjMkQyNjs9QEBAJjBGS0U+Sjk/QD3/2wBDAQsLCw8NDx0QEB09KSMpPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT3/wgARCAIAAgADAREAAhEBAxEB/8QAGgAAAwEBAQEAAAAAAAAAAAAAAwQFAgEABv/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAPrAQM8JEMlGzI8WDAMKdPGgh44GKI8bNC5kOZMipowLmhYcHDIiLGAAEWMhQRgGFCDBQBCIMAGDAwY0WhQWNDggQxYoHAJsMdADY8OBDoYYHCgDJxJClUKJCoUGIi50INnAIUOdBioECAMk4WDlAqhicANnDR0YCHCKDCFECTTg6MEsTGzYsOlIpBgocpBzguRxMKODAgLDQEWOHDQAweCFEZFwB0GTCYIASmWx06dNBjouZGwREPngoweDjI2cFiYJjAUCUymMBwpWHzAAnCQQyDMgRYKbNnjpsmGDJgrDYgCDmhc+eJwUrlQ4Ml8fAHAAmBJpGJYc4BHy2UABPJooZPBh4omjY8Wx4XEyWAOixk2DMjA2FNHAIuAFARSCCpsdCiRNJ4oFK50sn0xSFScDFhIlEIZMADgUpj4Q4SiSAPDo+GGw44WgxNJ4mTwQA6FGhwpjhoGLCJ0GICxsZKA2OACcLACQIjZaLZVGAAkKAhcUEw4UEKHRgaHwRGJ548NDIQeHx0eFiUJioiLBggQfLRUGAJNJgqMAxU8ZDFUfPHBAWMEUQGi4WBk4AJwmAMHTgwPHBAIPhDhJIxsdNmQxsaKgwKCZ4WIxwcKBoOOjZWCC5EI4oLmxoKYDhwwYYOE8lE84NhywNHgJFJgE8EHCsMnBAMUQgmRiUGHwgUIYGSiYEAR0RJh4dKZQGxkIaFxQAAEyQeHzRodOBx44eECCIHRgbKo0FBEkjkwIUCiWTwuKhCkGFhETNGTx0dHwwMyNgSaTBA0MlMthwYkLgRQMUQxPFhQCOj4UZKYuTCeJksmGi6fQDAwBJZAIZVLBQCmgQkbHjQuMBRMSPGR4sBBAZLIIikgRDFAojZoVERQAAGigUzwoRSeOlQdHBoTIBCPCZEDn1JcHBgwRD58nlYqjQiOHBQEGGAgY0KnAgYeCGgQYpGhImAjBRNiAEbMEsCDHjgYogSMSx0sFEeOkI+bJwEXEx0+hKI2EFCYSTxXDAhMaGzYAAFHzwuaGx0MNGzRgyFDHgJOBDwUmE4KeFgJsIBPDBknCY4VCqOGD58+cFAJwWDFwoDR0SEAAwPgxQSMF4+gMkknhTwMaLJXOgxs6KGDBk2cFDI4EEhUliRsZHgAICJnQYqFK5TGwRKIwgZBiQUoFUrDYgZOAhclnAA2fUH0oQlEcQFgA6fRF4ODBAAIASBBDgUbHDgkJkslmyibMgieSwYY8HKI6GMCAsIAzhswBLR9GUwYMySCOTDxWK5aLBoTJBIJB0oFculY8RRIILEgEcDFsrmhYnCxkUAGwp4liIMSMDRWOE00OHhcAcCDAM4Uj6EonToAiEMUPF8qDA8aFiYTSeYKQ4US+dJIEATxAELlMvFcATxICVAJKODIElADgERPFsMTRYMcOBQJ0cMnRkulcyECEkhC5ssGggIIKiYc8JmB8oj5QMgSaTRUOZHSiMCoqYBFA6ThMZAEgAFPE0GUCyNk8hmR42BBBRk0GKpRAhBoSJ5s6NgBQVFhYKUR4nACgHCFgoGBImio2GHR0ATBM6MBjgoBMCoMTCHhY0NlYoiJ88TwpoEGGh4ZNGwIsGHTIMKMhBAjCAEXHioPixgOEOlMfOghY2bODAcGICZ48cNmwQieGQQgYHSmFNBxImkkSNmhwsDAweJAiFDC5k0OFY0Kkcnix4YKg+Li4UcCnTgyPnjBg8cOBgIMSFDg6MAzgI6eETBVLJoXPCpwlEI2NhykNjgqQhEaNCYsFKBWFzZoTJx0IUBkETgQ2MGAg+VjxJMjJ0GBFQQEAHHjAUfMAxYSGCoMAAoQ0ZJJCFR0OEKBRBE8WNgwYkKDA+ZHRkyKARwoGBUkCAc4HKI8UDggcCAgYInAQhkOUwgUdGScJmjp48ZGBwZBCRNJoU8CHSwbFzB06Kk0QAjAwPDQYyDHxsTJpIFxMWHCkOjAYfOEoVDmhYyCODhQChR02LHDIsIHR02bPBDIgJBwhNMlIZCmgIMEKk8QND5RHg4yHDGRIlkwTJokNFIeGBotHCWKDAAUCHgYcOFHCiGPGxQlihoOFMmTgqADDAMycNmx8aFhUXEiWLhSqMFMZCjxsMKEQlCZLFh4plMKMDxsGcFhASDDAsZCBBsaKgwAESSZNmggQXJAmaHBwXHSgdPHRo2AJBPEgIwVQA+VDRwMNASGSARNMFYoD4wdDhzYYWJAsYNmDAYOeCBxkGJgwwoCDnhMgCY2Mjg+Vx0IeEjoYTFwAgYGR4WCDR0UOjAAEIEwCFKBSGzoQMbOjwYQJZgKcADBSAE8TBDI2GNiBKNDhNIJKNFgsFwolE0LCIqcMDAcnmAo4IAwh44ePATxgni4QMUgwocCBBwoDYmIHDpg4MD5gikonnSyWjoInCp0VI5OMlouFYpFMESxQRAhQxRAgBwIIk0aHApomgRk6AJ5g2GBCIuLjxRHzQIGMD5sWMGwQkIEg6WiwEDGREGKi4E6NDRTKwcXJhLEBwyYKAcOHEAYicHRs2ICxQCggIgCBioqTwA0UBwXCDBUHwoqLGAYATAGxspBRoZBCoubOnQwMMGOACeQxAeHQg0Ux8SI5g2KmBkZHThkOFBkgWOCQsImhkMdEzRQKho2eMgzAcXAAx0oGjxs6HNHDYAwFNASeTCQJmRgtlsqDYIlEoXPHhUGOFcqATZQAEcUBiwkLDZ4EYOmhw0BHBg8ePDZwniwyGDhgQ2NGwRommSgLi5JI5KNjxouH0RcPE4kACOLDoAWKRUKg2MBxIhi4cyThMIbDHBQwFAGBophjQcIcECYJjpSGRkXFhkyBFzIwCFxIWBGRgOVC4UwYiBEySJGjoMplIdHhsyTiKZKgYmCg8GHwZHEBcSMBykUQ4cMdJhMFBotDBkTAghUVAGhoMLgjRw6dGSgWh4VJ4UQFyeLmg4ccKYybJ4kZPDYcEPD4YIAJRLJwgLngxUKA4OiIiZOHRo8KhDZKIgmBGRsdOAAYYfNGSgfSj5KJgIweJwqdGBoKUxkATxIYNHAoUplQZBgQBLJRNEwQUeHikPAAQEnmjhwCdNCRMJJwOPjAAwEGx8ZOlEuhyWTgAcWEQZk6GGx8OKgxQXMGAgwUimEOnhsGfPEUTMmxsbDFIKABE0QBGzwICLmzAkZKQwSwI6WB4ONDBROiAMweFREADODQyUDJPPC5MBmzoyVyoaGRkYBEUiiJ0GHGTIwUAZ4AShUGaACxocOiRkMbFwI8WiiUToI2FNGwImDEiKDGymbNAwBgQJoIcGwhUK4coDAoThUQJBgycBhxkfGDgYWJYiYBgxwbMC4E8ECHQpXLRRMk8XCFAOJks4SiKeGx8eCCgAXACQoURkMPFIONBCaKGBIngDZgSNjQ+MhghgETDBs6OATB0wdNhTx0rFgpC5OFQQ8GFToiIk4XCjZUGBIRChBYCaDjxswBPHTAsZNhBYGdERYGPDI6DODIcZPCx4SBhwxkAENAxwsDQmBAgxs0GCEkRBComdKZUACw2bNHQQQYEycLnTx0weGx40ICoIWIwyPDR0IWi2dBgBUQAHjpwCDNBApRNiwY8MDxo2AFREETiSBK5RFDpUNjZoKDJQkKAzZsbMihsrGiOKHhYnHgowOlQ+iKgsADC4qIkwENACYYHw54McGR8oDocARhg6KE8mCg6FADpVChxoMTyGJiYoFHSmCERsqiZGEzhkXABxkdLh9AOE4XGTJ0SIpwMLE4XHgxk4HGh0ZGDQuRiqNhhQQJoqdClQrGzwYKDJ5BPnBYqloIeMDRSJx86TxowIjRZGAhXKxwmiBo0NHBY4ZJ4MyPGQAU6dCADQMUAH0ZWHzxKIRJJxQKw8NhRkKAEyMfLgT6Ephgx06DFT58SDCoqUT6MrhCqeJwmTgAcIFGgooJBRoOHFTAkLAxQWAgBg+qPpSiFJR8kfNk0aHygVxsMZFgYMjAimWCoCFhMnmBYWFhY0OFcuFQYJ5PERA8cOBSkeFTQyOD42JE0lk4XBComYKp9KfTFAKTT5c+XEDo4VCyOHBcAdOCYUbLZZAEkmABIADMmRoOUSwOgwIkSxcyLHBkoGxY0aGy8bFBYkE0UNnCUKlYvF88cMEokiRgbKhTBi5g8LmTAyUCsVDRMJIEnCZoaDmApWDnTwQKIk8QMBzoM0eCi4UvBRMwcMigqcAEYqFMsipMCgAQI6UCkHEyaZMmQocYHRwbOCxPBCIuMGgoAaLB4XBhRw6IE4CbOAToQREB0pjgmdLIcwAAk8nFg8eExMCHMBgoQoBjAiIAA5YHQoIGaAGDB0yYNCpgIOlQZFRICPFIARSeZCDoEmk0GHKY6LHCuVhwwTCccKAsTwJgWOBgh42PjYMnkoyUyyNDYuIC4mLnhsMaBChoaHhobFBY0GDiYiLATYyDIwiNBDQUKHClEphyODGjAsLGQYMEDCAxorhSWRxA8VBscHjwsTSeJmSgPnAZ4yUykMGAIYKbECWDOC5o2HAk46dEzoyUAY0UAwoCKBOBnTJo2cEgR0aKwAmkcRMjBQKI0EAEwmAzYU8eODA8MjYcyMlEKLkwjAwQEcHCgeERYVEDAQqAzQYACDlImiwwNDQUwKiRseCgxcVJAiFGyoUTAiIgBsITxM0CGimOjQQeGBocJ5KIZPOhR8+hKhNEQZPAmTBgwdCAgY2OE48PDw4dFxUWOj4YGYEyOJAhgeHg4kImCkdIwucPGhwtFQKMGgZsGRyKTTBULp9CMk0SFhMCLgxYVHhwGLHRwVOlArhxQEaAHR4KZNE0lk4TGRseKYUkGB4WJgsBMhioVioFAGQBoAfNkoOdLBbGDYmLCQgLmTwMEOlk8SRYoDZsbKB4CDOGTg4NnjAmSCYInR8rlQdAnDAiTxQ2DMjpbLhonE8SFSUQwI2OlUdGRgVECSKATZkKEGSudEwA0fRHjJs2bBiguHHhsKcJh88TTxorlUOPFEyICAkdGBcQClksBhUmkY+fIAIeCmh0bKJTAEsjgDQEEMmB0qGTQwNlcGKCwyMgiYCGigWAoqRD5oVNlMplE8MlcKBEhIKEJwuGHR06DAEc+ZPnwg0GDi46VxoyTSSeHhcljh4YGQQ2UikDBngZk8DMAxYpH04cmEchCQUbHSmNjJVGAJ0EKghcEbGgwqABASYSxIyOBycNlUEZFTBkbNE8McCk0WKpYKIyCPGRUmCAQIdKJcKQgRyeAOgTZYHykNBA54EJCZ4wECiwEGGGhcQIwmNnBIaHAgIAMmhw0ICIYGRxUsFUsFY0BBE8jEoUGyoVxgaOk0TMgjpoaKI0OjBsGYPCYMyEMggQcdCk8RECSdMGRo0eOBggQeACIkGOiZ4IPls//8QAHxAAAwEBAAMBAQEBAAAAAAAAAgMEAQASExQFERAV/9oACAEBAAECAMadOOLaGWMPUpbkBDUVGPyv3atcup0dShKEhIK/6+lNOnnHxGJO3D2g3yUlR7aWjrg2Mo2Q5OIsV858ksYgl60WFqzyfTHx1U3TsGt9M79ZUdTAGYKI8wXgZmDlvnYO4PzrmVKqdAUKcyh0prElu3yDnE4/7oKPHfVprD0+k1MXs7U5rdoaNgUT7PxroQsTQKtEAXL8uvyttk1a66mkr0Siw6uxs7HmBqGUFKwAIMjUxajrpofoqxVf11vS0WvZxgO/xr8bj1XrqE2s3l68aBopc0AjnnUHCeoX+eMR/msjVKC3nWwnqwQykHJSMZTt6k9xGtJfSCnMpW0ehX4a1zHt8dEu3fY5gsF26sWclbV0AnKOSucMdU9L9Ne3BWrQAoWCf0TDHF8ezkLU7hsrdW/EL5js6TJA52OW+fV+QmkEmpvCybYSYelS9zfp+llg1e/TzkqXPk2S6o9NBocKzQ8jMFJUj00Y+ZsjUSsS7R/KCbh162d7XYwLMpHZfmbOC1dO9bdz0foAZFgZMIIHEhk8qZlt6p5ucxryr1wOW1epmmlybR3W80wKgjHVhqTUlcSpKFuUK6Z3q3J2SLlUk8pZa+n3trKpmOlEMmdLs3zKmUpSKGWt9Hy/KgMJeIFILBR10vZuua7MBc/zLQhMqUI9bUU82nTSTuZiwYqZaOBmUMGhIKeNImqOSUZi3c520MKgn5vu1mJSpqGrnnCYZ2nYxup0VijZwnxU/IUWOr+jep6hyWKQiY55oNhiUtXg4r9almFWqteEHioA0TXgka6ee9vLUvVNjJhrOnamtb7vrWSlCkAMmKQKBMHpsA1zIzFdivVq5lBrWNWKjN7HghamTGtCREB7am/pF+ixhBUpqFoQRtVoh/EYtLcU79DHgbF1Y+fkbhKGgaAs1r5QUM3KxhmZuQ2c2tNz0fFiN4S98zAmGcmiC43yvU7HGvlriUhWJY5lZXNdtCqJ8OR8Oz0cs08rtTIjFNVTrbG7QDmpp/P2YNGcasb36vZkYImTN7wKgTWnkOewDWOpctoqUaI1T8fOyPUBWmpbklEqOaMETsdSW0L0XHnJUhqHuW5FoCM5zD/JMYTX/p1bQdVD6WQh+cExDqzdtpWEKolLJdKnC1jTb7EuwsBek82CsEhMqX+DjJ5EYWjVJsDpVrlRWv3nTGV2D1AJEd9iKFvpZTrT/P4SmBKnHfTbX/WGRsVD0jQamgqXX01NIFxi48cD1UqzZXIzV0qaxusDUAE4KXvpFZZmgzHaTMo4VzEzq0aC6Ts0jNKzzSWf2Mrc3dlNL53BU1v6mvDTPdE2SnMSmLIuo7QNSFp179cxqafzjRNVE2VoppdWuhJxgtZoEUa3tMzx21jYVLmpNfEx7TysxsyxWZzXZzmFZ9h0bQmmM1PFrqK3VM3t5rjxBJsmejMXQlUr5BVQ59SX9JL+XNOtyaZKkapm+2Vv571GOsVrDs83NKz6sqyoDQoRYDAaVgGudWMChma+uljsrGneRiaQsV+hRcT3iw930rlckN/P2XEJpmSihdJ1m3lMlkRHDwF73tsGlj3p1QQFK5IvKmj2C6uh1X0ZYqj88RVz6HVez0vmzsFaW7SZ8SWowktnU4HWouB5G2nS5WiTOCaMJNWZM0SC9VGar0S4tiTCrG0PdS/HzKCc1sjoRY97RJbDqb62DnR5EYUPpY6jkkrnrcK2AdZFrCFj8YE5yUOJsXqFpU5gqZqd/m4LENheomahretChOS5Nk/9ygrU/oWfoqpzGIYC2z6vUPHiAxpW9YbqMhnkUjBcfmzhxGs6hfgGVkelq0tW7lAjo0lFXBSpKwD+OAexqVnLOuURobdNTr69wPRkzNPWGxx1nYlqH4dWLWnvammSn+aqkGq+WdJrlRi387SJeCgMPm96zIiONsiwYHw/82eCSbJrU1S+AM1mEqcPzp5tnXGXMaWztygmbyTzDQ9dTta1i+Vsi8BoAPkAYmPtrGotNQTYn1qL2s569n8fpGkWEk1sEUrxyWpDkIRBsQrFlIuRVOKtSM0WLXiEzvClxvRzAJ42bXIShF9OvjbKShSpEmZjBLF6rM73Y5HLQatLS7yxome6VJZm8jNZvZIaVqYDsTLKiZbhBTkEv4v0YyUrPWhCcWIDV1SfUGf2heLEYjW0TDDU+QofkTOmX1MW/FuB2O0ljP0vVixgNHCHxZQVp1nR706O7quTlE6wq7MSEqdYT1N0xlYNeVzrAME1umcHOx8/wfJ8poeOlO5NK3KPO3HAIzzAh2bl+h2uytNE7FMQ59BBivoOwKacYBavDCXRBafTKk1UB4ZF69s9/wDVEnAocbFVJJIAQEyNyWM3tMBatgVK1RjM1PI4dATm+WZBrdjm1bg0tF070UrqyxL0reFB8gXdmkH9/sis5bF8G61gDJuu0wVocAa/GibDo3VpSaakJ5FQNFeynvuYTecxjU8jEYlOAlWyqQ1b1vnch3Uj/UcgEo9cipl1Lagp1Ko7M8cnNCW65Op1I/NifCmZ/ZvK72aveOgrCoRm5rNX8gxqBGFxzHKwH87PTihUBxmwZt4NxNSKdoLVWCEs8SJkI2WdAaQ5GcJT1JxALFbRybELEdTRK1g7tNT9WgkLHFZ1G0OF+nI7T3JVfKtByYpQat4VYxLZvWtTEeEnBwjtC3LpqfYLc3ahRk4oWkfAMARHCzKUNS4FgQerdVnowMFVOWm9wDP6XMygKPbVTZYFa6lOTQoI5vUCWKaaXm1j2JOV6lyBKxWpDluJ7Xqp2o6yZSJkQISvpdLQo1sz2vSxe6FMzU4GAWGmVAzNnezaiunu9s5O1yqenb5W9SLmTUzlEiUEsQB45zu0/q8kMZz0CK+cDCFnb2K9G7o/xi3S+Cyzpec3X7Wu7LUVKrXTZd79LyPQJLE0UOs5mvonslpmx2/yycAYx21gUwRwKm2bUJTlOsY97aAL2Jco3GOJn3aFHs7QHFmNJJPwwHKbNiB4HuqbY28b0XT2BYP6bqQoUalsn/mtGhtbXUm7ZwlJFeNDKF7OcxznCX5wRJjUubpzKk31sfUdEzHsW9NeatIsGp1RkLZrPp99WJ1fEHOW8sJhsJgv1ZrOVx0fWNqWoYt/1Ob/AEj3TKjhSII5al6t2Y3iIhBRzql1eBmBQyr/AKNdtlY3ouFy1rTEsuae0C7dboUBeutXMkFi2+lia1hjgbhsZy0Ckc1rDScpC4bMpKj3mwGiDp9HelFbtMd+4XDPs2ZxuFuAOUGdVdj/ANQ6cxJQ9KlEWIbtTtBhBVpP1LVsgaR7MqdYU48dxmmDp8mWnRPBz1AhKmtW9R4GKJYISukC4sQ3WpMyFKQynaf6JWsjebwqqoofS9wT5iwH8wJAnGjnHTlAUmJoOsk7MtAJwOFYLs2pw8EjY6Vj3rxQRugIBLHNMNU1BHyV+lWNU2evsoQxPAOLc/Hizaiva8GjUbGG3NlOPJlrXLEubktodpsVQL0GoCPhTJqjSxJYTaqKKgnxR7lU4QB+en81UL46oDlYLSUYMleHCeElLte1yjgkShOgTm96nN+t7xtyxVWNc0D1uM1awAo9QALq3D0xY0H9vLzBUKOSAkx7rDpxmak/aXRzbMiZijVWhqaEMnNYYlk9CtUsMq3FakuBa2Mo1yuZ1hPY64Hq1erJmcwp8wMn1f54SL0LMLGt9HhYjEjwAocGXjxm0LzFgYg3DA5GASOp0MpnfNStmNXmLWgFMmaPNmWisN0G6/GO1VLKnOqBki0iU/aR0e8dQoBHgnkmlF3UaWMR40ZumvZg1bF4gD0iMmjtB1i/KU0zOTSVuUi1RVS3TuEw9Q5PuCsp3m73tClTG40Xsd5sebV49ZBi5FuW7POMUgCgmUgNS03v0FsHdeBJNm0jqUhyXuoN+Nc57gZ5Byti0ezET5OoLaX9WrvH+p0Wk+WgWnwsoF0+9v8AjWezxkGlegQJYb9D5o1pCcAV4lgPEyQtD0tLrGMo/spLP++TNwGE9jjGhJp3OgISViCw6q2OM6seYvJnv+1VINRT7cLOoW9B77WgCwStLQ8GCC8nUhqZVTojkGRkzg8VkgyJjSzev3c3ZiTqwJbdJzCNb5xnnStWKl5bQoVWVdVO0lQ+hokCluUQrYqlLReD8frjylCJGzJlGdpjvq+XEYtamJQE5yNXRU82tZjJXteWtS3Xg+cFLxTZzMWgwFoJBzbCCgWmTU64qs/Q/wCgVJ04/FZPQlOPzVOBTQoU1RPapwaEIfnnAUxDSpA+KxYBarS4ujJGY6moNdy8WveUunn4ZFj81yqprVvcfkgdEEknZAmFlFDm+3x3QNmKwHTa+Y1OIOqxrEOW9NJlKEkyJj7Ock00rBZkuhjf7rxpxinI/SOzaV0GU6Fr1KsYblsn9FeN0djTjHUoNRZyc1S0Ui5pm9qSY1HAhoMajpgfRTX9Pue41huOU9TYghXguHCwHAaXg9iuzHMoep6HExZ+/HKNXSmG7m6unGeD1unpgGdLsaxcYLmFCxXn8s569KrRpx0vAT9NUSg6tNKiz+aJ94rmWiZMKpBM6XqZr/LwqQ+RStBy3TAhCSXn+LBfIIXKsZ+iV81C9SWzuleDEswGhsqp8MQ5fbrFUTXqqrx0KUI8fWSZUDPedb/cnqM8plTx7+ciKORazOvhpOxNeVE1q1ROSeer45pKZ1T/ABakN1pWBS+nKfznzHKoUnPZHUFDNpmontTeL1mvt5jGvvy6SeSEBFSNnGbcK2k604gdpePS7+cYgpE6aWE2lxlpK3GiwOyh7TXOjUTJbEUn9pLGMcxrLt/QKyRv5TJcWBLv79E7G6xFCXzNmPGLrZadfsYm5EyEzxzZDs7Ccbg9jQ1TQ2fI0TRjIKUb1JGbzPfAW+4Gzm0dLORywSnApU2esDM2/wAcpoBiE/mdKxNGt/Qy9VydnWhPTZOIAQFx4s2UM2dQd+aOY1Vitw8dn90tSKVIxMU6VYZNMKUNWSd5vKAAm5p8PeyOmbG9pvOkHS7Nk+zWTqCfICn1tC/0XV186VkoTrhlkWljGUgx3EXjgI5E0YLxg1Lcs1VZg5OibYtWlUiGEszJOsSyNyHKyZMhp1wM0A5xx9JW+nWkS5WwsgZMEtEFEWQxJTtjSYtr2CTQTOpU6PTVOcw4Z4CVFKiJeT7jyoYxvENEwS5MvPNgxKSpiTH+hqTbjJ6Ej2MI9lxPVUfXLSh2E9szkb6fjZ+cUdS3S7L6da43aDs3+CvwnIDB7CcR6wpRmjGQENUDGu+radL/ADQznaGeMWCS8qHibGzFOCwN4jSI43HvafoTiGYx2o6RqSXjhpYxeSkDOeWCxBIDvEMIkAsBRo181gnAK2rarqgMGEwjoCtTcHeImaGqUlIAGUbgfEmcqW1NM1GpPZrRtweDPBZ/QrcFLk2S0NZViswGGzjUCn8tVMyeLiKMkKcyiuq9jUGmxNaqlWMpY+mllzahfNWFhV/QWgyQx1evpHcQvmdRzGCxj9f5A0edE2JanZh6yN39/qWLoyx1CaFt+s6sdhmCgYDl4WKmWpjypVZN/PaliTQQCWmdnetqFJ/mP2nLE0rUo10ZTnIFY6huVG9oNfq+XiJExPSaiRWGJMECst0D1+1bZM0WsLTn1YrWasF+EKCHsI2blAVBgBiTlNTXsNz3hoK1VTcbvb0jQsnIMHJRzUtxlTXssLavrUyfoFauvMB+NHFEnjp+kX+4zzktGn6AYjkjmlpEeGK8QHia9XRlQHntQxdCadJwMEemx5UZo+wS/s+x8GAI55lQu11NtTqnEtkmSKhJznuY43MoOordc5v1Sni2YTlvFren1TpNZrKMe1n9HEH2/wCWY3KczE8PS8lLJK55o8VUJA3tD+KXKiZaEmone8nCdVV/6H1gYjBiSGwr3VHQ61tf0+7Hm3AlYgnreAsQRTKkVKgWn6dTq9zNR2B6yXQFHPM+Bs2oVPg4cAwuUanzHMqN8CUpKHkKYqqc9bSz9Ov9SmoSS1Jyuyqc2rLKTcw365bTcgzdJqTJ7h9EyxmJIljx7SI2v+hXJEdEG9WVzvPxVNJJOndk717lCDU3FSbI5RrnnkCdvsp5yrFXbXTP2LxYmikXRPxretw9YpUrlDgC3oiBhcvASmbW+yjhJNHmWWanlulehJrMv0m1F/VnMKuRp9Kc+kgxdOcSJniajmQscnFhCTttz9NTJkIIJxOb+IKUPYTbGng9MNysxImidGs+lBo6ctL2+TRDCpy8t3WUQPje46Tr6oBAELaiqZ2lOqfdfoipyTP+tzBAF57ToKonmFUTfzGI9U0rVtyBelhGxnAgpZkPm2AZ/WO2uVRK6Y1ZqClFDE7lrBoH9D6BVKuMwKwX85PzfwwlxJJ5BAzg/wAM6A893eTx813mYzI2RqHqrmEVE8iTL38WD1gnFApU7FP7WCDhrBSZFIyTNEFODRqChVQrADiJKceq1zXhvePz/KM6RRidX38wmFnHzUrUSgE99ZKRMufQq7QtQSMFpqwFYe0E5HFkwlh9Sv1K1yikGIAlGRX/xAAgEAACAgIDAQEBAQAAAAAAAAAAAQIREiEDEBMxQSJR/9oACAEBAAM/AE4igLkEoicWUetocUbFAWNdb6zM+qfTe0bLKVmL2JMURS7VFMyHFCsjFCbKFJaP5o3Q7HMyMTKQ+MtUPqhKHSexSgUmWxNaHAzFEyHkYSFga+jkzdFxMUxzbRTFyI/UeSGyzQ1PpSYkKRl1ZiJopmA3M/rZmJQMEzN6MCyvhKTGOLMY9KchPrRFoSMzyL+iEhp0ZjaGkLkiVdEhyR5jkOxzMWeWhw/Sxr71aHOVjZ5oTibZiyyhuXeQoiG1oTWxR+GBVmQ5Mw2YClHrZZQpsxMjExLMGJTFJFwEWUxcg+McdDmOUhtijESiUew1toT+oT3Rh8RbFxo0x5MbZmYocGen0zZW2ijAtssouBsy+mBiZoQppHktFmCM7LkIqJrTJQHNDTJWSmUORRcen+9W7KiJQK+Dl1YsWN2ySkKIqFiU6HyyFRUPgkxRQnEw6abGV9KWiSVDk7LFGiMo0UnRmmUaMUX1ixOPVGZgXEUVYmmU+lRerGjMfTkNGhih16D40aHBicC46JSGjJHnEyVMyK/Ch8bE0NytG1YoURnASTodiqhMZ9G7SEyh9PjkNlI9CKi7MTQ2UOT6oyWxWU+lGJinTLvrzZcRvaGSHMb30xcaEJiyKLTLG2Pj0ORkulFdKmxSYimxqY7M6swpo/kwQ5dpGj1soVifWMhTY4LSJSHFbFAXJaL6dmAzJjExRFCPTkmV0+Qd0TY0x2UxSiKKFRaPKLKM3dka2KXw/ClsvZT2IjGJZmh0zEjixNstjsUBSVIxVDkYItGKPTrEzKZcD+RLRYmvgoGCaG7HkZGuv66wL6SQ4aQ+R9VFjizMUmRoTZk/goopiIoSTMrHIlxkojf09GKPWihvtSQuNNl2jJ66UIjcxIsotMcbRJ2YFjmWWYRI0ZTMGJiLTKTLZsSQhOVrp2UykPaRKbHFmA52i3TMCjJCkhQVFrZx8YktMw1Zm/op9XF6JZEhcS2KTMmVEoyZZgKqkKUXQ1Y4MV7IsiylodGSGkZtnk2WZji+tdV1b6UTNUKaN3Rh1RixTFMXGjF0PklouIodYyZcjItDRcSkYRoY1oc42YsyFNbFNCTejExYm6ZRkutmMDOzxMtWKUWU2YTG2OSQq6aGxRsu6G5jMkKKEloXJ0zEV9OzL6LtyQ7HEa6qXSx2RlFlJl2NyKLFxIxQq0eqHAslHSHMcdmInEXIRimLZTsyK2WtdNR0KEWWmf2ItMbmNyRUUKK2IUURabErMmz+yzzFWy3QoIUon4NdOZS6SRkxTKM2KETFaHNUOypFGaFKLHbIwQhMxiOKosTRptDy2a0YvYsSipGi0Jt2NS0ZPZVJGcShRjQo2XaGykNouVlNCikNqxpGhpMzsbmOTMIlLrAyWzMscUUU6YpxMBzEWNnmKaMhcaFIxei2JGQopmTEhRQuRFJ0bsXEhcioRboyMV1UjBVZcBybMpC4mKbQoioUkzTG22NGTKQky5Co0WOjTG2xuRihRjbI9USzJTozWyo/BRuhwY4IcxmUj4aLQ4FopCsRibKQprpyfWETIWJ531m6M3YoREzI8zf0VVYnExY5srbfVjj+imJWkNiiKhyZg+nOjQpQHkKQoiPLQ70xscxuSKoUULkiKCYtmIoseRjK2KdEaE0Jq0eMTNUWOBTN3Za+jM+7QkVaQ52NOh5i44marpcaMrpkrGntlochw30oR2xP9E/0chPZi9GRn1gVIcqNIyEYCPO6HMaY0ZmFMUaFgKEaPSz6YJjyM30uKhTaE0Lji6G20NPpUxWa+jj+jmzP6UhQW+khchkJbFA9EUYxLuhlxHF2NF6M4D4VZNOiZ6FD+GZSLKM2RYuNoUoocFoy+icRtMdslGRmyjzYpIwP5+ikjAztMzbGOAq301JFQM4jnJjRihtMc7JQslKRVDhTE4GmurKYnxikmYzMdFn8m2JMTMlSHAqYoxPaGhu3Q+NigWzMSKHZrZRSHrrJFCkKhUzNuhxZZQuMTiYfveczORaFAqQ5MwLZnEUS0NWNjjM9jGfwdkiUF1cxNmz+KZou2hpmj+WO2NyLVocIjnoakSLjsUo6RSbocJMcnsSQhMw+DkOY0V0uOAhP4zRmjZkaKQpIwFIfF+mb7TgXMeY4jKkN0eiKE066TkYisTiRijXVMzYlsXVMUzzVHozPY1IwRmi3dD+pDX4NFIqLM70PiZZijJj5GNO6KMvwoXH86ch8bEzL9EhPQqM4nknQ7HZkmPPrIqI2xJ9ZDjIpIXHEziZGUhVsSFZgxFrptnka6cmOaPKOhzZiJqhO6Q4suVGX4KS+GH4YFQ2Z2aeunGQ5jiipmXVnnFjTY2xyKVj4x2NjZcRMXImojdjixX0zFUNwGUxMVFnkj0G3RYuPbE+rVlLpY7FKRFGTodlSNCSPQ/Sn1hszZ/Vi0RUSNGTFEsyVsUU6GpMqQmJbFRYoxM4tDTY3yHnEc0P8JRfaS62KaLiz+hI3XTii0ODEn0kjNlFGhND45McmNopbEtmIkz9szQ7PR7FCI2yjMZjHZa12hQLl16aLR5xo9LQ4yY8jRSHFmTLXXoMVUxxZQkNGH0yLZkLE1026ZbFFGtFG2OzzL+ssTQhRRZ6yHxswQmZuiht2iRa6dlxLEUKUTGzJlsXEzDSHMlfX6xQFyi2J2KMyxxMRCoTQl0psVCaFtochwZQu7LY7KFiYxZQ5yHEZJPbH0iVD5foqs1Y0NjSscoi+Mi0YDkKzARc+qQ+UxRgZWVIaYmjZgZlCfWTKFIamPiNGY5GrPL4N6fSaFx2ejHY0McjAzEVEY8WfRqTGPbNjG4khpDG1sqLMrJL8P4HBFsZmYMwMl1sVGatHmKSFVowTMmJFlaHJ2PjYkvo7dDky2Y9LkEa0S45UxjcaMyUOsUejY4yJGLKEXsaE0JCmhKLFFsTuhbbP6dGTGNGuqHA9I10sfh52ZkoMsUIlyLKGmYDZYpLQuNCppGbLFRRsSVGhxsuQ/paotErHL6LEotj4zJCQpRMLQ+QwZchjRUiqFOAoFSFIUFRGSYpWymxVQsutFiiJmJmKIhNCcSpvrYxj42eg0rMtMUDDr16zFCOzdCg9sUlrpRTFbKZGYoGbHyMQiIo9L4RURWexgWy2YjZUjEUCxpkrHQ7MzTZKMmPkZTMSxQEKhfCnocmaFyQIqz+mKDFJWRFISYpwPMx6cX9L/TNdZH6NTGhOBpn0cXokpEuVIZgUZqzDq0YbRmqvpCmjYoIyKRTYrHIaHMcH1bKMkOzBmy5FIVGDGv0S+Myf0ViYlEiiM2RNV1YkIjJNdUymUxyqzKIonpGirMTGJnBjHMkndDikYikJmERUzbKLJWNCE4WIzYjNbPrQ4T6XIxQYnHYo3Q5MRfWzEow62VH6Sv6a2y/0xX0fyz03YkObE/onG0YiRS+9OZimOTHlZVGET2ZiZxGXEaPQx/BNfBwXwpiVCjEUYnomYWLZ/WmKtlPRUjVHqYox6TVIuRgxCZFxMrocZmRihS+iMTJGKGyxolkSsaZJRHf0sUmUKhJCdtPqiymxyLFBlsckPiYpCaI1oocn1cfgvpGIrKHFGvooXszvZjexuY7M4jmSGvoq0ODMdCbEx2ecvvS/WR5jHaPM9NMs/lm2OyxpFRM2WUKBkqGmNmxRiJfpkxItdb2LkiUOAmxJCihTMNlaPRmZiRRGSFxHp0mKCPqMbpjTqyXMNDTszEKWxQMVo20WeTL+MbGUy2UzKI57HBlwKiy7FE1ocxjyEkMkNMvbHejHZSLl1mO+rHEqOi7RjIXTLQ5StigRiKURMjFCTdMV7YsCmZX03aJSdjWmZIp9K0JRFiVFjtswTHJjgzOJii5DchwZkUxNFI+oUG0LkLKMUxtkhtjn+DhG6MUOIy2bHdM0KhzFAUiypGMhxnQ5sdDZjEwHKQlAoV/RcgolqjehjndGfSh0ntmPwqil1k9lnomU2bHxHqYyKLMWZCiVHRaY5zbHGQsRTgJknLSHjtD+0KMfgpRehWyihodly6zPM9ImrEl0+WRLKxwkrE0KBSoU2US40KX6P7Y19Zv6ZFrtRFMyRiJm6LKgUh5lRFRm2LjZmUxDGmKQ4H8FWh2ZLYrKXWbE/wAKXwTXwUEJxZVj6ZiNDUho9OkuPrNmDEJ7MOsmJsUYjaZLjkxj5GOxxY5dNMbfX8jkh8Y5SRpEVAyscJDGhR+mb0YIVl9VItdKhvY8hMUNrqzfVxFFCEyyr0KN9X1+ljgKSE40WUxREJREeh5sSNEZJmadEm2PiMWZocENuimKY7s0YxPVnk0JxEoUJJmcn0zEtmZirMesxxR/IrItUKIoCkhFEZsotGJ6ocGeuhKDFsUbG3orZZWizBilE0K6PQwHEbHBmYojG2OYoocmbplI/gcGzJly31ocjA2YxLMm+qYoKj0Q4fTAszGzBixFQ70aNdslNnmz0MUZjHJi4dsTg0jJMSsQmhQExVRR+WJoQzMdswdFspFDkxvpMfWERuNHoOMj+hJGQlHrF30pjZSLE3rpRiy5vqxJFlIbQykSpjjfTkii5GBkJdKJ+Iv6yxbMZdWx8Y7M/o4/Ga2xNDsUkKmbY4Sosch5GRjA0V06LNlM2XRo0YrvFmaFCAuqiPFjyGYjk+liYjXwbJNDaGpH8DsdjTMSIkKvpvT6SRlY5scS0MaY4FiFXSiZGSY8hykOL+GQoIa0hyMiynRQrN2JTIqqFEUkJWWJdKJlEcjGx20KdowGYyN6LVGixqRkJKi9UU/hg6NmSFxCRi+n/pkrKZmWJoqJSFgOQ4lS7VX1Y5D5dtGC+GR5SLVFIsQv0VmxFlfCxi40Obovq2Md0WqND2NSPQ80MxmWxTiJGTNCL2It2jEjxRFK6Ghz0YmhjZjs0RkiMlZGBfbjyFlKunIbkW0JQFFUJifT+DTMBF/OvNikZnkxJUZL6f105jZSorYkzMtDkYRG0xxbHKQ6POBbJSZ/JZot9YIux32zP6WKJiPkHBGEWn0mKKs9EZSPPploto0ioH6zYpISYpnlZbHfTitEiRQ5DTGNsbLQqERcSMDYuRC6cmNnmzBUehUxtjaMShCURuLokrGm7P0cWOY2YoyLMBUOVspsSG0KKF9HOZJjiWymiqKgPaLZhEXIJIU0xxk31oTRdjjIbHAdjvqkao8xMUF9FNfTN0VEzWxSRinoUYu0RlZi6FE9GJJGukkbvqLQnFnkmSU2hyY+RI80OQy31HE80y2y5UKcaMUzYpClAtfBwfwZ5RLKtmExP9NliYpjZgjbFI2JIdfOrYuMpmBbHHbY5rTHF7kOxzSMihSiKmeNi2x50JJCrrOPdI0UeljU3RLPYoRQ5Ik/wsR5FasXPxsak+vJDmqQ7GqLihOJb+CghKIzKLQlZvqn0qtkYRMy2bEi2Wvgofgom9FdVsldDWrJSkYui0jSrpKAowZdlWPO30xsZRQ2x5HozKzZb+dZ0mJQMRcbM2PIwVMXKKBZbG38MRpKjJKxLYlHQh7LbHkascDKehpnpAodjYkKYorRFw2IY4lDY5DGh2VNGNFQREUhYsTTG5MbHGQ8iVoeJrYorp2KCNHqxRKlourE41202MbZiZPtCsswEodLkHFEmxlIsdjbpigixdYCcqM4nmhTEk6PVsaGmaE4slFvQ3Kmb2VSP5JcRX1nsXYptmLMpUU7o18MVR5s0ZMWNljkhw2ZjezCi0KhOzGRaMbocxmemRgKJk9CihxHISELkgJJuirNliPN2V8HNDFBWzJ6Gp2YC5EYC5Il7L6cdUOroXInaHxT0OEvhVChAQ0zQ7LLYrsiRUSyySMCy/g7HMxiYLpQQpITE5CqkZjjI0YMUvpbEJLZmx8Zk9iiZCaLsSsR5i5UWYCS2Y2kb7TVjs2RcDJWZfgmKCqjC6PX8FP8FxGKM2xoaZmYTFyC40JyKQ0jIQkzY5MtWxJGvhixxdGilVlikUtikJS6Seh2WypCYsRUUmSTL+ilEikz7RgZqhL6RxKTHEfJI3Y4s0ioFjUulRFoUbFbHysw+oXGLbNl9uD2ep5oyGmORURIW6MXtim6Qk9kYqkIi0KzG2ilbZezH969OlRRlLrMUBswiWy2Z7HxnlEyFIyFDrQ3EaseRopGIz1MTB9ZClBls2LkVGaNCkJMo9GNDgNlGbooUEKN9ehjIUYjkNM0ZGuvqLGOKFXWehIqXSoSQoqj1MVbGiolxY4stiiKczHaGxyR6bY+N6XWMDY0bMipiFCInD6RLkJIo2KS0VI9RcSPUfGNmRhI/kzZdjHExZZRkP8AClsTT6ymx3oaRjsa6xkesjVmAx0PlHBmcRRgPEpOjbENjyMlQ2MUIkeRUYM/kdjQ0yoFspjxJR/RtjkyoH82iQzJlMtGCFyGBcxDKQ5FoUbHJjiMZRaHCz0KkeisUI7FD4OQ6LFB7NHpEYxJbNiiKcCrQqdiyZhMzLZtGSRHjgZ2YsWJaEJkYMxLQ31kbFAuJSpmb6oWIlAscRtmLHJWxIyKXVswN9YjkZRJSHAc3ocYlR2ek2ODGhNmLHMcUi49JISQ4jr6WKCbFyN7HkPIbaMqI8UBOIo2IsUWRS6U+mnRmhmBTLZURxHkOLM42YIfw2JwNM3ZUe6ifWXZRsaYn1YlFltoaY4ouBi2NsbMWegojY2OCHHRobka+ihB7Mm0mb+i5Yiiy0hca6pbPQUFtiV0y099JmJ6M/owYpRE4lMlGY5ocxxEeaGzI2MpFCkil06LTFG6LbQ1IkmOTLSaMYinAz3Q1+ChGhSNsdlr50+Pq6FjZkYWxxTMLME9jnexzk6JNjijMwG9WOTHKJhEtMdsobHWxn6xCmYR69OpRKXwpWKO2JmZ5oVWVZbFM8xzKNGKdiTdGTYpFzEUYsUxKIqHKxwsbmZs81dFrpswVicaEhTLiyrMGxq0mPklbEf4S4mWu9GSGk6HZZaHA31UjEuJbFYmZfhGhSNaHEpi5I9NN0OxcbFys0VEUUy7G2zEuQmUtH8lvZgz1KIi5DF/DEWJbFZia0VHr8YkZWN2Oc2ecu00eUz0MUJCxNMbfSaNOkNMZbGhcejYnsVCihjixzfWjzRYuRnmy5Ci0KUEa11kmVY5uhwkYFjZfWMRVTFIiJ7PMXKKBZQqFxxNmI+QzR6XowbdGExyYzBGUusIEpjghzMh2NIckVO6EkUJIxkXITSE0fyNIsxRcRxHscOvQykUSikZoqx2zMUdifTzMTISVdrEoyGxwZ6MwY5GBIsbLNCiKSaKKlRihyVDMBzMEWNsUImchRIiVn9mSMYscmyWZoaHKJaEJCxGkxysxuiTkOBnopWYFC5UUmUKSN6NbFHrFDyP6FZiNjstCZiOUhQMjIUWeguM1fVlpmMhlDn1h1YmrLEpmtdWmU+skZiiYGbRgj//xAAUEQEAAAAAAAAAAAAAAAAAAADA/9oACAECAQE/AAAH/8QAFBEBAAAAAAAAAAAAAAAAAAAAwP/aAAgBAwEBPwAAB//Z",nt=.5*(Math.sqrt(3)-1),at=(3-Math.sqrt(3))/6,ot=t=>0|Math.floor(t),lt=new Float64Array([1,1,-1,1,1,-1,-1,-1,1,0,-1,0,1,0,-1,0,0,1,0,-1,0,1,0,-1]);function ht(t){return t*(.5-Math.random())}function ct(t,e){return t+Math.random()*(e-t)}const ut=function(t=Math.random){const e=function(t){const e=512,i=new Uint8Array(e);for(let t=0;t<e/2;t++)i[t]=t;for(let s=0;s<e/2-1;s++){const e=s+~~(t()*(256-s)),r=i[s];i[s]=i[e],i[e]=r}for(let t=256;t<e;t++)i[t]=i[t-256];return i}(t),i=new Float64Array(e).map(t=>lt[t%12*2]),s=new Float64Array(e).map(t=>lt[t%12*2+1]);return function(t,r){let n=0,a=0,o=0;const l=(t+r)*nt,h=ot(t+l),c=ot(r+l),u=(h+c)*at,d=t-(h-u),m=r-(c-u);let p,g;d>m?(p=1,g=0):(p=0,g=1);const f=d-p+at,x=m-g+at,v=d-1+2*at,w=m-1+2*at,A=255&h,y=255&c;let M=.5-d*d-m*m;if(M>=0){const t=A+e[y];M*=M,n=M*M*(i[t]*d+s[t]*m)}let E=.5-f*f-x*x;if(E>=0){const t=A+p+e[y+g];E*=E,a=E*E*(i[t]*f+s[t]*x)}let b=.5-v*v-w*w;if(b>=0){const t=A+1+e[y+1];b*=b,o=b*b*(i[t]*v+s[t]*w)}return 70*(n+a+o)}}(Math.random);function dt(t){return Math.max(0,Math.min(1,t))}const mt="float PI = 3.141592653589793238;",pt="\nprecision highp float;\n\nuniform float time;\nuniform float progress;\nuniform sampler2D texture1;\nuniform sampler2D texture2;\nuniform vec4 resolution;\nvarying vec2 vUv;\n",gt="\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute float offset;\nattribute vec3 bary;\n\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float progress;\nuniform vec4 resolution;\n\nvarying vec2 vUv;\nvarying float vProgress;\nvarying float vProgress1;\nvarying vec3 vBary;\n",ft="\nmat4 rotationMatrix(vec3 axis, float angle) {\n axis = normalize(axis);\n float s = sin(angle);\n float c = cos(angle);\n float oc = 1.0 - c;\n\n return mat4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0,\n oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0,\n oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0,\n 0.0, 0.0, 0.0, 1.0);\n}\nvec3 rotate(vec3 v, vec3 axis, float angle) {\n mat4 m = rotationMatrix(axis, angle);\n return (m * vec4(v, 1.0)).xyz;\n}\n",xt={dots:{uniforms:{},fragment:`\n ${pt}\n const float SQRT_2 = 1.414213562373;\n const vec2 center = vec2(0, 0);// = vec2(0, 0);\n const float dots = 20.0;// = 20.0;\n\n vec4 getFromColor(vec2 p) {\n return texture2D(texture1, p);\n }\n\n vec4 getToColor(vec2 p) {\n return texture2D(texture2, p);\n }\n\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n bool nextImage = distance(fract(newUV * dots), vec2(0.5, 0.5)) < ( progress / distance(newUV, center));\n gl_FragColor = nextImage ? getToColor(newUV) : getFromColor(newUV);\n }\n\n `},flyeye:{uniforms:{},fragment:`\n ${pt}\n const float size = 0.04; // = 0.04\n const float zoom = 100.0; // = 50.0\n const float colorSeparation = 0.3; // = 0.3\n\n vec4 getFromColor(vec2 p) {\n return texture2D(texture1, p);\n }\n\n vec4 getToColor(vec2 p) {\n return texture2D(texture2, p);\n }\n\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n float inv = 1. - progress;\n vec2 disp = size*vec2(cos(zoom*newUV.x), sin(zoom*newUV.y));\n vec4 texTo = getToColor(newUV + inv*disp);\n vec4 texFrom = vec4(\n getFromColor(newUV + progress*disp*(1.0 - colorSeparation)).r,\n getFromColor(newUV + progress*disp).g,\n getFromColor(newUV + progress*disp*(1.0 + colorSeparation)).b,\n 1.0);\n gl_FragColor = texTo*progress + texFrom*inv;\n }\n\n `},"morph-x":{uniforms:{intensity:{value:1,type:"f",min:0,max:3}},fragment:`\n ${pt}\n uniform float intensity;\n uniform sampler2D displacement;\n mat2 getRotM(float angle) {\n float s = sin(angle);\n float c = cos(angle);\n return mat2(c, -s, s, c);\n }\n const float PI = 3.1415;\n const float angle1 = PI *0.25;\n const float angle2 = -PI *0.75;\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n vec4 disp = texture2D(displacement, newUV);\n vec2 dispVec = vec2(disp.r, disp.g);\n vec2 distortedPosition1 = newUV + getRotM(angle1) * dispVec * intensity * progress;\n vec4 t1 = texture2D(texture1, distortedPosition1);\n vec2 distortedPosition2 = newUV + getRotM(angle2) * dispVec * intensity * (1.0 - progress);\n vec4 t2 = texture2D(texture2, distortedPosition2);\n gl_FragColor = mix(t1, t2, progress);\n }\n`},"morph-y":{uniforms:{intensity:{value:.3,type:"f",min:0,max:2}},fragment:`\n ${pt}\n uniform float intensity;\n uniform sampler2D displacement;\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n vec4 d1 = texture2D(texture1, newUV);\n vec4 d2 = texture2D(texture2, newUV);\n float displace1 = (d1.r + d1.g + d1.b)*0.33;\n float displace2 = (d2.r + d2.g + d2.b)*0.33;\n\n vec4 t1 = texture2D(texture1, vec2(newUV.x, newUV.y + progress * (displace2 * intensity)));\n vec4 t2 = texture2D(texture2, vec2(newUV.x, newUV.y + (1.0 - progress) * (displace1 * intensity)));\n gl_FragColor = mix(t1, t2, progress);\n }\n`},"page-curl":{uniforms:{},fragment:`\n ${pt}\n const float MIN_AMOUNT = -0.16;\n const float MAX_AMOUNT = 1.5;\n\n const float PI = 3.141592653589793;\n\n const float scale = 512.0;\n const float sharpness = 3.0;\n\n const float cylinderRadius = 1.0 / PI / 2.0;\n\n vec4 getFromColor(vec2 p) {\n return texture2D(texture1, p);\n }\n\n vec4 getToColor(vec2 p) {\n return texture2D(texture2, p);\n }\n\n vec3 hitPoint(float hitAngle, float yc, vec3 point, mat3 rrotation) {\n float hitPoint = hitAngle / (2.0 * PI);\n point.y = hitPoint;\n return rrotation * point;\n }\n\n vec4 antiAlias(vec4 color1, vec4 color2, float distanc) {\n distanc *= scale;\n if(distanc < 0.0)\n return color2;\n if(distanc > 2.0)\n return color1;\n float dd = pow(1.0 - distanc / 2.0, sharpness);\n return ((color2 - color1) * dd) + color1;\n }\n\n float distanceToEdge(vec3 point) {\n float dx = abs(point.x > 0.5 ? 1.0 - point.x : point.x);\n float dy = abs(point.y > 0.5 ? 1.0 - point.y : point.y);\n if(point.x < 0.0)\n dx = -point.x;\n if(point.x > 1.0)\n dx = point.x - 1.0;\n if(point.y < 0.0)\n dy = -point.y;\n if(point.y > 1.0)\n dy = point.y - 1.0;\n if((point.x < 0.0 || point.x > 1.0) && (point.y < 0.0 || point.y > 1.0))\n return sqrt(dx * dx + dy * dy);\n return min(dx, dy);\n }\n\n vec4 seeThrough(float yc, vec2 p, mat3 rotation, mat3 rrotation, float cylinderAngle) {\n float hitAngle = PI - (acos(yc / cylinderRadius) - cylinderAngle);\n vec3 point = hitPoint(hitAngle, yc, rotation * vec3(p, 1.0), rrotation);\n if(yc <= 0.0 && (point.x < 0.0 || point.y < 0.0 || point.x > 1.0 || point.y > 1.0)) {\n return getToColor(p);\n }\n\n if(yc > 0.0)\n return getFromColor(p);\n\n vec4 color = getFromColor(point.xy);\n vec4 tcolor = vec4(0.0);\n\n return antiAlias(color, tcolor, distanceToEdge(point));\n }\n\n vec4 seeThroughWithShadow(float yc, vec2 p, vec3 point, mat3 rotation, mat3 rrotation, float cylinderAngle, float amount) {\n float shadow = distanceToEdge(point) * 30.0;\n shadow = (1.0 - shadow) / 3.0;\n\n if(shadow < 0.0)\n shadow = 0.0;\n else\n shadow *= amount;\n\n vec4 shadowColor = seeThrough(yc, p, rotation, rrotation, cylinderAngle);\n shadowColor.r -= shadow;\n shadowColor.g -= shadow;\n shadowColor.b -= shadow;\n\n return shadowColor;\n }\n\n vec4 backside(float yc, vec3 point) {\n vec4 color = getFromColor(point.xy);\n float gray = (color.r + color.b + color.g) / 15.0;\n gray += (8.0 / 10.0) * (pow(1.0 - abs(yc / cylinderRadius), 2.0 / 10.0) / 2.0 + (5.0 / 10.0));\n color.rgb = vec3(gray);\n return color;\n }\n\n vec4 behindSurface(vec2 p, float yc, vec3 point, mat3 rrotation, float cylinderAngle, float amount) {\n float shado = (1.0 - ((-cylinderRadius - yc) / amount * 7.0)) / 6.0;\n shado *= 1.0 - abs(point.x - 0.5);\n\n yc = (-cylinderRadius - cylinderRadius - yc);\n\n float hitAngle = (acos(yc / cylinderRadius) + cylinderAngle) - PI;\n point = hitPoint(hitAngle, yc, point, rrotation);\n\n if(yc < 0.0 && point.x >= 0.0 && point.y >= 0.0 && point.x <= 1.0 && point.y <= 1.0 && (hitAngle < PI || amount > 0.5)) {\n shado = 1.0 - (sqrt(pow(point.x - 0.5, 2.0) + pow(point.y - 0.5, 2.0)) / (71.0 / 100.0));\n shado *= pow(-yc / cylinderRadius, 3.0);\n shado *= 0.5;\n } else {\n shado = 0.0;\n }\n return vec4(getToColor(p).rgb - shado, 1.0);\n }\n\n void main() {\n vec2 newUV = (vUv - vec2(0.5)) * resolution.zw + vec2(0.5);\n\n float amount = progress * (MAX_AMOUNT - MIN_AMOUNT) + MIN_AMOUNT;\n float cylinderCenter = amount;\n // 360 degrees * amount\n float cylinderAngle = 2.0 * PI * amount;\n\n const float angle = 100.0 * PI / 180.0;\n float c = cos(-angle);\n float s = sin(-angle);\n\n mat3 rotation = mat3(c, s, 0, -s, c, 0, -0.801, 0.8900, 1);\n c = cos(angle);\n s = sin(angle);\n\n mat3 rrotation = mat3(c, s, 0, -s, c, 0, 0.98500, 0.985, 1);\n\n vec3 point = rotation * vec3(newUV, 1.0);\n\n float yc = point.y - cylinderCenter;\n\n if(yc < -cylinderRadius) {\n // Behind surface\n gl_FragColor = behindSurface(newUV, yc, point, rrotation, cylinderAngle, amount);\n return;\n }\n\n if(yc > cylinderRadius) {\n // Flat surface\n gl_FragColor = getFromColor(newUV);\n return;\n }\n\n float hitAngle = (acos(yc / cylinderRadius) + cylinderAngle) - PI;\n\n float hitAngleMod = mod(hitAngle, 2.0 * PI);\n if((hitAngleMod > PI && amount < 0.5) || (hitAngleMod > PI / 2.0 && amount < 0.0)) {\n gl_FragColor = seeThrough(yc, newUV, rotation, rrotation, cylinderAngle);\n return;\n }\n\n point = hitPoint(hitAngle, yc, point, rrotation);\n\n if(point.x < 0.0 || point.y < 0.0 || point.x > 1.0 || point.y > 1.0) {\n gl_FragColor = seeThroughWithShadow(yc, newUV, point, rotation, rrotation, cylinderAngle, amount);\n return;\n }\n\n vec4 color = backside(yc, point);\n\n vec4 otherColor;\n if(yc < 0.0) {\n float shado = 1.0 - (sqrt(pow(point.x - 0.5, 2.0) + pow(point.y - 0.5, 2.0)) / 0.71);\n shado *= pow(-yc / cylinderRadius, 3.0);\n shado *= 0.5;\n otherColor = vec4(0.0, 0.0, 0.0, shado);\n } else {\n otherColor = getFromColor(newUV);\n }\n\n color = antiAlias(color, otherColor, cylinderRadius - abs(yc));\n\n vec4 cl = seeThroughWithShadow(yc, newUV, point, rotation, rrotation, cylinderAngle, amount);\n float dist = distanceToEdge(point);\n\n gl_FragColor = antiAlias(color, cl, dist);\n }\n `},"peel-x":{uniforms:{},fragment:`\n ${pt}\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n vec2 p = newUV;\n float x = progress;\n x = smoothstep(.0,1.0,(x*2.0+p.x-1.0));\n vec4 f = mix(\n texture2D(texture1, (p-.5)*(1.-x)+.5),\n texture2D(texture2, (p-.5)*x+.5),\n x);\n gl_FragColor = f;\n }\n `},"peel-y":{uniforms:{},fragment:`\n ${pt}\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n vec2 p = newUV;\n float x = progress;\n x = smoothstep(.0,1.0,(x*2.0+p.y-1.0));\n vec4 f = mix(\n texture2D(texture1, (p-.5)*(1.-x)+.5),\n texture2D(texture2, (p-.5)*x+.5),\n x);\n gl_FragColor = f;\n }\n `},"polygons-fall":{uniforms:{},detail:12,offsetTop:0,vertex:`\n ${gt}\n attribute vec3 centroid1;\n\n ${ft}\n\n void main() {\n ${mt}\n vUv = uv;\n vBary = bary;\n\n vec3 newpos = position;\n\n float o = 1. - offset;\n float pr = (progress - 0.5) * (0. + resolution.y / resolution.x) + 0.5;\n pr = progress;\n float prog = clamp((pr - o * 0.9) / 0.1, 0., 1.);\n vProgress = prog;\n vProgress1 = clamp((pr - clamp(o - 0.1, 0., 1.) * 0.9) / 0.1, 0., 1.);\n newpos = rotate((newpos - centroid1), vec3(1., 0., 0.), -prog * PI) + centroid1 + vec3(0., -1., 0.) * prog * 0.;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(newpos, 1.0);\n }\n `,fragment:`\n ${pt}\n varying float vProgress;\n varying float vProgress1;\n ${mt}\n varying vec3 vBary;\n\n void main()\t{\n float width = 2.5 * vProgress1;\n vec3 d;\n #ifdef GL_OES_standard_derivatives\n d = fwidth(vBary);\n #endif\n vec3 s = smoothstep(d * (width + 0.5), d * (width - 0.5), vBary);\n float alpha = max(max(s.x, s.y), s.z);\n vec3 color = vec3(alpha);\n vec2 newUV = (vUv - vec2(0.5)) * resolution.zw + vec2(0.5);\n vec4 t = texture2D(texture1, newUV);\n float opa = smoothstep(1., 0.5, vProgress);\n opa = 1. - vProgress;\n gl_FragColor = vec4(vUv, 0.0, opa);\n gl_FragColor = vec4(t.rgb + .5 * color * vProgress1, opa);\n }\n `},"polygons-morph":{uniforms:{},detail:20,offsetTop:.4,vertex:`\n ${gt}\n ${ft}\n\n void main() {\n ${mt}\n vUv = uv;\n vBary = bary;\n\n vec3 newpos = position;\n\n float o = 1. - offset;\n float prog = clamp((progress - o * 0.6) / 0.4, 0., 1.);\n vProgress = prog;\n vProgress1 = clamp((progress - clamp(o - 0.1, -0., 1.) * 0.9) / 0.1, 0., 1.);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(newpos, 1.0);\n }\n `,fragment:`\n ${pt}\n varying float vProgress;\n varying float vProgress1;\n ${mt}\n varying vec3 vBary;\n void main()\t{\n float width = 2.5 * vProgress1;\n vec3 d;\n #ifdef GL_OES_standard_derivatives\n d = fwidth(vBary);\n #endif\n vec3 s = smoothstep(d * (width + 0.5), d * (width - 0.5), vBary);\n float alpha = max(max(s.x, s.y), s.z);\n vec3 color = vec3(alpha);\n\n vec2 newUV = (vUv - vec2(0.5)) * resolution.zw + vec2(0.5);\n vec4 t = texture2D(texture1, newUV);\n float opa = smoothstep(1., 0.5, vProgress);\n opa = 1. - vProgress;\n gl_FragColor = vec4(t.rgb + 1. * color * vProgress1, opa);\n }\n `},"polygons-wind":{uniforms:{},detail:40,offsetTop:1,vertex:`\n ${gt}\n attribute vec3 control0;\n attribute vec3 control1;\n\n ${ft}\n\n float easeOut(float t){\n return t * t * t;\n }\n\n vec3 bezier4(vec3 a, vec3 b, vec3 c, vec3 d, float t) {\n return mix(mix(mix(a, b, t), mix(b, c, t), t), mix(mix(b, c, t), mix(c, d, t), t), t);\n }\n\n void main() {\n ${mt}\n vUv = uv;\n vBary = bary;\n\n vec3 newpos = position;\n\n float o = 1. - offset;\n float prog = clamp((progress - o * 0.6) / 0.4, 0., 1.);\n vProgress = prog;\n vProgress1 = clamp((progress - clamp(o - 0.2, -0., 1.) * 0.6) / 0.4, 0., 1.);\n newpos = bezier4(newpos, control0, control1, newpos, easeOut(prog));\n gl_Position = projectionMatrix * modelViewMatrix * vec4(newpos, 1.0);\n }\n `,fragment:`\n ${pt}\n varying float vProgress;\n varying float vProgress1;\n ${mt}\n varying vec3 vBary;\n void main()\t{\n float width = 2.5 * vProgress1;\n vec3 d;\n #ifdef GL_OES_standard_derivatives\n d = fwidth(vBary);\n #endif\n vec3 s = smoothstep(d * (width + 0.5), d * (width - 0.5), vBary);\n float alpha = max(max(s.x, s.y), s.z);\n vec3 color = vec3(alpha);\n\n vec2 newUV = (vUv - vec2(0.5)) * resolution.zw + vec2(0.5);\n vec4 t = texture2D(texture1, newUV);\n float opa = smoothstep(1., 0.5, vProgress);\n opa = 1. - vProgress;\n gl_FragColor = vec4(vUv, 0.0, opa);\n opa = smoothstep(0.5, 1., opa);\n gl_FragColor = vec4(t.rgb + 1. * color * vProgress1, opa);\n }\n `},pixelize:{uniforms:{},fragment:`\n ${pt}\n ivec2 squaresMin = ivec2(50);\n int steps = 20;\n\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n float d = min(progress, 1.0 - progress);\n float dist = steps>0 ? ceil(d * float(steps)) / float(steps) : d;\n vec2 squareSize = 2.0 * dist / vec2(squaresMin);\n\n vec2 p = dist>0.0 ? (floor(newUV / squareSize) + 0.5) * squareSize : newUV;\n\n vec2 uv1 = newUV;\n vec2 uv2 = newUV;\n\n vec4 t1 = texture2D(texture1,p);\n vec4 t2 = texture2D(texture2,p);\n\n gl_FragColor = mix(t1, t2, progress);\n }\n `},ripple:{uniforms:{radius:{value:.9,type:"f",min:.1,max:2},width:{value:.35,type:"f",min:0,max:1}},fragment:`\n ${pt}\n uniform float width;\n uniform float radius;\n uniform sampler2D displacement;\n float parabola( float x, float k ) {\n return pow( 4. * x * ( 1. - x ), k );\n }\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n vec2 p = newUV;\n vec2 start = vec2(0.5,0.5);\n vec2 aspect = resolution.wz;\n vec2 uv = newUV;\n float dt = parabola(progress, 1.);\n vec4 noise = texture2D(displacement, fract(vUv+time*0.04));\n float prog = progress*0.66 + noise.g * 0.04;\n float circ = 1. - smoothstep(-width, 0.0, radius * distance(start*aspect, uv*aspect) - prog*(1.+width));\n float intpl = pow(abs(circ), 1.);\n vec4 t1 = texture2D( texture1, (uv - 0.5) * (1.0 - intpl) + 0.5 ) ;\n vec4 t2 = texture2D( texture2, (uv - 0.5) * intpl + 0.5 );\n gl_FragColor = mix( t1, t2, intpl );\n }\n `},shutters:{uniforms:{intensity:{value:50,type:"f",min:1,max:100}},fragment:`\n ${pt}\n uniform float intensity;\n mat2 rotate(float a) {\n float s = sin(a);\n float c = cos(a);\n return mat2(c, -s, s, c);\n }\n const float PI = 3.1415;\n const float angle1 = PI *0.25;\n const float angle2 = PI *0.25;\n\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n vec2 uvDivided = fract(newUV*vec2(intensity,1.));\n\n vec2 uvDisplaced1 = newUV + rotate(angle1)*uvDivided*progress*0.1;\n vec2 uvDisplaced2 = newUV + rotate(angle2)*uvDivided*(1. - progress)*0.1;\n\n vec4 t1 = texture2D(texture1,uvDisplaced1);\n vec4 t2 = texture2D(texture2,uvDisplaced2);\n\n gl_FragColor = mix(t1, t2, progress);\n }\n\n `},slices:{uniforms:{size:{value:.25,type:"f",min:.1,max:1}},fragment:`\n ${pt}\n uniform float size; // = 0.2\n float count = 20.; // = 10.0\n float smoothness = .5; // = 0.5\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n float pr = smoothstep(-smoothness, 0.0, newUV.x - progress * (1.0 + smoothness));\n float s = step(pr, fract(count * newUV.x));\n\n vec2 uv1 = newUV;\n vec2 uv2 = newUV;\n\n vec4 t1 = texture2D(texture1,uv1);\n vec4 t2 = texture2D(texture2,uv2);\n gl_FragColor = mix(t1, t2, s);\n\n }\n `},squares:{uniforms:{},fragment:`\n ${pt}\n ivec2 squares = ivec2(10,10);\n vec2 direction = vec2(1.0, -0.5);\n float smoothness = 1.6;\n\n const vec2 center = vec2(0.5, 0.5);\n void main() {\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n vec2 v = normalize(direction);\n v /= abs(v.x)+abs(v.y);\n float d = v.x * center.x + v.y * center.y;\n float offset = smoothness;\n float pr = smoothstep(-offset, 0.0, v.x * newUV.x + v.y * newUV.y - (d-0.5+progress*(1.+offset)));\n vec2 squarep = fract(newUV*vec2(squares));\n vec2 squaremin = vec2(pr/2.0);\n vec2 squaremax = vec2(1.0 - pr/2.0);\n float a = (1.0 - step(progress, 0.0)) * step(squaremin.x, squarep.x) * step(squaremin.y, squarep.y) * step(squarep.x, squaremax.x) * step(squarep.y, squaremax.y);\n\n vec2 uv1 = newUV;\n vec2 uv2 = newUV;\n\n vec4 t1 = texture2D(texture1,newUV);\n vec4 t2 = texture2D(texture2,newUV);\n\n gl_FragColor = mix(t1, t2, a);\n }\n `},stretch:{uniforms:{intensity:{value:50,type:"f",min:1,max:100}},fragment:`\n ${pt}\n uniform float intensity;\n mat2 rotate(float a) {\n float s = sin(a);\n float c = cos(a);\n return mat2(c, -s, s, c);\n }\n const float PI = 3.1415;\n const float angle1 = PI *0.25;\n const float angle2 = -PI *0.75;\n const float noiseSeed = 2.;\n float random() {\n return fract(sin(noiseSeed + dot(gl_FragCoord.xy / resolution.xy / 10.0, vec2(12.9898, 4.1414))) * 43758.5453);\n }\n float hash(float n) { return fract(sin(n) * 1e4); }\n float hash(vec2 p) { return fract(1e4 * sin(17.0 * p.x + p.y * 0.1) * (0.1 + abs(sin(p.y * 13.0 + p.x)))); }\n float hnoise(vec2 x) {\n vec2 i = floor(x);\n vec2 f = fract(x);\n float a = hash(i);\n float b = hash(i + vec2(1.0, 0.0));\n float c = hash(i + vec2(0.0, 1.0));\n float d = hash(i + vec2(1.0, 1.0));\n vec2 u = f * f * (3.0 - 2.0 * f);\n return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y;\n }\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n float hn = hnoise(newUV.xy * resolution.xy / 100.0);\n vec2 d = vec2(0.,normalize(vec2(0.5,0.5) - newUV.xy).y);\n vec2 uv1 = newUV + d * progress / 5.0 * (1.0 + hn / 2.0);\n vec2 uv2 = newUV - d * (1.0 - progress) / 5.0 * (1.0 + hn / 2.0);\n vec4 t1 = texture2D(texture1,uv1);\n vec4 t2 = texture2D(texture2,uv2);\n gl_FragColor = mix(t1, t2, progress);\n }\n `},"wave-x":{uniforms:{},fragment:`\n ${pt}\n uniform sampler2D displacement;\n vec2 mirrored(vec2 v) {\n vec2 m = mod(v,2.);\n return mix(m,2.0 - m, step(1.0 ,m));\n }\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n vec4 noise = texture2D(displacement, mirrored(newUV+time*0.04));\n float prog = (1.0 - progress)*0.8 -0.05 + noise.g * 0.06;\n float intpl = pow(abs(smoothstep(0., 1., (prog*2. - vUv.x + 0.5))), 10.);\n\n vec4 t1 = texture2D( texture2, (newUV - 0.5) * (1.0 - intpl) + 0.5 ) ;\n vec4 t2 = texture2D( texture1, (newUV - 0.5) * intpl + 0.5 );\n gl_FragColor = mix( t1, t2, intpl );\n }\n `},wind:{uniforms:{},fragment:`\n ${pt}\n float size = 0.2;\n\n float rand (vec2 co) {\n return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);\n }\n\n void main()\t{\n vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n float r = rand(vec2(0, newUV.y));\n float m = smoothstep(0.0, -size, newUV.x*(1.0-size) + size*r - ((progress) * (1.0 + size)));\n\n vec2 uv1 = newUV;\n vec2 uv2 = newUV;\n\n vec4 t1 = texture2D(texture1,uv1);\n vec4 t2 = texture2D(texture2,uv2);\n gl_FragColor = mix(t1, t2, m);\n\n }\n `}},vt="\nattribute vec2 uv;\nattribute vec3 position;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nvarying vec2 vUv;\n\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",wt=(t,e)=>{const{shaderPerSlide:i,swiper:s}=e,r=s.params.loop?s.realIndex:s.activeIndex;let n=xt;if(Array.isArray(t)&&t.length){if(i)return void 0===t[r]?xt[t[0]]:xt[t[r]];n={},Object.keys(xt).forEach(e=>{t.includes(e)&&(n[e]=xt[e])})}const a=Math.floor(Math.random()*Object.keys(n).length);return n[Object.keys(n)[a]]};class At{constructor(t){const e="random"===t.shader||Array.isArray(t.shader)?wt(t.shader,t):xt[t.shader];this.shader=e,this.displacement=t.displacementMap||rt,this.scene=new z,this.swiper=t.swiper,this.vertex=e.vertex||vt,this.fragment=e.fragment,this.uniforms=e.uniforms||{},this.renderer=new S({dpr:2,webgl:2,alpha:!0}),this.gl=this.renderer.gl,this.width=window.innerWidth,this.height=window.innerHeight,this.renderer.setSize(this.width,this.height),this.gl.clearColor(1,1,1,0),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.opts=t,this.container=this.swiper.el,this.displacementTexture=null,this.width=this.swiper.width,this.height=this.swiper.height,this.swiper.isElement&&this.gl.canvas.setAttribute("slot","container-start"),this.container.prepend(this.gl.canvas),this.camera=new J(this.gl,{fov:45}),this.camera.perspective({aspect:this.gl.canvas.width/this.gl.canvas.height}),this.camera.position.set(0,0,2),this.time=0,this.current=0,this.init(()=>{this.addObjects(),this.resize(),this.render()})}animateUniform(t,e,i){const s=t.value;let r,n=null;window.cancelAnimationFrame(this.animateUniformFrame);const a=e>t.value?"next":"prev",o=(t,e)=>"next"===a&&t>=e||"prev"===a&&t<=e,l=()=>{if(this.destroyed)return;r=(new Date).getTime(),null===n&&(n=r);const a=Math.max(Math.min((r-n)/this.swiper.params.speed,1),0),h=.5-Math.cos(a*Math.PI)/2;let c=s+h*(e-s);if(o(c,e)&&(c=e),t.value=c,o(c,e))return cancelAnimationFrame(this.animateUniformFrame),void(i&&i());this.animateUniformFrame=requestAnimationFrame(l)};l()}loadTextures(){const t=[],e=this;return this.images=[],this.textures=[],this.container.querySelectorAll(".swiper-gl-image").forEach(t=>{this.images.push(t.src)}),this.images.forEach((i,s)=>{const r=new Promise(t=>{const r=new Image;r.crossOrigin="anonymous";const n=new et(this.gl);r.onload=()=>{n.image=r,e.textures[s]=n,t()},r.src=i});t.push(r)}),t.push(new Promise(t=>{const i=new Image;i.crossOrigin="anonymous";const s=new et(this.gl);i.onload=()=>{s.image=i,e.displacementTexture=s,t()},i.src=rt})),Promise.all(t)}init(t){this.loadTextures().then(()=>{this.initialized=!0,this.onInit&&this.onInit(),t()})}resize(){if(!this.initialized||this.destroyed)return;const{width:t,height:e}=this.swiper;this.width=t,this.height=e,this.renderer.setSize(t,e);const i=this.camera.position.z;if(this.camera.perspective({aspect:t/e,fov:180/Math.PI*2*Math.atan(1/(2*i))}),!this.textures[0].image)return;const s=this.textures[0].image.height/this.textures[0].image.width;let r,n;e/t>s?(r=t/e*s,n=1):(r=1,n=e/t/s),this.material.uniforms.resolution.value.x=t,this.material.uniforms.resolution.value.y=e,this.material.uniforms.resolution.value.z=r,this.material.uniforms.resolution.value.w=n,this.shader.vertex&&this.vertexMaterial&&(this.vertexMaterial.uniforms.resolution.value.x=t,this.vertexMaterial.uniforms.resolution.value.y=e,this.vertexMaterial.uniforms.resolution.value.z=r,this.vertexMaterial.uniforms.resolution.value.w=n),this.shader.vertex?(this.nextMesh.scale.set(this.camera.aspect/2,.5,.5),this.currentMesh.scale.set(this.camera.aspect/2,.5,.5)):(this.plane.scale.x=this.camera.aspect,this.plane.scale.y=1)}createMaterial(){return new w(this.gl,{extensions:{derivatives:"#extension GL_OES_standard_derivatives : enable"},uniforms:{time:{type:"f",value:0},progress:{type:"f",value:0},intensity:{type:"f",value:0},width:{type:"f",value:0},radius:{type:"f",value:0},size:{type:"f",value:0},texture1:{type:"f",value:this.textures[0]},texture2:{type:"f",value:this.textures[1]},displacement:{type:"f",value:this.displacementTexture},resolution:{type:"v4",value:new it}},vertex:this.shader.vertex||vt,fragment:this.shader.fragment,...this.shader.vertex?{transparent:!0,depthWrite:!1}:{}})}addObjects(){if(this.scene.children.forEach(t=>{this.scene.removeChild(t)}),this.scene.children.forEach(t=>{this.scene.removeChild(t)}),this.material=this.createMaterial(),this.shader.vertex){const t=function(t,e,i){i=i||0;const s=e,r=2/s,n=r*Math.sqrt(3)/2,a=2/n,o=[],l=[],h=[],c=[],u=[],d=[],m=[];let p=0;const g=[];let x=0;for(let t=0;t<a;t+=1){x=t*n,p=t%2==1?-r/2:0;for(let f=0;f<=s;f+=1){const s=Math.sign(f*r+p-1);l.push(f*r+p-1,x-1,0),m.push((f*r+p)/2,x/2),l.push(f*r+r/2+p-1,n+x-1,0),m.push((f*r+r/2+p)/2,(n+x)/2),l.push(f*r-r/2+p-1,n+x-1,0),m.push((f*r-r/2+p)/2,(n+x)/2);let v=ut(f/a,t/a)+Math.random();const w=dt(x/2+2*v/e);let A=Math.random();o.push(w,dt(w+.1*i),dt(w+.1*i)),d.push(A,A,A);const y=[f*r+p-1,x-1,0];h.push(...y,...y,...y);const M=[2*s*ct(-.3,.3),-2*ct(-.3,.3)*1.5,-ht(.5)],E=[2*s*ct(.3,.6),-2*ct(.3,.6)*1.5,-ht(.5)];c.push(...M,...M,...M),u.push(...E,...E,...E),g.push(0,0,1,0,1,0,1,0,0),l.push(f*r+p-1,x-1,0),m.push((f*r+p)/2,x/2),l.push(f*r+r+p-1,x-1,0),m.push((f*r+r+p)/2,x/2),l.push(f*r+r/2+p-1,n+x-1,0),m.push((f*r+r/2+p)/2,(n+x)/2),v=ut((f+1)/a,t/a)+Math.random();const b=dt(x/2+2*v/e);A=Math.random(),o.push(b,b,dt(b+.1*i)),d.push(A,A,A);const U=[f*r+p-1,x-1,0];c.push(...M,...M,...M),u.push(...E,...E,...E),h.push(...U,...U,...U),g.push(0,0,1,0,1,0,1,0,0)}}const v=new f(t);return v.addAttribute("position",{size:3,data:new Float32Array(l)}),v.addAttribute("bary",{size:3,data:new Float32Array(g)}),v.addAttribute("uv",{size:2,data:new Float32Array(m)}),v.addAttribute("offset",{size:1,data:new Float32Array(o)}),v.addAttribute("centroid1",{size:3,data:new Float32Array(h)}),v.addAttribute("control0",{size:3,data:new Float32Array(c)}),v.addAttribute("control1",{size:3,data:new Float32Array(u)}),v.addAttribute("random",{size:1,data:new Float32Array(d)}),v}(this.gl,this.shader.detail,this.shader.offsetTop),e=this.textures[1];this.vertexMaterial=this.createMaterial(),this.vertexMaterial.uniforms.texture1.value=e,this.currentMesh=new X(this.gl,{geometry:t,program:this.material}),this.nextMesh=new X(this.gl,{geometry:t,program:this.vertexMaterial}),this.nextMesh.position.z=-1e-4,this.currentMesh.setParent(this.scene),this.nextMesh.setParent(this.scene)}else{const t=new st(this.gl,{width:1,height:1,widthSegments:2,heightSegments:2});this.plane=new X(this.gl,{geometry:t,program:this.material}),this.plane.setParent(this.scene)}}replaceShader(t){let e,i;this.shader.vertex?(e=this.material.uniforms.texture1.value,i=this.vertexMaterial.uniforms.texture1.value):(e=this.material.uniforms.texture1.value,i=this.material.uniforms.texture2.value);const s="random"===t||Array.isArray(t)?wt(t,this.opts):xt[t],{fragment:r,uniforms:n,vertex:a}=s;this.shader=s,this.vertex=a||vt,this.fragment=r||"",this.uniforms=n||{},this.addObjects(),this.shader.vertex?(this.material.uniforms.texture1.value=i,this.vertexMaterial.uniforms.texture1.value=i):(this.material.uniforms.texture1.value=e,this.material.uniforms.texture2.value=i,this.material.uniforms.progress.value=1),this.resize(),this.swiper.params.gl.shader=t}replaceRandomShader(){const t=wt(this.opts.shader,this.opts),{fragment:e,uniforms:i,vertex:s}=t;this.shader=t,this.fragment=e||"",this.uniforms=i||{},this.vertex=s||vt,this.addObjects(),this.resize()}setProgress(t,e,i,s,r){if(this.destroyed||this.swiper.glDestroyed)return;if(!this.initialized)return void(this.onInit=()=>{requestAnimationFrame(()=>{this.setProgress(t,e,i,s)})});this.swiper.params.loop&&this.swiper.slides[t]&&this.swiper.slides[e]&&(t=parseInt(this.swiper.slides[t].getAttribute("data-swiper-slide-index"),10),e=parseInt(this.swiper.slides[e].getAttribute("data-swiper-slide-index"),10));const n=this.textures[e],a=this.textures[t];if(this.material.uniforms.texture1.value=a,this.shader.vertex?this.vertexMaterial.uniforms.texture1.value=n:this.material.uniforms.texture2.value=n,r){if(this.preventShaderReplace)return void(this.material.uniforms.progress.value=Math.abs(i));this.preventShaderReplace=!0,requestAnimationFrame(()=>{this.preventShaderReplace=!1}),"random"===this.swiper.params.gl.shader||Array.isArray(this.swiper.params.gl.shader)?(this.replaceRandomShader(),this.material.uniforms.texture1.value=a,this.material.uniforms.texture2.value=n,this.material.uniforms.progress.value=Math.abs(i)):this.material.uniforms.progress.value=Math.abs(i)}else s?(0===i&&0===this.material.uniforms.progress.value&&(this.material.uniforms.progress.value=1),1===i&&1===this.material.uniforms.progress.value&&(this.material.uniforms.progress.value=0),this.animateUniform(this.material.uniforms.progress,i,()=>{("random"===this.swiper.params.gl.shader||Array.isArray(this.swiper.params.gl.shader))&&(this.replaceRandomShader(),this.material.uniforms.texture1.value=a,this.material.uniforms.texture2.value=n,this.material.uniforms.progress.value=i),1===i&&(this.material.uniforms.texture1.value=n),this.material.uniforms.progress.value=0})):this.material.uniforms.progress.value=Math.abs(i)}render(){this.swiper.destroyed||this.destroyed||(this.time+=.05,this.material.uniforms.time.value=this.time,Object.keys(this.uniforms).forEach(t=>{this.material.uniforms[t].value=this.uniforms[t].value}),requestAnimationFrame(this.render.bind(this)),this.renderer.render({scene:this.scene,camera:this.camera}))}destroy(){this.initialized=!1,this.destroyed=!0,this.gl&&this.gl.canvas&&this.container.removeChild(this.gl.canvas)}}function yt({swiper:t,duration:e,transformElements:i,allSlides:s}){const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==e){let e,n=!1;e=s?i:i.filter(e=>{const i=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.filter(t=>t.shadowRoot&&t.shadowRoot===e.parentNode)[0];return e.parentElement})(e):e;return t.getSlideIndex(i)===r}),e.forEach(e=>{!function(t,e){e&&t.addEventListener("transitionend",function i(s){s.target===t&&(e.call(t,s),t.removeEventListener("transitionend",i))})}(e,()=>{if(n)return;if(!t||t.destroyed)return;n=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)})})}}"undefined"!=typeof window&&window.SwiperElementRegisterParams&&window.SwiperElementRegisterParams(["gl"]),"undefined"!=typeof window&&window.SwiperElementRegisterParams&&window.SwiperElementRegisterParams(["shuttersEffect"]),"undefined"!=typeof window&&window.SwiperElementRegisterParams&&window.SwiperElementRegisterParams(["materialEffect"]);var Mt=(t,e)=>{var i=t.map(t=>{var i=Array.isArray(t)?t:t.split(",").map(Number);return"hex"===e.format?Et(i):i});return 1===e.amount||1===i.length?i[0]:i},Et=t=>"#"+t.map(t=>{var e=t.toString(16);return 1===e.length?"0"+e:e}).join(""),bt=(t,e)=>{for(var i=4*e.sample,s=t.length/i,r={r:0,g:0,b:0},n=0;n<t.length;n+=i)r.r+=t[n],r.g+=t[n+1],r.b+=t[n+2];return Mt([[Math.round(r.r/s),Math.round(r.g/s),Math.round(r.b/s)]],e)},Ut=(t,e,i)=>new Promise((s,r)=>{return(n=(t=>"string"==typeof t?t:t.src)(e),new Promise((t,e)=>{var i=document.createElement("canvas"),s=i.getContext("2d"),r=new Image;r.onload=()=>{i.height=r.height,i.width=r.width,s.drawImage(r,0,0);var e=s.getImageData(0,0,r.width,r.height).data;t(e)},r.onerror=()=>e(Error("Image loading failed.")),r.crossOrigin="",r.src=n})).then(e=>s(t(e,(({amount:t=3,format:e="array",group:i=20,sample:s=10}={})=>({amount:t,format:e,group:i,sample:s}))(i)))).catch(t=>r(t));var n});i(5945);window.EffectSlicer=function({swiper:t,extendParams:e,on:i,emit:s}){e({slicerEffect:{split:5}});const r=()=>{t.slides.forEach(e=>{if(e.querySelector(".swiper-slicer-image-clones"))return;const i=e.querySelector(".swiper-slicer-image");if(!i)return;const s=i.nextElementSibling,r=document.createElement("div");r.classList.add("swiper-slicer-image-clones");for(let e=0;e<t.params.slicerEffect.split;e+=1){const t=document.createElement("div");t.classList.add("swiper-slicer-image-clone"),t.appendChild(i.cloneNode()),r.appendChild(t)}s?i.parentNode.insertBefore(r,s):i.parentNode.appendChild(r)})},n=()=>{t.slides.forEach(e=>e.querySelectorAll(".swiper-slicer-image").forEach(e=>{e.style.width=`${t.width}px`,e.style.height=`${t.height}px`})),t.slides.forEach(e=>{e.querySelectorAll(".swiper-slicer-image-clone").forEach((e,i)=>{const s=e.querySelector(".swiper-slicer-image");"horizontal"===t.params.direction?(e.style.height=100/t.params.slicerEffect.split+"%",e.style.top=100/t.params.slicerEffect.split*i+"%",s.style.top=`-${100*i}%`):(e.style.width=100/t.params.slicerEffect.split+"%",e.style.left=100/t.params.slicerEffect.split*i+"%",s.style.left=`-${100*i}%`)})})},a=e=>{t.slides.forEach(i=>{const s=i.querySelectorAll(".swiper-slicer-image-clone"),r=i.querySelector(".swiper-slide-content");r&&(r.style.transitionDuration=`${e}ms`),s.forEach((i,r)=>{0===e?(i.style.transitionTimingFunction="ease-out",i.style.transitionDuration=`${t.params.speed+t.params.speed/(s.length-1)*(s.length-r-1)}ms`):(i.style.transitionTimingFunction="",i.style.transitionDuration=`${e+e/(s.length-1)*(s.length-r-1)}ms`)})}),function({duration:e}){const{slides:i,activeIndex:s}=t;if(0!==e){let e=!1;const r=i[s].querySelector(".swiper-slicer-image-clone:nth-child(1)");if(!r)return;const n=i=>{if(i.target!==r)return;if(r.removeEventListener("transitionend",n),e)return;if(!t||t.destroyed)return;e=!0,t.animating=!1;const s=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(s)};r.addEventListener("transitionend",n)}}({duration:e})};i("setTranslate",()=>{"slicer"===t.params.effect&&(()=>{const e="vertical"===t.params.direction?"Y":"X";t.slides.forEach((i,s)=>{i.style.transform=`translate${e}(-${100*s}%)`;const r=i.progress,n=i.querySelector(".swiper-slide-content");n&&(n.style.transform=`translate${e}(${t.size*-r*1.2}px)`),i.querySelectorAll(".swiper-slicer-image-clone").forEach(t=>{const i=-r;t.style.transform=`translate${e}(${100*i}%)`})})})()}),i("setTransition",(e,i)=>{"slicer"===t.params.effect&&a(i)}),i("slidesLengthChange",()=>{r(),n()}),i("beforeInit",()=>{if("slicer"!==t.params.effect)return;t.classNames.push("swiper-slicer");const e={slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};Object.assign(t.params,e),Object.assign(t.originalParams,e)}),i("init",()=>{"slicer"===t.params.effect&&(r(),s("setTranslate",t,t.translate))}),i("resize init",()=>{"slicer"===t.params.effect&&n()})},window.SwiperGL=function({swiper:t,on:e,extendParams:i}){t.gl=null;let s=!1;i({gl:{shader:"random",shaderPerSlide:!1,displacementMap:void 0}});const r=()=>{t.gl=new At({swiper:t,shader:t.params.gl.shader,shaderPerSlide:t.params.gl.shaderPerSlide})};let n,a;e("beforeInit",()=>{if("gl"!==t.params.effect)return;if(!function(){try{const t=document.createElement("canvas");return!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}())return void(s=!0);t.classNames.push(`${t.params.containerModifierClass}gl`);const e={watchSlidesProgress:!0};Object.assign(t.params,e),Object.assign(t.originalParams,e)}),e("init",()=>{"gl"!==t.params.effect||s||t.glDestroyed||t.gl||r()}),e("resize",()=>{"gl"!==t.params.effect||s||t.glDestroyed||t.gl.resize()}),e("setTranslate",()=>{if("gl"!==t.params.effect||s||t.glDestroyed)return;let e,i,o;t.gl||r();let l,h=!1;if(t.slides.forEach((s,r)=>{const n=s.progress;t.params.cssMode&&0===Math.round(100*n)&&(h=!0),(n>0&&n<1||0===n&&t.progress<a)&&(e=r,i=r+1,o=n,l=e),(n<0&&n>-1||0===n&&t.progress>a)&&(e=r-1,i=r,o=1+n,l=i)}),a=t.progress||0,void 0===e&&void 0===i)return;h=h&&Math.round(o)===o;const c=Math.min(l,t.activeIndex),u=Math.max(l,t.activeIndex);t.params.loop||u===c||(e=c,i=u),t.gl.setProgress(e,i,o,n,h)}),e("setTransition",(e,i)=>{"gl"!==t.params.effect||s||t.glDestroyed||(n=i>0&&!t.params.cssMode)}),e("slidesGridLengthChange",()=>{"gl"!==t.params.effect||s||!t.initialized||t.glDestroyed||t.gl&&t.gl.loadTextures&&t.gl.loadTextures()}),e("beforeDestroy",()=>{"gl"!==t.params.effect||s||t.gl&&(t.glDestroyed=!0,t.gl.destroy(),t.gl=null)})},window.EffectShutters=function({swiper:t,extendParams:e,on:i}){e({shuttersEffect:{split:5}}),i("beforeInit",()=>{if("shutters"!==t.params.effect)return;t.classNames.push("swiper-shutters");const e={watchSlidesProgress:!0,parallax:{enabled:!0}};Object.assign(t.params,e),Object.assign(t.originalParams,e)}),i("init",()=>{"shutters"===t.params.effect&&t.slides.forEach(e=>{const i=e.querySelector(".swiper-shutters-image");if(!i)return;const s=i.nextElementSibling,r=document.createElement("div");r.classList.add("swiper-shutters-image-clones");for(let e=0;e<t.params.shuttersEffect.split;e+=1){const t=document.createElement("div");t.classList.add("swiper-shutters-image-clone"),t.appendChild(i.cloneNode()),r.appendChild(t)}s?i.parentNode.insertBefore(r,s):i.parentNode.appendChild(r)})}),i("resize init",()=>{"shutters"===t.params.effect&&(t.el.querySelectorAll(".swiper-shutters-image").forEach(e=>{e.style.width=`${t.width}px`,e.style.height=`${t.height}px`}),t.el.querySelectorAll(".swiper-slide, swiper-slide").forEach(e=>{e.querySelectorAll(".swiper-shutters-image-clone").forEach((e,i)=>{const s=100/t.params.shuttersEffect.split,r=e.querySelector(".swiper-shutters-image");"vertical"===t.params.direction?(e.style.height=100/t.params.shuttersEffect.split+"%",e.style.top=100/t.params.shuttersEffect.split*i+"%",r.style.top=`-${100*i}%`):(e.style.width=100/t.params.shuttersEffect.split+"%",e.style.left=100/t.params.shuttersEffect.split*i+"%",r.style.left=`-${100*i}%`),r.setAttribute("data-swiper-parallax","10%"),e.setAttribute("data-swiper-parallax",s*(i+1)*(i%2==0?.5:-1)+"%")})}))})},window.EffectCarousel=function({swiper:t,on:e,extendParams:i}){i({carouselEffect:{opacityStep:.33,scaleStep:.2,sideSlides:2}}),e("beforeInit",()=>{if("carousel"!==t.params.effect)return;t.classNames.push(`${t.params.containerModifierClass}carousel`);const e={watchSlidesProgress:!0,centeredSlides:!0};Object.assign(t.params,e),Object.assign(t.originalParams,e)}),e("progress",()=>{if("carousel"!==t.params.effect)return;const{scaleStep:e,opacityStep:i}=t.params.carouselEffect,s=Math.max(Math.min(t.params.carouselEffect.sideSlides,3),1),r={1:2,2:1,3:.2}[s],n={1:50,2:50,3:67}[s],a=t.slides.length;for(let o=0;o<t.slides.length;o+=1){const l=t.slides[o],h=t.slides[o].progress,c=Math.abs(h);let u=1;c>1&&(u=.3*(c-1)*r+1);const d=l.querySelectorAll(".swiper-carousel-animate-opacity"),m=h*u*n*(t.rtlTranslate?-1:1)+"%",p=1-c*e,g=a-Math.abs(Math.round(h));l.style.transform=`translateX(${m}) scale(${p})`,l.style.zIndex=g,l.style.opacity=c>s+1?0:1,d.forEach(t=>{t.style.opacity=1-c*i})}}),e("setTransition",(e,i)=>{if("carousel"===t.params.effect)for(let e=0;e<t.slides.length;e+=1){const s=t.slides[e],r=s.querySelectorAll(".swiper-carousel-animate-opacity");s.style.transitionDuration=`${i}ms`,r.forEach(t=>{t.style.transitionDuration=`${i}ms`})}})},window.EffectMaterial=function({swiper:t,on:e,extendParams:i}){i({materialEffect:{slideSplitRatio:.65}}),e("beforeInit",()=>{if("material"!==t.params.effect)return;t.classNames.push(`${t.params.containerModifierClass}material`),t.isElement&&t.hostEl&&t.hostEl.classList.add(`swiper-${t.params.direction}`);const e={loopAdditionalSlides:1,watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode};Object.assign(t.params,e),Object.assign(t.originalParams,e)}),e("setTranslate",()=>{"material"===t.params.effect&&(()=>{const{slides:e,slidesSizesGrid:i,params:s,size:r}=t,{slidesPerView:n,spaceBetween:a,cssMode:o,centeredSlides:l}=s,h=l?.5:Math.min(Math.max(s.materialEffect.slideSplitRatio,0),1),c=l?.5:1-Math.min(Math.max(s.materialEffect.slideSplitRatio,0),1);for(let s=0;s<e.length;s+=1){const u=e[s],d=u.querySelector(".swiper-material-wrapper"),m=u.querySelectorAll(".swiper-material-animate-opacity"),p=u.querySelectorAll("[data-swiper-material-scale]"),g=-u.progress,f=u.swiperSlideOffset,x=t.translate;let v,w=0,A=0;const y=i[s],M=0!==c||l?a/2/y:0,E=o?x:0,b=l&&n%2==1,U=l&&n%2==0;if(g<=0)if(l&&n>1){if(g<=0&&g>=-(n-2)&&(w=x,v=1,A=1),b&&g<-(n-Math.ceil(n/2))){const t=Math.ceil(n/2)-Math.abs(g);v=t,A=v**4,w=x+y*(1-t)*(1+2*M)}if(U&&g<-(n/2-1)&&g>=-n/2){const t=n/2-Math.abs(g);v=h-M+(c+2*M)*(n/2-Math.abs(g)),A=((v-h)/(1-h))**4,w=x+y*(c+M)*(1-t)}if(U&&g<-n/2){let t=n/2+1-Math.abs(g);v=0,t>=0&&(t=2*-M+t*(1+2*M),t=Math.max(Math.min(t,1),0),v=(c-M)*t),w=x+y*(c+M)*(2-t)+y*(c-M)*(1-t)}}else v=1+g,w=-f,A=v**4;if(1===n)g>0&&(v=1-g,w=-f+r*Math.min(g,1),A=v**4);else{if(g>0&&g<=n-2&&(w=x,v=1,A=1),U?g>n/2-1&&g<=n/2:g>n-2&&g<=n-1){const t=U?Math.floor(n/2):1;v=h-M+(c+2*M)*(n-t-Math.abs(g)),w=x,A=1===h?v**4:((v-h)/(1-h))**4}if(b&&g>n-Math.ceil(n/2)){const t=Math.ceil(n/2)-(n-Math.abs(g));w=x-y*(2*M)*t,v=1-t,A=v**4}if(g>n-1&&g<=n&&!l){const t=n-Math.abs(g),e=c-M;v=e+(h-M-e)*t,w=x-y*(c+M)*(1-t),0===c&&(A=v**4)}if(g>(l?n/2:n)&&!b){let t=(l?n/2+1:n+1)-Math.abs(g),e=0;v=0,t>=0&&(t=2*-M+t*(1+2*M),t=Math.max(Math.min(t,1),0),v=(c-M)*t,e=-t*(c+M)*y+t*a),w=-f+r*Math.min(g,1)+e,A=0}}v<0&&(v=0),v>1&&(v=1),0===v&&(v=1e-4),u.style.setProperty("--swiper-material-scale",v),m.forEach(t=>{t.style.opacity=A}),p.forEach(t=>{let e=parseFloat(t.getAttribute("data-swiper-material-scale"));(Number.isNaN(e)||!e&&0!==e)&&(e=1),t.style.transform=`scale(${1+(e-1)*(1-v)})`}),t.isHorizontal()?(d.style.width=100*v+"%",d.style.transform=`translate3d(${w-E}px, 0, 0)`):(d.style.height=100*v+"%",d.style.transform=`translate3d(0, ${w-E}px, 0)`)}})()}),e("setTransition",(e,i)=>{"material"===t.params.effect&&(e=>{const{slides:i}=t,s=[];for(let t=0;t<i.length;t+=1){const r=i[t],n=r.querySelector(".swiper-material-wrapper"),a=r.querySelectorAll(".swiper-material-animate-opacity");[n,...r.querySelectorAll("[data-swiper-material-scale]"),...a].forEach(t=>{t.style.transitionDuration=`${e}ms`}),s.push(n)}yt({swiper:t,duration:e,transformElements:s,allSlides:!0})})(i)}),e("slidesUpdated",()=>{if(!t.params.centeredSlides&&t.params.slidesPerView>1&&!t.params.loop&&t.params.materialEffect.slideSplitRatio<1){const e=t.snapGrid[t.snapGrid.length-1];t.snapGrid.push(e+t.slidesSizesGrid[0]+t.params.spaceBetween)}t.__preventObserver__=!0,t.el.style.setProperty("--swiper-material-slide-size",`${t.slidesSizesGrid[0]}px`),requestAnimationFrame(()=>{t.__preventObserver__=!1})})},void 0===window.colorjs&&(window.colorjs={}),window.colorjs.average=(t,e)=>Ut(bt,t,e)})()})();
|
|
3
2
|
//# sourceMappingURL=swiper-plugin.js.map
|