@zappar/zappar-cv 0.4.0-beta.1 → 0.4.0-beta.7
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/CHANGELOG.md +79 -34
- package/README.md +2 -2
- package/lib/camera-source-map.d.ts +10 -0
- package/lib/camera-source-map.js +40 -0
- package/lib/camera-source.d.ts +2 -5
- package/lib/camera-source.js +3 -13
- package/lib/compatibility.js +1 -1
- package/lib/drawcamera.js +2 -1
- package/lib/gen/zappar-client.js +6 -1
- package/lib/gen/zappar-cwrap.js +37 -21
- package/lib/gen/zappar-native.d.ts +11 -0
- package/lib/gen/zappar-native.js +13 -1
- package/lib/gen/zappar-server.js +1 -1
- package/lib/gen/zappar.d.ts +5 -0
- package/lib/gen/zappar.js +5 -3
- package/lib/gfx.d.ts +1 -0
- package/lib/gfx.js +4 -0
- package/lib/html-element-source.d.ts +3 -20
- package/lib/html-element-source.js +19 -263
- package/lib/image-process-gl.d.ts +37 -0
- package/lib/image-process-gl.js +265 -0
- package/lib/imagebitmap-camera-source.d.ts +36 -0
- package/lib/imagebitmap-camera-source.js +277 -0
- package/lib/index.d.ts +1 -1
- package/lib/mstp-camera-source.d.ts +29 -0
- package/lib/mstp-camera-source.js +230 -0
- package/lib/native.js +45 -8
- package/lib/pipeline.d.ts +13 -3
- package/lib/pipeline.js +95 -26
- package/lib/profile.d.ts +2 -0
- package/lib/profile.js +55 -44
- package/lib/sequencerecorder.d.ts +1 -0
- package/lib/sequencerecorder.js +11 -0
- package/lib/sequencesource.d.ts +7 -1
- package/lib/sequencesource.js +89 -47
- package/lib/source.d.ts +6 -4
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/worker-client.js +0 -5
- package/lib/worker-imagebitmap.d.ts +5 -0
- package/lib/worker-imagebitmap.js +63 -0
- package/lib/worker-server.d.ts +0 -5
- package/lib/worker-server.js +120 -30
- package/lib/workerinterface.d.ts +47 -1
- package/lib/zcv.js +23 -23
- package/lib/zcv.wasm +0 -0
- package/package.json +34 -31
- package/umd/{a20150d17b0290cadaa6cb9911ab9500.wasm → 9d9c4b542b40c41e3ef7587fb91e5d38.wasm} +0 -0
- package/umd/zappar-cv.js +1 -9
- package/umd/zappar-cv.worker.js +1 -1
- package/lib/bundleworker-mainthread.d.ts +0 -2
- package/lib/bundleworker-mainthread.js +0 -36
- package/lib/bundleworker-worker.d.ts +0 -3
- package/lib/bundleworker-worker.js +0 -47
- package/umd/5dd5cacd27e6e7da828f.bundleworker.js +0 -1
package/umd/zappar-cv.js
CHANGED
|
@@ -1,9 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ZCV=t():e.ZCV=t()}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=16)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.zcwarn=t.zcerr=t.zcout=t.setLogLevel=void 0;const n=r(10);let a=n.log_level_t.LOG_LEVEL_ERROR;t.setLogLevel=function(e){a=e},t.zcout=function(...e){a>=n.log_level_t.LOG_LEVEL_VERBOSE&&console.log("[Zappar] INFO",...e)},t.zcerr=function(...e){a>=n.log_level_t.LOG_LEVEL_ERROR&&console.error("[Zappar] ERROR",...e)},t.zcwarn=function(...e){a>=n.log_level_t.LOG_LEVEL_VERBOSE&&console.log("[Zappar] WARN",...e)}},function(e,t,r){"use strict";r.r(t);var n={};r.r(n),r.d(n,"EPSILON",(function(){return d})),r.d(n,"ARRAY_TYPE",(function(){return h})),r.d(n,"RANDOM",(function(){return p})),r.d(n,"setMatrixArrayType",(function(){return m})),r.d(n,"toRadian",(function(){return g})),r.d(n,"equals",(function(){return w}));var a={};r.r(a),r.d(a,"create",(function(){return v})),r.d(a,"clone",(function(){return y})),r.d(a,"copy",(function(){return M})),r.d(a,"identity",(function(){return x})),r.d(a,"fromValues",(function(){return E})),r.d(a,"set",(function(){return A})),r.d(a,"transpose",(function(){return k})),r.d(a,"invert",(function(){return T})),r.d(a,"adjoint",(function(){return z})),r.d(a,"determinant",(function(){return R})),r.d(a,"multiply",(function(){return F})),r.d(a,"rotate",(function(){return S})),r.d(a,"scale",(function(){return O})),r.d(a,"fromRotation",(function(){return P})),r.d(a,"fromScaling",(function(){return L})),r.d(a,"str",(function(){return D})),r.d(a,"frob",(function(){return U})),r.d(a,"LDU",(function(){return C})),r.d(a,"add",(function(){return B})),r.d(a,"subtract",(function(){return I})),r.d(a,"exactEquals",(function(){return V})),r.d(a,"equals",(function(){return j})),r.d(a,"multiplyScalar",(function(){return q})),r.d(a,"multiplyScalarAndAdd",(function(){return N})),r.d(a,"mul",(function(){return W})),r.d(a,"sub",(function(){return G}));var i={};r.r(i),r.d(i,"create",(function(){return H})),r.d(i,"clone",(function(){return Y})),r.d(i,"copy",(function(){return X})),r.d(i,"identity",(function(){return Z})),r.d(i,"fromValues",(function(){return J})),r.d(i,"set",(function(){return K})),r.d(i,"invert",(function(){return Q})),r.d(i,"determinant",(function(){return $})),r.d(i,"multiply",(function(){return ee})),r.d(i,"rotate",(function(){return te})),r.d(i,"scale",(function(){return re})),r.d(i,"translate",(function(){return ne})),r.d(i,"fromRotation",(function(){return ae})),r.d(i,"fromScaling",(function(){return ie})),r.d(i,"fromTranslation",(function(){return se})),r.d(i,"str",(function(){return oe})),r.d(i,"frob",(function(){return ce})),r.d(i,"add",(function(){return ue})),r.d(i,"subtract",(function(){return _e})),r.d(i,"multiplyScalar",(function(){return fe})),r.d(i,"multiplyScalarAndAdd",(function(){return le})),r.d(i,"exactEquals",(function(){return de})),r.d(i,"equals",(function(){return he})),r.d(i,"mul",(function(){return pe})),r.d(i,"sub",(function(){return me}));var s={};r.r(s),r.d(s,"create",(function(){return be})),r.d(s,"fromMat4",(function(){return ge})),r.d(s,"clone",(function(){return we})),r.d(s,"copy",(function(){return ve})),r.d(s,"fromValues",(function(){return ye})),r.d(s,"set",(function(){return Me})),r.d(s,"identity",(function(){return xe})),r.d(s,"transpose",(function(){return Ee})),r.d(s,"invert",(function(){return Ae})),r.d(s,"adjoint",(function(){return ke})),r.d(s,"determinant",(function(){return Te})),r.d(s,"multiply",(function(){return ze})),r.d(s,"translate",(function(){return Re})),r.d(s,"rotate",(function(){return Fe})),r.d(s,"scale",(function(){return Se})),r.d(s,"fromTranslation",(function(){return Oe})),r.d(s,"fromRotation",(function(){return Pe})),r.d(s,"fromScaling",(function(){return Le})),r.d(s,"fromMat2d",(function(){return De})),r.d(s,"fromQuat",(function(){return Ue})),r.d(s,"normalFromMat4",(function(){return Ce})),r.d(s,"projection",(function(){return Be})),r.d(s,"str",(function(){return Ie})),r.d(s,"frob",(function(){return Ve})),r.d(s,"add",(function(){return je})),r.d(s,"subtract",(function(){return qe})),r.d(s,"multiplyScalar",(function(){return Ne})),r.d(s,"multiplyScalarAndAdd",(function(){return We})),r.d(s,"exactEquals",(function(){return Ge})),r.d(s,"equals",(function(){return He})),r.d(s,"mul",(function(){return Ye})),r.d(s,"sub",(function(){return Xe}));var o={};r.r(o),r.d(o,"create",(function(){return Ze})),r.d(o,"clone",(function(){return Je})),r.d(o,"copy",(function(){return Ke})),r.d(o,"fromValues",(function(){return Qe})),r.d(o,"set",(function(){return $e})),r.d(o,"identity",(function(){return et})),r.d(o,"transpose",(function(){return tt})),r.d(o,"invert",(function(){return rt})),r.d(o,"adjoint",(function(){return nt})),r.d(o,"determinant",(function(){return at})),r.d(o,"multiply",(function(){return it})),r.d(o,"translate",(function(){return st})),r.d(o,"scale",(function(){return ot})),r.d(o,"rotate",(function(){return ct})),r.d(o,"rotateX",(function(){return ut})),r.d(o,"rotateY",(function(){return _t})),r.d(o,"rotateZ",(function(){return ft})),r.d(o,"fromTranslation",(function(){return lt})),r.d(o,"fromScaling",(function(){return dt})),r.d(o,"fromRotation",(function(){return ht})),r.d(o,"fromXRotation",(function(){return pt})),r.d(o,"fromYRotation",(function(){return mt})),r.d(o,"fromZRotation",(function(){return bt})),r.d(o,"fromRotationTranslation",(function(){return gt})),r.d(o,"fromQuat2",(function(){return wt})),r.d(o,"getTranslation",(function(){return vt})),r.d(o,"getScaling",(function(){return yt})),r.d(o,"getRotation",(function(){return Mt})),r.d(o,"fromRotationTranslationScale",(function(){return xt})),r.d(o,"fromRotationTranslationScaleOrigin",(function(){return Et})),r.d(o,"fromQuat",(function(){return At})),r.d(o,"frustum",(function(){return kt})),r.d(o,"perspective",(function(){return Tt})),r.d(o,"perspectiveFromFieldOfView",(function(){return zt})),r.d(o,"ortho",(function(){return Rt})),r.d(o,"lookAt",(function(){return Ft})),r.d(o,"targetTo",(function(){return St})),r.d(o,"str",(function(){return Ot})),r.d(o,"frob",(function(){return Pt})),r.d(o,"add",(function(){return Lt})),r.d(o,"subtract",(function(){return Dt})),r.d(o,"multiplyScalar",(function(){return Ut})),r.d(o,"multiplyScalarAndAdd",(function(){return Ct})),r.d(o,"exactEquals",(function(){return Bt})),r.d(o,"equals",(function(){return It})),r.d(o,"mul",(function(){return Vt})),r.d(o,"sub",(function(){return jt}));var c={};r.r(c),r.d(c,"create",(function(){return qt})),r.d(c,"clone",(function(){return Nt})),r.d(c,"length",(function(){return Wt})),r.d(c,"fromValues",(function(){return Gt})),r.d(c,"copy",(function(){return Ht})),r.d(c,"set",(function(){return Yt})),r.d(c,"add",(function(){return Xt})),r.d(c,"subtract",(function(){return Zt})),r.d(c,"multiply",(function(){return Jt})),r.d(c,"divide",(function(){return Kt})),r.d(c,"ceil",(function(){return Qt})),r.d(c,"floor",(function(){return $t})),r.d(c,"min",(function(){return er})),r.d(c,"max",(function(){return tr})),r.d(c,"round",(function(){return rr})),r.d(c,"scale",(function(){return nr})),r.d(c,"scaleAndAdd",(function(){return ar})),r.d(c,"distance",(function(){return ir})),r.d(c,"squaredDistance",(function(){return sr})),r.d(c,"squaredLength",(function(){return or})),r.d(c,"negate",(function(){return cr})),r.d(c,"inverse",(function(){return ur})),r.d(c,"normalize",(function(){return _r})),r.d(c,"dot",(function(){return fr})),r.d(c,"cross",(function(){return lr})),r.d(c,"lerp",(function(){return dr})),r.d(c,"hermite",(function(){return hr})),r.d(c,"bezier",(function(){return pr})),r.d(c,"random",(function(){return mr})),r.d(c,"transformMat4",(function(){return br})),r.d(c,"transformMat3",(function(){return gr})),r.d(c,"transformQuat",(function(){return wr})),r.d(c,"rotateX",(function(){return vr})),r.d(c,"rotateY",(function(){return yr})),r.d(c,"rotateZ",(function(){return Mr})),r.d(c,"angle",(function(){return xr})),r.d(c,"zero",(function(){return Er})),r.d(c,"str",(function(){return Ar})),r.d(c,"exactEquals",(function(){return kr})),r.d(c,"equals",(function(){return Tr})),r.d(c,"sub",(function(){return Rr})),r.d(c,"mul",(function(){return Fr})),r.d(c,"div",(function(){return Sr})),r.d(c,"dist",(function(){return Or})),r.d(c,"sqrDist",(function(){return Pr})),r.d(c,"len",(function(){return Lr})),r.d(c,"sqrLen",(function(){return Dr})),r.d(c,"forEach",(function(){return Ur}));var u={};r.r(u),r.d(u,"create",(function(){return Cr})),r.d(u,"clone",(function(){return Br})),r.d(u,"fromValues",(function(){return Ir})),r.d(u,"copy",(function(){return Vr})),r.d(u,"set",(function(){return jr})),r.d(u,"add",(function(){return qr})),r.d(u,"subtract",(function(){return Nr})),r.d(u,"multiply",(function(){return Wr})),r.d(u,"divide",(function(){return Gr})),r.d(u,"ceil",(function(){return Hr})),r.d(u,"floor",(function(){return Yr})),r.d(u,"min",(function(){return Xr})),r.d(u,"max",(function(){return Zr})),r.d(u,"round",(function(){return Jr})),r.d(u,"scale",(function(){return Kr})),r.d(u,"scaleAndAdd",(function(){return Qr})),r.d(u,"distance",(function(){return $r})),r.d(u,"squaredDistance",(function(){return en})),r.d(u,"length",(function(){return tn})),r.d(u,"squaredLength",(function(){return rn})),r.d(u,"negate",(function(){return nn})),r.d(u,"inverse",(function(){return an})),r.d(u,"normalize",(function(){return sn})),r.d(u,"dot",(function(){return on})),r.d(u,"cross",(function(){return cn})),r.d(u,"lerp",(function(){return un})),r.d(u,"random",(function(){return _n})),r.d(u,"transformMat4",(function(){return fn})),r.d(u,"transformQuat",(function(){return ln})),r.d(u,"zero",(function(){return dn})),r.d(u,"str",(function(){return hn})),r.d(u,"exactEquals",(function(){return pn})),r.d(u,"equals",(function(){return mn})),r.d(u,"sub",(function(){return bn})),r.d(u,"mul",(function(){return gn})),r.d(u,"div",(function(){return wn})),r.d(u,"dist",(function(){return vn})),r.d(u,"sqrDist",(function(){return yn})),r.d(u,"len",(function(){return Mn})),r.d(u,"sqrLen",(function(){return xn})),r.d(u,"forEach",(function(){return En}));var _={};r.r(_),r.d(_,"create",(function(){return An})),r.d(_,"identity",(function(){return kn})),r.d(_,"setAxisAngle",(function(){return Tn})),r.d(_,"getAxisAngle",(function(){return zn})),r.d(_,"getAngle",(function(){return Rn})),r.d(_,"multiply",(function(){return Fn})),r.d(_,"rotateX",(function(){return Sn})),r.d(_,"rotateY",(function(){return On})),r.d(_,"rotateZ",(function(){return Pn})),r.d(_,"calculateW",(function(){return Ln})),r.d(_,"exp",(function(){return Dn})),r.d(_,"ln",(function(){return Un})),r.d(_,"pow",(function(){return Cn})),r.d(_,"slerp",(function(){return Bn})),r.d(_,"random",(function(){return In})),r.d(_,"invert",(function(){return Vn})),r.d(_,"conjugate",(function(){return jn})),r.d(_,"fromMat3",(function(){return qn})),r.d(_,"fromEuler",(function(){return Nn})),r.d(_,"str",(function(){return Wn})),r.d(_,"clone",(function(){return Kn})),r.d(_,"fromValues",(function(){return Qn})),r.d(_,"copy",(function(){return $n})),r.d(_,"set",(function(){return ea})),r.d(_,"add",(function(){return ta})),r.d(_,"mul",(function(){return ra})),r.d(_,"scale",(function(){return na})),r.d(_,"dot",(function(){return aa})),r.d(_,"lerp",(function(){return ia})),r.d(_,"length",(function(){return sa})),r.d(_,"len",(function(){return oa})),r.d(_,"squaredLength",(function(){return ca})),r.d(_,"sqrLen",(function(){return ua})),r.d(_,"normalize",(function(){return _a})),r.d(_,"exactEquals",(function(){return fa})),r.d(_,"equals",(function(){return la})),r.d(_,"rotationTo",(function(){return da})),r.d(_,"sqlerp",(function(){return ha})),r.d(_,"setAxes",(function(){return pa}));var f={};r.r(f),r.d(f,"create",(function(){return ma})),r.d(f,"clone",(function(){return ba})),r.d(f,"fromValues",(function(){return ga})),r.d(f,"fromRotationTranslationValues",(function(){return wa})),r.d(f,"fromRotationTranslation",(function(){return va})),r.d(f,"fromTranslation",(function(){return ya})),r.d(f,"fromRotation",(function(){return Ma})),r.d(f,"fromMat4",(function(){return xa})),r.d(f,"copy",(function(){return Ea})),r.d(f,"identity",(function(){return Aa})),r.d(f,"set",(function(){return ka})),r.d(f,"getReal",(function(){return Ta})),r.d(f,"getDual",(function(){return za})),r.d(f,"setReal",(function(){return Ra})),r.d(f,"setDual",(function(){return Fa})),r.d(f,"getTranslation",(function(){return Sa})),r.d(f,"translate",(function(){return Oa})),r.d(f,"rotateX",(function(){return Pa})),r.d(f,"rotateY",(function(){return La})),r.d(f,"rotateZ",(function(){return Da})),r.d(f,"rotateByQuatAppend",(function(){return Ua})),r.d(f,"rotateByQuatPrepend",(function(){return Ca})),r.d(f,"rotateAroundAxis",(function(){return Ba})),r.d(f,"add",(function(){return Ia})),r.d(f,"multiply",(function(){return Va})),r.d(f,"mul",(function(){return ja})),r.d(f,"scale",(function(){return qa})),r.d(f,"dot",(function(){return Na})),r.d(f,"lerp",(function(){return Wa})),r.d(f,"invert",(function(){return Ga})),r.d(f,"conjugate",(function(){return Ha})),r.d(f,"length",(function(){return Ya})),r.d(f,"len",(function(){return Xa})),r.d(f,"squaredLength",(function(){return Za})),r.d(f,"sqrLen",(function(){return Ja})),r.d(f,"normalize",(function(){return Ka})),r.d(f,"str",(function(){return Qa})),r.d(f,"exactEquals",(function(){return $a})),r.d(f,"equals",(function(){return ei}));var l={};r.r(l),r.d(l,"create",(function(){return ti})),r.d(l,"clone",(function(){return ri})),r.d(l,"fromValues",(function(){return ni})),r.d(l,"copy",(function(){return ai})),r.d(l,"set",(function(){return ii})),r.d(l,"add",(function(){return si})),r.d(l,"subtract",(function(){return oi})),r.d(l,"multiply",(function(){return ci})),r.d(l,"divide",(function(){return ui})),r.d(l,"ceil",(function(){return _i})),r.d(l,"floor",(function(){return fi})),r.d(l,"min",(function(){return li})),r.d(l,"max",(function(){return di})),r.d(l,"round",(function(){return hi})),r.d(l,"scale",(function(){return pi})),r.d(l,"scaleAndAdd",(function(){return mi})),r.d(l,"distance",(function(){return bi})),r.d(l,"squaredDistance",(function(){return gi})),r.d(l,"length",(function(){return wi})),r.d(l,"squaredLength",(function(){return vi})),r.d(l,"negate",(function(){return yi})),r.d(l,"inverse",(function(){return Mi})),r.d(l,"normalize",(function(){return xi})),r.d(l,"dot",(function(){return Ei})),r.d(l,"cross",(function(){return Ai})),r.d(l,"lerp",(function(){return ki})),r.d(l,"random",(function(){return Ti})),r.d(l,"transformMat2",(function(){return zi})),r.d(l,"transformMat2d",(function(){return Ri})),r.d(l,"transformMat3",(function(){return Fi})),r.d(l,"transformMat4",(function(){return Si})),r.d(l,"rotate",(function(){return Oi})),r.d(l,"angle",(function(){return Pi})),r.d(l,"zero",(function(){return Li})),r.d(l,"str",(function(){return Di})),r.d(l,"exactEquals",(function(){return Ui})),r.d(l,"equals",(function(){return Ci})),r.d(l,"len",(function(){return Bi})),r.d(l,"sub",(function(){return Ii})),r.d(l,"mul",(function(){return Vi})),r.d(l,"div",(function(){return ji})),r.d(l,"dist",(function(){return qi})),r.d(l,"sqrDist",(function(){return Ni})),r.d(l,"sqrLen",(function(){return Wi})),r.d(l,"forEach",(function(){return Gi}));var d=1e-6,h="undefined"!=typeof Float32Array?Float32Array:Array,p=Math.random;function m(e){h=e}var b=Math.PI/180;function g(e){return e*b}function w(e,t){return Math.abs(e-t)<=d*Math.max(1,Math.abs(e),Math.abs(t))}function v(){var e=new h(4);return h!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}function y(e){var t=new h(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function M(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function x(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e}function E(e,t,r,n){var a=new h(4);return a[0]=e,a[1]=t,a[2]=r,a[3]=n,a}function A(e,t,r,n,a){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e}function k(e,t){if(e===t){var r=t[1];e[1]=t[2],e[2]=r}else e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3];return e}function T(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=r*i-a*n;return s?(s=1/s,e[0]=i*s,e[1]=-n*s,e[2]=-a*s,e[3]=r*s,e):null}function z(e,t){var r=t[0];return e[0]=t[3],e[1]=-t[1],e[2]=-t[2],e[3]=r,e}function R(e){return e[0]*e[3]-e[2]*e[1]}function F(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=r[0],c=r[1],u=r[2],_=r[3];return e[0]=n*o+i*c,e[1]=a*o+s*c,e[2]=n*u+i*_,e[3]=a*u+s*_,e}function S(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=Math.sin(r),c=Math.cos(r);return e[0]=n*c+i*o,e[1]=a*c+s*o,e[2]=n*-o+i*c,e[3]=a*-o+s*c,e}function O(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=r[0],c=r[1];return e[0]=n*o,e[1]=a*o,e[2]=i*c,e[3]=s*c,e}function P(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=-r,e[3]=n,e}function L(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=t[1],e}function D(e){return"mat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}function U(e){return Math.hypot(e[0],e[1],e[2],e[3])}function C(e,t,r,n){return e[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-e[2]*r[1],[e,t,r]}function B(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function I(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e}function V(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function j(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],s=t[0],o=t[1],c=t[2],u=t[3];return Math.abs(r-s)<=d*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-o)<=d*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(a-c)<=d*Math.max(1,Math.abs(a),Math.abs(c))&&Math.abs(i-u)<=d*Math.max(1,Math.abs(i),Math.abs(u))}function q(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function N(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var W=F,G=I;function H(){var e=new h(6);return h!=Float32Array&&(e[1]=0,e[2]=0,e[4]=0,e[5]=0),e[0]=1,e[3]=1,e}function Y(e){var t=new h(6);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function X(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function Z(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e}function J(e,t,r,n,a,i){var s=new h(6);return s[0]=e,s[1]=t,s[2]=r,s[3]=n,s[4]=a,s[5]=i,s}function K(e,t,r,n,a,i,s){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=s,e}function Q(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=t[4],o=t[5],c=r*i-n*a;return c?(c=1/c,e[0]=i*c,e[1]=-n*c,e[2]=-a*c,e[3]=r*c,e[4]=(a*o-i*s)*c,e[5]=(n*s-r*o)*c,e):null}function $(e){return e[0]*e[3]-e[1]*e[2]}function ee(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=t[4],c=t[5],u=r[0],_=r[1],f=r[2],l=r[3],d=r[4],h=r[5];return e[0]=n*u+i*_,e[1]=a*u+s*_,e[2]=n*f+i*l,e[3]=a*f+s*l,e[4]=n*d+i*h+o,e[5]=a*d+s*h+c,e}function te(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=t[4],c=t[5],u=Math.sin(r),_=Math.cos(r);return e[0]=n*_+i*u,e[1]=a*_+s*u,e[2]=n*-u+i*_,e[3]=a*-u+s*_,e[4]=o,e[5]=c,e}function re(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=t[4],c=t[5],u=r[0],_=r[1];return e[0]=n*u,e[1]=a*u,e[2]=i*_,e[3]=s*_,e[4]=o,e[5]=c,e}function ne(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=t[4],c=t[5],u=r[0],_=r[1];return e[0]=n,e[1]=a,e[2]=i,e[3]=s,e[4]=n*u+i*_+o,e[5]=a*u+s*_+c,e}function ae(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=-r,e[3]=n,e[4]=0,e[5]=0,e}function ie(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=t[1],e[4]=0,e[5]=0,e}function se(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=t[0],e[5]=t[1],e}function oe(e){return"mat2d("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+")"}function ce(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],1)}function ue(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e}function _e(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e}function fe(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e}function le(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e}function de(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]}function he(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],s=e[4],o=e[5],c=t[0],u=t[1],_=t[2],f=t[3],l=t[4],h=t[5];return Math.abs(r-c)<=d*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(n-u)<=d*Math.max(1,Math.abs(n),Math.abs(u))&&Math.abs(a-_)<=d*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(i-f)<=d*Math.max(1,Math.abs(i),Math.abs(f))&&Math.abs(s-l)<=d*Math.max(1,Math.abs(s),Math.abs(l))&&Math.abs(o-h)<=d*Math.max(1,Math.abs(o),Math.abs(h))}var pe=ee,me=_e;function be(){var e=new h(9);return h!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function ge(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e}function we(e){var t=new h(9);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function ve(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function ye(e,t,r,n,a,i,s,o,c){var u=new h(9);return u[0]=e,u[1]=t,u[2]=r,u[3]=n,u[4]=a,u[5]=i,u[6]=s,u[7]=o,u[8]=c,u}function Me(e,t,r,n,a,i,s,o,c,u){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=s,e[6]=o,e[7]=c,e[8]=u,e}function xe(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function Ee(e,t){if(e===t){var r=t[1],n=t[2],a=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=a}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Ae(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=t[4],o=t[5],c=t[6],u=t[7],_=t[8],f=_*s-o*u,l=-_*i+o*c,d=u*i-s*c,h=r*f+n*l+a*d;return h?(h=1/h,e[0]=f*h,e[1]=(-_*n+a*u)*h,e[2]=(o*n-a*s)*h,e[3]=l*h,e[4]=(_*r-a*c)*h,e[5]=(-o*r+a*i)*h,e[6]=d*h,e[7]=(-u*r+n*c)*h,e[8]=(s*r-n*i)*h,e):null}function ke(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=t[4],o=t[5],c=t[6],u=t[7],_=t[8];return e[0]=s*_-o*u,e[1]=a*u-n*_,e[2]=n*o-a*s,e[3]=o*c-i*_,e[4]=r*_-a*c,e[5]=a*i-r*o,e[6]=i*u-s*c,e[7]=n*c-r*u,e[8]=r*s-n*i,e}function Te(e){var t=e[0],r=e[1],n=e[2],a=e[3],i=e[4],s=e[5],o=e[6],c=e[7],u=e[8];return t*(u*i-s*c)+r*(-u*a+s*o)+n*(c*a-i*o)}function ze(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=t[4],c=t[5],u=t[6],_=t[7],f=t[8],l=r[0],d=r[1],h=r[2],p=r[3],m=r[4],b=r[5],g=r[6],w=r[7],v=r[8];return e[0]=l*n+d*s+h*u,e[1]=l*a+d*o+h*_,e[2]=l*i+d*c+h*f,e[3]=p*n+m*s+b*u,e[4]=p*a+m*o+b*_,e[5]=p*i+m*c+b*f,e[6]=g*n+w*s+v*u,e[7]=g*a+w*o+v*_,e[8]=g*i+w*c+v*f,e}function Re(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=t[4],c=t[5],u=t[6],_=t[7],f=t[8],l=r[0],d=r[1];return e[0]=n,e[1]=a,e[2]=i,e[3]=s,e[4]=o,e[5]=c,e[6]=l*n+d*s+u,e[7]=l*a+d*o+_,e[8]=l*i+d*c+f,e}function Fe(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=t[4],c=t[5],u=t[6],_=t[7],f=t[8],l=Math.sin(r),d=Math.cos(r);return e[0]=d*n+l*s,e[1]=d*a+l*o,e[2]=d*i+l*c,e[3]=d*s-l*n,e[4]=d*o-l*a,e[5]=d*c-l*i,e[6]=u,e[7]=_,e[8]=f,e}function Se(e,t,r){var n=r[0],a=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=a*t[3],e[4]=a*t[4],e[5]=a*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Oe(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=t[0],e[7]=t[1],e[8]=1,e}function Pe(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=-r,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function Le(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=t[1],e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function De(e,t){return e[0]=t[0],e[1]=t[1],e[2]=0,e[3]=t[2],e[4]=t[3],e[5]=0,e[6]=t[4],e[7]=t[5],e[8]=1,e}function Ue(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=r+r,o=n+n,c=a+a,u=r*s,_=n*s,f=n*o,l=a*s,d=a*o,h=a*c,p=i*s,m=i*o,b=i*c;return e[0]=1-f-h,e[3]=_-b,e[6]=l+m,e[1]=_+b,e[4]=1-u-h,e[7]=d-p,e[2]=l-m,e[5]=d+p,e[8]=1-u-f,e}function Ce(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=t[4],o=t[5],c=t[6],u=t[7],_=t[8],f=t[9],l=t[10],d=t[11],h=t[12],p=t[13],m=t[14],b=t[15],g=r*o-n*s,w=r*c-a*s,v=r*u-i*s,y=n*c-a*o,M=n*u-i*o,x=a*u-i*c,E=_*p-f*h,A=_*m-l*h,k=_*b-d*h,T=f*m-l*p,z=f*b-d*p,R=l*b-d*m,F=g*R-w*z+v*T+y*k-M*A+x*E;return F?(F=1/F,e[0]=(o*R-c*z+u*T)*F,e[1]=(c*k-s*R-u*A)*F,e[2]=(s*z-o*k+u*E)*F,e[3]=(a*z-n*R-i*T)*F,e[4]=(r*R-a*k+i*A)*F,e[5]=(n*k-r*z-i*E)*F,e[6]=(p*x-m*M+b*y)*F,e[7]=(m*v-h*x-b*w)*F,e[8]=(h*M-p*v+b*g)*F,e):null}function Be(e,t,r){return e[0]=2/t,e[1]=0,e[2]=0,e[3]=0,e[4]=-2/r,e[5]=0,e[6]=-1,e[7]=1,e[8]=1,e}function Ie(e){return"mat3("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+")"}function Ve(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])}function je(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e}function qe(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e}function Ne(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e}function We(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e}function Ge(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]}function He(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],s=e[4],o=e[5],c=e[6],u=e[7],_=e[8],f=t[0],l=t[1],h=t[2],p=t[3],m=t[4],b=t[5],g=t[6],w=t[7],v=t[8];return Math.abs(r-f)<=d*Math.max(1,Math.abs(r),Math.abs(f))&&Math.abs(n-l)<=d*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(a-h)<=d*Math.max(1,Math.abs(a),Math.abs(h))&&Math.abs(i-p)<=d*Math.max(1,Math.abs(i),Math.abs(p))&&Math.abs(s-m)<=d*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(o-b)<=d*Math.max(1,Math.abs(o),Math.abs(b))&&Math.abs(c-g)<=d*Math.max(1,Math.abs(c),Math.abs(g))&&Math.abs(u-w)<=d*Math.max(1,Math.abs(u),Math.abs(w))&&Math.abs(_-v)<=d*Math.max(1,Math.abs(_),Math.abs(v))}var Ye=ze,Xe=qe;function Ze(){var e=new h(16);return h!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Je(e){var t=new h(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Ke(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Qe(e,t,r,n,a,i,s,o,c,u,_,f,l,d,p,m){var b=new h(16);return b[0]=e,b[1]=t,b[2]=r,b[3]=n,b[4]=a,b[5]=i,b[6]=s,b[7]=o,b[8]=c,b[9]=u,b[10]=_,b[11]=f,b[12]=l,b[13]=d,b[14]=p,b[15]=m,b}function $e(e,t,r,n,a,i,s,o,c,u,_,f,l,d,h,p,m){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=s,e[6]=o,e[7]=c,e[8]=u,e[9]=_,e[10]=f,e[11]=l,e[12]=d,e[13]=h,e[14]=p,e[15]=m,e}function et(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function tt(e,t){if(e===t){var r=t[1],n=t[2],a=t[3],i=t[6],s=t[7],o=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=a,e[13]=s,e[14]=o}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function rt(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=t[4],o=t[5],c=t[6],u=t[7],_=t[8],f=t[9],l=t[10],d=t[11],h=t[12],p=t[13],m=t[14],b=t[15],g=r*o-n*s,w=r*c-a*s,v=r*u-i*s,y=n*c-a*o,M=n*u-i*o,x=a*u-i*c,E=_*p-f*h,A=_*m-l*h,k=_*b-d*h,T=f*m-l*p,z=f*b-d*p,R=l*b-d*m,F=g*R-w*z+v*T+y*k-M*A+x*E;return F?(F=1/F,e[0]=(o*R-c*z+u*T)*F,e[1]=(a*z-n*R-i*T)*F,e[2]=(p*x-m*M+b*y)*F,e[3]=(l*M-f*x-d*y)*F,e[4]=(c*k-s*R-u*A)*F,e[5]=(r*R-a*k+i*A)*F,e[6]=(m*v-h*x-b*w)*F,e[7]=(_*x-l*v+d*w)*F,e[8]=(s*z-o*k+u*E)*F,e[9]=(n*k-r*z-i*E)*F,e[10]=(h*M-p*v+b*g)*F,e[11]=(f*v-_*M-d*g)*F,e[12]=(o*A-s*T-c*E)*F,e[13]=(r*T-n*A+a*E)*F,e[14]=(p*w-h*y-m*g)*F,e[15]=(_*y-f*w+l*g)*F,e):null}function nt(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=t[4],o=t[5],c=t[6],u=t[7],_=t[8],f=t[9],l=t[10],d=t[11],h=t[12],p=t[13],m=t[14],b=t[15];return e[0]=o*(l*b-d*m)-f*(c*b-u*m)+p*(c*d-u*l),e[1]=-(n*(l*b-d*m)-f*(a*b-i*m)+p*(a*d-i*l)),e[2]=n*(c*b-u*m)-o*(a*b-i*m)+p*(a*u-i*c),e[3]=-(n*(c*d-u*l)-o*(a*d-i*l)+f*(a*u-i*c)),e[4]=-(s*(l*b-d*m)-_*(c*b-u*m)+h*(c*d-u*l)),e[5]=r*(l*b-d*m)-_*(a*b-i*m)+h*(a*d-i*l),e[6]=-(r*(c*b-u*m)-s*(a*b-i*m)+h*(a*u-i*c)),e[7]=r*(c*d-u*l)-s*(a*d-i*l)+_*(a*u-i*c),e[8]=s*(f*b-d*p)-_*(o*b-u*p)+h*(o*d-u*f),e[9]=-(r*(f*b-d*p)-_*(n*b-i*p)+h*(n*d-i*f)),e[10]=r*(o*b-u*p)-s*(n*b-i*p)+h*(n*u-i*o),e[11]=-(r*(o*d-u*f)-s*(n*d-i*f)+_*(n*u-i*o)),e[12]=-(s*(f*m-l*p)-_*(o*m-c*p)+h*(o*l-c*f)),e[13]=r*(f*m-l*p)-_*(n*m-a*p)+h*(n*l-a*f),e[14]=-(r*(o*m-c*p)-s*(n*m-a*p)+h*(n*c-a*o)),e[15]=r*(o*l-c*f)-s*(n*l-a*f)+_*(n*c-a*o),e}function at(e){var t=e[0],r=e[1],n=e[2],a=e[3],i=e[4],s=e[5],o=e[6],c=e[7],u=e[8],_=e[9],f=e[10],l=e[11],d=e[12],h=e[13],p=e[14],m=e[15];return(t*s-r*i)*(f*m-l*p)-(t*o-n*i)*(_*m-l*h)+(t*c-a*i)*(_*p-f*h)+(r*o-n*s)*(u*m-l*d)-(r*c-a*s)*(u*p-f*d)+(n*c-a*o)*(u*h-_*d)}function it(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=t[4],c=t[5],u=t[6],_=t[7],f=t[8],l=t[9],d=t[10],h=t[11],p=t[12],m=t[13],b=t[14],g=t[15],w=r[0],v=r[1],y=r[2],M=r[3];return e[0]=w*n+v*o+y*f+M*p,e[1]=w*a+v*c+y*l+M*m,e[2]=w*i+v*u+y*d+M*b,e[3]=w*s+v*_+y*h+M*g,w=r[4],v=r[5],y=r[6],M=r[7],e[4]=w*n+v*o+y*f+M*p,e[5]=w*a+v*c+y*l+M*m,e[6]=w*i+v*u+y*d+M*b,e[7]=w*s+v*_+y*h+M*g,w=r[8],v=r[9],y=r[10],M=r[11],e[8]=w*n+v*o+y*f+M*p,e[9]=w*a+v*c+y*l+M*m,e[10]=w*i+v*u+y*d+M*b,e[11]=w*s+v*_+y*h+M*g,w=r[12],v=r[13],y=r[14],M=r[15],e[12]=w*n+v*o+y*f+M*p,e[13]=w*a+v*c+y*l+M*m,e[14]=w*i+v*u+y*d+M*b,e[15]=w*s+v*_+y*h+M*g,e}function st(e,t,r){var n,a,i,s,o,c,u,_,f,l,d,h,p=r[0],m=r[1],b=r[2];return t===e?(e[12]=t[0]*p+t[4]*m+t[8]*b+t[12],e[13]=t[1]*p+t[5]*m+t[9]*b+t[13],e[14]=t[2]*p+t[6]*m+t[10]*b+t[14],e[15]=t[3]*p+t[7]*m+t[11]*b+t[15]):(n=t[0],a=t[1],i=t[2],s=t[3],o=t[4],c=t[5],u=t[6],_=t[7],f=t[8],l=t[9],d=t[10],h=t[11],e[0]=n,e[1]=a,e[2]=i,e[3]=s,e[4]=o,e[5]=c,e[6]=u,e[7]=_,e[8]=f,e[9]=l,e[10]=d,e[11]=h,e[12]=n*p+o*m+f*b+t[12],e[13]=a*p+c*m+l*b+t[13],e[14]=i*p+u*m+d*b+t[14],e[15]=s*p+_*m+h*b+t[15]),e}function ot(e,t,r){var n=r[0],a=r[1],i=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*a,e[5]=t[5]*a,e[6]=t[6]*a,e[7]=t[7]*a,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function ct(e,t,r,n){var a,i,s,o,c,u,_,f,l,h,p,m,b,g,w,v,y,M,x,E,A,k,T,z,R=n[0],F=n[1],S=n[2],O=Math.hypot(R,F,S);return O<d?null:(R*=O=1/O,F*=O,S*=O,a=Math.sin(r),s=1-(i=Math.cos(r)),o=t[0],c=t[1],u=t[2],_=t[3],f=t[4],l=t[5],h=t[6],p=t[7],m=t[8],b=t[9],g=t[10],w=t[11],v=R*R*s+i,y=F*R*s+S*a,M=S*R*s-F*a,x=R*F*s-S*a,E=F*F*s+i,A=S*F*s+R*a,k=R*S*s+F*a,T=F*S*s-R*a,z=S*S*s+i,e[0]=o*v+f*y+m*M,e[1]=c*v+l*y+b*M,e[2]=u*v+h*y+g*M,e[3]=_*v+p*y+w*M,e[4]=o*x+f*E+m*A,e[5]=c*x+l*E+b*A,e[6]=u*x+h*E+g*A,e[7]=_*x+p*E+w*A,e[8]=o*k+f*T+m*z,e[9]=c*k+l*T+b*z,e[10]=u*k+h*T+g*z,e[11]=_*k+p*T+w*z,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function ut(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[4],s=t[5],o=t[6],c=t[7],u=t[8],_=t[9],f=t[10],l=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*a+u*n,e[5]=s*a+_*n,e[6]=o*a+f*n,e[7]=c*a+l*n,e[8]=u*a-i*n,e[9]=_*a-s*n,e[10]=f*a-o*n,e[11]=l*a-c*n,e}function _t(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[0],s=t[1],o=t[2],c=t[3],u=t[8],_=t[9],f=t[10],l=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a-u*n,e[1]=s*a-_*n,e[2]=o*a-f*n,e[3]=c*a-l*n,e[8]=i*n+u*a,e[9]=s*n+_*a,e[10]=o*n+f*a,e[11]=c*n+l*a,e}function ft(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[0],s=t[1],o=t[2],c=t[3],u=t[4],_=t[5],f=t[6],l=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a+u*n,e[1]=s*a+_*n,e[2]=o*a+f*n,e[3]=c*a+l*n,e[4]=u*a-i*n,e[5]=_*a-s*n,e[6]=f*a-o*n,e[7]=l*a-c*n,e}function lt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function dt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ht(e,t,r){var n,a,i,s=r[0],o=r[1],c=r[2],u=Math.hypot(s,o,c);return u<d?null:(s*=u=1/u,o*=u,c*=u,n=Math.sin(t),i=1-(a=Math.cos(t)),e[0]=s*s*i+a,e[1]=o*s*i+c*n,e[2]=c*s*i-o*n,e[3]=0,e[4]=s*o*i-c*n,e[5]=o*o*i+a,e[6]=c*o*i+s*n,e[7]=0,e[8]=s*c*i+o*n,e[9]=o*c*i-s*n,e[10]=c*c*i+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function pt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function mt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function bt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function gt(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=n+n,c=a+a,u=i+i,_=n*o,f=n*c,l=n*u,d=a*c,h=a*u,p=i*u,m=s*o,b=s*c,g=s*u;return e[0]=1-(d+p),e[1]=f+g,e[2]=l-b,e[3]=0,e[4]=f-g,e[5]=1-(_+p),e[6]=h+m,e[7]=0,e[8]=l+b,e[9]=h-m,e[10]=1-(_+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function wt(e,t){var r=new h(3),n=-t[0],a=-t[1],i=-t[2],s=t[3],o=t[4],c=t[5],u=t[6],_=t[7],f=n*n+a*a+i*i+s*s;return f>0?(r[0]=2*(o*s+_*n+c*i-u*a)/f,r[1]=2*(c*s+_*a+u*n-o*i)/f,r[2]=2*(u*s+_*i+o*a-c*n)/f):(r[0]=2*(o*s+_*n+c*i-u*a),r[1]=2*(c*s+_*a+u*n-o*i),r[2]=2*(u*s+_*i+o*a-c*n)),gt(e,t,r),e}function vt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function yt(e,t){var r=t[0],n=t[1],a=t[2],i=t[4],s=t[5],o=t[6],c=t[8],u=t[9],_=t[10];return e[0]=Math.hypot(r,n,a),e[1]=Math.hypot(i,s,o),e[2]=Math.hypot(c,u,_),e}function Mt(e,t){var r=new h(3);yt(r,t);var n=1/r[0],a=1/r[1],i=1/r[2],s=t[0]*n,o=t[1]*a,c=t[2]*i,u=t[4]*n,_=t[5]*a,f=t[6]*i,l=t[8]*n,d=t[9]*a,p=t[10]*i,m=s+_+p,b=0;return m>0?(b=2*Math.sqrt(m+1),e[3]=.25*b,e[0]=(f-d)/b,e[1]=(l-c)/b,e[2]=(o-u)/b):s>_&&s>p?(b=2*Math.sqrt(1+s-_-p),e[3]=(f-d)/b,e[0]=.25*b,e[1]=(o+u)/b,e[2]=(l+c)/b):_>p?(b=2*Math.sqrt(1+_-s-p),e[3]=(l-c)/b,e[0]=(o+u)/b,e[1]=.25*b,e[2]=(f+d)/b):(b=2*Math.sqrt(1+p-s-_),e[3]=(o-u)/b,e[0]=(l+c)/b,e[1]=(f+d)/b,e[2]=.25*b),e}function xt(e,t,r,n){var a=t[0],i=t[1],s=t[2],o=t[3],c=a+a,u=i+i,_=s+s,f=a*c,l=a*u,d=a*_,h=i*u,p=i*_,m=s*_,b=o*c,g=o*u,w=o*_,v=n[0],y=n[1],M=n[2];return e[0]=(1-(h+m))*v,e[1]=(l+w)*v,e[2]=(d-g)*v,e[3]=0,e[4]=(l-w)*y,e[5]=(1-(f+m))*y,e[6]=(p+b)*y,e[7]=0,e[8]=(d+g)*M,e[9]=(p-b)*M,e[10]=(1-(f+h))*M,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Et(e,t,r,n,a){var i=t[0],s=t[1],o=t[2],c=t[3],u=i+i,_=s+s,f=o+o,l=i*u,d=i*_,h=i*f,p=s*_,m=s*f,b=o*f,g=c*u,w=c*_,v=c*f,y=n[0],M=n[1],x=n[2],E=a[0],A=a[1],k=a[2],T=(1-(p+b))*y,z=(d+v)*y,R=(h-w)*y,F=(d-v)*M,S=(1-(l+b))*M,O=(m+g)*M,P=(h+w)*x,L=(m-g)*x,D=(1-(l+p))*x;return e[0]=T,e[1]=z,e[2]=R,e[3]=0,e[4]=F,e[5]=S,e[6]=O,e[7]=0,e[8]=P,e[9]=L,e[10]=D,e[11]=0,e[12]=r[0]+E-(T*E+F*A+P*k),e[13]=r[1]+A-(z*E+S*A+L*k),e[14]=r[2]+k-(R*E+O*A+D*k),e[15]=1,e}function At(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=r+r,o=n+n,c=a+a,u=r*s,_=n*s,f=n*o,l=a*s,d=a*o,h=a*c,p=i*s,m=i*o,b=i*c;return e[0]=1-f-h,e[1]=_+b,e[2]=l-m,e[3]=0,e[4]=_-b,e[5]=1-u-h,e[6]=d+p,e[7]=0,e[8]=l+m,e[9]=d-p,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function kt(e,t,r,n,a,i,s){var o=1/(r-t),c=1/(a-n),u=1/(i-s);return e[0]=2*i*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*i*c,e[6]=0,e[7]=0,e[8]=(r+t)*o,e[9]=(a+n)*c,e[10]=(s+i)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=s*i*2*u,e[15]=0,e}function Tt(e,t,r,n,a){var i,s=1/Math.tan(t/2);return e[0]=s/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=a&&a!==1/0?(i=1/(n-a),e[10]=(a+n)*i,e[14]=2*a*n*i):(e[10]=-1,e[14]=-2*n),e}function zt(e,t,r,n){var a=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),s=Math.tan(t.leftDegrees*Math.PI/180),o=Math.tan(t.rightDegrees*Math.PI/180),c=2/(s+o),u=2/(a+i);return e[0]=c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-(s-o)*c*.5,e[9]=(a-i)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Rt(e,t,r,n,a,i,s){var o=1/(t-r),c=1/(n-a),u=1/(i-s);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*o,e[13]=(a+n)*c,e[14]=(s+i)*u,e[15]=1,e}function Ft(e,t,r,n){var a,i,s,o,c,u,_,f,l,h,p=t[0],m=t[1],b=t[2],g=n[0],w=n[1],v=n[2],y=r[0],M=r[1],x=r[2];return Math.abs(p-y)<d&&Math.abs(m-M)<d&&Math.abs(b-x)<d?et(e):(_=p-y,f=m-M,l=b-x,a=w*(l*=h=1/Math.hypot(_,f,l))-v*(f*=h),i=v*(_*=h)-g*l,s=g*f-w*_,(h=Math.hypot(a,i,s))?(a*=h=1/h,i*=h,s*=h):(a=0,i=0,s=0),o=f*s-l*i,c=l*a-_*s,u=_*i-f*a,(h=Math.hypot(o,c,u))?(o*=h=1/h,c*=h,u*=h):(o=0,c=0,u=0),e[0]=a,e[1]=o,e[2]=_,e[3]=0,e[4]=i,e[5]=c,e[6]=f,e[7]=0,e[8]=s,e[9]=u,e[10]=l,e[11]=0,e[12]=-(a*p+i*m+s*b),e[13]=-(o*p+c*m+u*b),e[14]=-(_*p+f*m+l*b),e[15]=1,e)}function St(e,t,r,n){var a=t[0],i=t[1],s=t[2],o=n[0],c=n[1],u=n[2],_=a-r[0],f=i-r[1],l=s-r[2],d=_*_+f*f+l*l;d>0&&(_*=d=1/Math.sqrt(d),f*=d,l*=d);var h=c*l-u*f,p=u*_-o*l,m=o*f-c*_;return(d=h*h+p*p+m*m)>0&&(h*=d=1/Math.sqrt(d),p*=d,m*=d),e[0]=h,e[1]=p,e[2]=m,e[3]=0,e[4]=f*m-l*p,e[5]=l*h-_*m,e[6]=_*p-f*h,e[7]=0,e[8]=_,e[9]=f,e[10]=l,e[11]=0,e[12]=a,e[13]=i,e[14]=s,e[15]=1,e}function Ot(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}function Pt(e){return Math.hypot(e[0],e[1],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}function Lt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Dt(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function Ut(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function Ct(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function Bt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function It(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],s=e[4],o=e[5],c=e[6],u=e[7],_=e[8],f=e[9],l=e[10],h=e[11],p=e[12],m=e[13],b=e[14],g=e[15],w=t[0],v=t[1],y=t[2],M=t[3],x=t[4],E=t[5],A=t[6],k=t[7],T=t[8],z=t[9],R=t[10],F=t[11],S=t[12],O=t[13],P=t[14],L=t[15];return Math.abs(r-w)<=d*Math.max(1,Math.abs(r),Math.abs(w))&&Math.abs(n-v)<=d*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(a-y)<=d*Math.max(1,Math.abs(a),Math.abs(y))&&Math.abs(i-M)<=d*Math.max(1,Math.abs(i),Math.abs(M))&&Math.abs(s-x)<=d*Math.max(1,Math.abs(s),Math.abs(x))&&Math.abs(o-E)<=d*Math.max(1,Math.abs(o),Math.abs(E))&&Math.abs(c-A)<=d*Math.max(1,Math.abs(c),Math.abs(A))&&Math.abs(u-k)<=d*Math.max(1,Math.abs(u),Math.abs(k))&&Math.abs(_-T)<=d*Math.max(1,Math.abs(_),Math.abs(T))&&Math.abs(f-z)<=d*Math.max(1,Math.abs(f),Math.abs(z))&&Math.abs(l-R)<=d*Math.max(1,Math.abs(l),Math.abs(R))&&Math.abs(h-F)<=d*Math.max(1,Math.abs(h),Math.abs(F))&&Math.abs(p-S)<=d*Math.max(1,Math.abs(p),Math.abs(S))&&Math.abs(m-O)<=d*Math.max(1,Math.abs(m),Math.abs(O))&&Math.abs(b-P)<=d*Math.max(1,Math.abs(b),Math.abs(P))&&Math.abs(g-L)<=d*Math.max(1,Math.abs(g),Math.abs(L))}var Vt=it,jt=Dt;function qt(){var e=new h(3);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Nt(e){var t=new h(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Wt(e){var t=e[0],r=e[1],n=e[2];return Math.hypot(t,r,n)}function Gt(e,t,r){var n=new h(3);return n[0]=e,n[1]=t,n[2]=r,n}function Ht(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Yt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function Xt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function Zt(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Jt(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Kt(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function Qt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function $t(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function er(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function tr(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function rr(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e}function nr(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function ar(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function ir(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2];return Math.hypot(r,n,a)}function sr(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2];return r*r+n*n+a*a}function or(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function cr(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function ur(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function _r(e,t){var r=t[0],n=t[1],a=t[2],i=r*r+n*n+a*a;return i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e}function fr(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function lr(e,t,r){var n=t[0],a=t[1],i=t[2],s=r[0],o=r[1],c=r[2];return e[0]=a*c-i*o,e[1]=i*s-n*c,e[2]=n*o-a*s,e}function dr(e,t,r,n){var a=t[0],i=t[1],s=t[2];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e[2]=s+n*(r[2]-s),e}function hr(e,t,r,n,a,i){var s=i*i,o=s*(2*i-3)+1,c=s*(i-2)+i,u=s*(i-1),_=s*(3-2*i);return e[0]=t[0]*o+r[0]*c+n[0]*u+a[0]*_,e[1]=t[1]*o+r[1]*c+n[1]*u+a[1]*_,e[2]=t[2]*o+r[2]*c+n[2]*u+a[2]*_,e}function pr(e,t,r,n,a,i){var s=1-i,o=s*s,c=i*i,u=o*s,_=3*i*o,f=3*c*s,l=c*i;return e[0]=t[0]*u+r[0]*_+n[0]*f+a[0]*l,e[1]=t[1]*u+r[1]*_+n[1]*f+a[1]*l,e[2]=t[2]*u+r[2]*_+n[2]*f+a[2]*l,e}function mr(e,t){t=t||1;var r=2*p()*Math.PI,n=2*p()-1,a=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*a,e[1]=Math.sin(r)*a,e[2]=n*t,e}function br(e,t,r){var n=t[0],a=t[1],i=t[2],s=r[3]*n+r[7]*a+r[11]*i+r[15];return s=s||1,e[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/s,e[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/s,e[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/s,e}function gr(e,t,r){var n=t[0],a=t[1],i=t[2];return e[0]=n*r[0]+a*r[3]+i*r[6],e[1]=n*r[1]+a*r[4]+i*r[7],e[2]=n*r[2]+a*r[5]+i*r[8],e}function wr(e,t,r){var n=r[0],a=r[1],i=r[2],s=r[3],o=t[0],c=t[1],u=t[2],_=a*u-i*c,f=i*o-n*u,l=n*c-a*o,d=a*l-i*f,h=i*_-n*l,p=n*f-a*_,m=2*s;return _*=m,f*=m,l*=m,d*=2,h*=2,p*=2,e[0]=o+_+d,e[1]=c+f+h,e[2]=u+l+p,e}function vr(e,t,r,n){var a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function yr(e,t,r,n){var a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function Mr(e,t,r,n){var a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function xr(e,t){var r=Gt(e[0],e[1],e[2]),n=Gt(t[0],t[1],t[2]);_r(r,r),_r(n,n);var a=fr(r,n);return a>1?0:a<-1?Math.PI:Math.acos(a)}function Er(e){return e[0]=0,e[1]=0,e[2]=0,e}function Ar(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"}function kr(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function Tr(e,t){var r=e[0],n=e[1],a=e[2],i=t[0],s=t[1],o=t[2];return Math.abs(r-i)<=d*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-s)<=d*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(a-o)<=d*Math.max(1,Math.abs(a),Math.abs(o))}var zr,Rr=Zt,Fr=Jt,Sr=Kt,Or=ir,Pr=sr,Lr=Wt,Dr=or,Ur=(zr=qt(),function(e,t,r,n,a,i){var s,o;for(t||(t=3),r||(r=0),o=n?Math.min(n*t+r,e.length):e.length,s=r;s<o;s+=t)zr[0]=e[s],zr[1]=e[s+1],zr[2]=e[s+2],a(zr,zr,i),e[s]=zr[0],e[s+1]=zr[1],e[s+2]=zr[2];return e});function Cr(){var e=new h(4);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Br(e){var t=new h(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Ir(e,t,r,n){var a=new h(4);return a[0]=e,a[1]=t,a[2]=r,a[3]=n,a}function Vr(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function jr(e,t,r,n,a){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e}function qr(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function Nr(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e}function Wr(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e}function Gr(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e[3]=t[3]/r[3],e}function Hr(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e[3]=Math.ceil(t[3]),e}function Yr(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e[3]=Math.floor(t[3]),e}function Xr(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e[3]=Math.min(t[3],r[3]),e}function Zr(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e[3]=Math.max(t[3],r[3]),e}function Jr(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e[3]=Math.round(t[3]),e}function Kr(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Qr(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e}function $r(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2],i=t[3]-e[3];return Math.hypot(r,n,a,i)}function en(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2],i=t[3]-e[3];return r*r+n*n+a*a+i*i}function tn(e){var t=e[0],r=e[1],n=e[2],a=e[3];return Math.hypot(t,r,n,a)}function rn(e){var t=e[0],r=e[1],n=e[2],a=e[3];return t*t+r*r+n*n+a*a}function nn(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e}function an(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e}function sn(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=r*r+n*n+a*a+i*i;return s>0&&(s=1/Math.sqrt(s)),e[0]=r*s,e[1]=n*s,e[2]=a*s,e[3]=i*s,e}function on(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function cn(e,t,r,n){var a=r[0]*n[1]-r[1]*n[0],i=r[0]*n[2]-r[2]*n[0],s=r[0]*n[3]-r[3]*n[0],o=r[1]*n[2]-r[2]*n[1],c=r[1]*n[3]-r[3]*n[1],u=r[2]*n[3]-r[3]*n[2],_=t[0],f=t[1],l=t[2],d=t[3];return e[0]=f*u-l*c+d*o,e[1]=-_*u+l*s-d*i,e[2]=_*c-f*s+d*a,e[3]=-_*o+f*i-l*a,e}function un(e,t,r,n){var a=t[0],i=t[1],s=t[2],o=t[3];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e[2]=s+n*(r[2]-s),e[3]=o+n*(r[3]-o),e}function _n(e,t){var r,n,a,i,s,o;t=t||1;do{s=(r=2*p()-1)*r+(n=2*p()-1)*n}while(s>=1);do{o=(a=2*p()-1)*a+(i=2*p()-1)*i}while(o>=1);var c=Math.sqrt((1-s)/o);return e[0]=t*r,e[1]=t*n,e[2]=t*a*c,e[3]=t*i*c,e}function fn(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3];return e[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*s,e[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*s,e[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*s,e[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*s,e}function ln(e,t,r){var n=t[0],a=t[1],i=t[2],s=r[0],o=r[1],c=r[2],u=r[3],_=u*n+o*i-c*a,f=u*a+c*n-s*i,l=u*i+s*a-o*n,d=-s*n-o*a-c*i;return e[0]=_*u+d*-s+f*-c-l*-o,e[1]=f*u+d*-o+l*-s-_*-c,e[2]=l*u+d*-c+_*-o-f*-s,e[3]=t[3],e}function dn(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e}function hn(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}function pn(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function mn(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],s=t[0],o=t[1],c=t[2],u=t[3];return Math.abs(r-s)<=d*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-o)<=d*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(a-c)<=d*Math.max(1,Math.abs(a),Math.abs(c))&&Math.abs(i-u)<=d*Math.max(1,Math.abs(i),Math.abs(u))}var bn=Nr,gn=Wr,wn=Gr,vn=$r,yn=en,Mn=tn,xn=rn,En=function(){var e=Cr();return function(t,r,n,a,i,s){var o,c;for(r||(r=4),n||(n=0),c=a?Math.min(a*r+n,t.length):t.length,o=n;o<c;o+=r)e[0]=t[o],e[1]=t[o+1],e[2]=t[o+2],e[3]=t[o+3],i(e,e,s),t[o]=e[0],t[o+1]=e[1],t[o+2]=e[2],t[o+3]=e[3];return t}}();function An(){var e=new h(4);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function kn(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function Tn(e,t,r){r*=.5;var n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function zn(e,t){var r=2*Math.acos(t[3]),n=Math.sin(r/2);return n>d?(e[0]=t[0]/n,e[1]=t[1]/n,e[2]=t[2]/n):(e[0]=1,e[1]=0,e[2]=0),r}function Rn(e,t){var r=aa(e,t);return Math.acos(2*r*r-1)}function Fn(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=r[0],c=r[1],u=r[2],_=r[3];return e[0]=n*_+s*o+a*u-i*c,e[1]=a*_+s*c+i*o-n*u,e[2]=i*_+s*u+n*c-a*o,e[3]=s*_-n*o-a*c-i*u,e}function Sn(e,t,r){r*=.5;var n=t[0],a=t[1],i=t[2],s=t[3],o=Math.sin(r),c=Math.cos(r);return e[0]=n*c+s*o,e[1]=a*c+i*o,e[2]=i*c-a*o,e[3]=s*c-n*o,e}function On(e,t,r){r*=.5;var n=t[0],a=t[1],i=t[2],s=t[3],o=Math.sin(r),c=Math.cos(r);return e[0]=n*c-i*o,e[1]=a*c+s*o,e[2]=i*c+n*o,e[3]=s*c-a*o,e}function Pn(e,t,r){r*=.5;var n=t[0],a=t[1],i=t[2],s=t[3],o=Math.sin(r),c=Math.cos(r);return e[0]=n*c+a*o,e[1]=a*c-n*o,e[2]=i*c+s*o,e[3]=s*c-i*o,e}function Ln(e,t){var r=t[0],n=t[1],a=t[2];return e[0]=r,e[1]=n,e[2]=a,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),e}function Dn(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=Math.sqrt(r*r+n*n+a*a),o=Math.exp(i),c=s>0?o*Math.sin(s)/s:0;return e[0]=r*c,e[1]=n*c,e[2]=a*c,e[3]=o*Math.cos(s),e}function Un(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=Math.sqrt(r*r+n*n+a*a),o=s>0?Math.atan2(s,i)/s:0;return e[0]=r*o,e[1]=n*o,e[2]=a*o,e[3]=.5*Math.log(r*r+n*n+a*a+i*i),e}function Cn(e,t,r){return Un(e,t),na(e,e,r),Dn(e,e),e}function Bn(e,t,r,n){var a,i,s,o,c,u=t[0],_=t[1],f=t[2],l=t[3],h=r[0],p=r[1],m=r[2],b=r[3];return(i=u*h+_*p+f*m+l*b)<0&&(i=-i,h=-h,p=-p,m=-m,b=-b),1-i>d?(a=Math.acos(i),s=Math.sin(a),o=Math.sin((1-n)*a)/s,c=Math.sin(n*a)/s):(o=1-n,c=n),e[0]=o*u+c*h,e[1]=o*_+c*p,e[2]=o*f+c*m,e[3]=o*l+c*b,e}function In(e){var t=p(),r=p(),n=p(),a=Math.sqrt(1-t),i=Math.sqrt(t);return e[0]=a*Math.sin(2*Math.PI*r),e[1]=a*Math.cos(2*Math.PI*r),e[2]=i*Math.sin(2*Math.PI*n),e[3]=i*Math.cos(2*Math.PI*n),e}function Vn(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],s=r*r+n*n+a*a+i*i,o=s?1/s:0;return e[0]=-r*o,e[1]=-n*o,e[2]=-a*o,e[3]=i*o,e}function jn(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function qn(e,t){var r,n=t[0]+t[4]+t[8];if(n>0)r=Math.sqrt(n+1),e[3]=.5*r,r=.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{var a=0;t[4]>t[0]&&(a=1),t[8]>t[3*a+a]&&(a=2);var i=(a+1)%3,s=(a+2)%3;r=Math.sqrt(t[3*a+a]-t[3*i+i]-t[3*s+s]+1),e[a]=.5*r,r=.5/r,e[3]=(t[3*i+s]-t[3*s+i])*r,e[i]=(t[3*i+a]+t[3*a+i])*r,e[s]=(t[3*s+a]+t[3*a+s])*r}return e}function Nn(e,t,r,n){var a=.5*Math.PI/180;t*=a,r*=a,n*=a;var i=Math.sin(t),s=Math.cos(t),o=Math.sin(r),c=Math.cos(r),u=Math.sin(n),_=Math.cos(n);return e[0]=i*c*_-s*o*u,e[1]=s*o*_+i*c*u,e[2]=s*c*u-i*o*_,e[3]=s*c*_+i*o*u,e}function Wn(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}var Gn,Hn,Yn,Xn,Zn,Jn,Kn=Br,Qn=Ir,$n=Vr,ea=jr,ta=qr,ra=Fn,na=Kr,aa=on,ia=un,sa=tn,oa=sa,ca=rn,ua=ca,_a=sn,fa=pn,la=mn,da=(Gn=qt(),Hn=Gt(1,0,0),Yn=Gt(0,1,0),function(e,t,r){var n=fr(t,r);return n<-.999999?(lr(Gn,Hn,t),Lr(Gn)<1e-6&&lr(Gn,Yn,t),_r(Gn,Gn),Tn(e,Gn,Math.PI),e):n>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):(lr(Gn,t,r),e[0]=Gn[0],e[1]=Gn[1],e[2]=Gn[2],e[3]=1+n,_a(e,e))}),ha=(Xn=An(),Zn=An(),function(e,t,r,n,a,i){return Bn(Xn,t,a,i),Bn(Zn,r,n,i),Bn(e,Xn,Zn,2*i*(1-i)),e}),pa=(Jn=be(),function(e,t,r,n){return Jn[0]=r[0],Jn[3]=r[1],Jn[6]=r[2],Jn[1]=n[0],Jn[4]=n[1],Jn[7]=n[2],Jn[2]=-t[0],Jn[5]=-t[1],Jn[8]=-t[2],_a(e,qn(e,Jn))});function ma(){var e=new h(8);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0),e[3]=1,e}function ba(e){var t=new h(8);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t}function ga(e,t,r,n,a,i,s,o){var c=new h(8);return c[0]=e,c[1]=t,c[2]=r,c[3]=n,c[4]=a,c[5]=i,c[6]=s,c[7]=o,c}function wa(e,t,r,n,a,i,s){var o=new h(8);o[0]=e,o[1]=t,o[2]=r,o[3]=n;var c=.5*a,u=.5*i,_=.5*s;return o[4]=c*n+u*r-_*t,o[5]=u*n+_*e-c*r,o[6]=_*n+c*t-u*e,o[7]=-c*e-u*t-_*r,o}function va(e,t,r){var n=.5*r[0],a=.5*r[1],i=.5*r[2],s=t[0],o=t[1],c=t[2],u=t[3];return e[0]=s,e[1]=o,e[2]=c,e[3]=u,e[4]=n*u+a*c-i*o,e[5]=a*u+i*s-n*c,e[6]=i*u+n*o-a*s,e[7]=-n*s-a*o-i*c,e}function ya(e,t){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=.5*t[0],e[5]=.5*t[1],e[6]=.5*t[2],e[7]=0,e}function Ma(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=0,e[5]=0,e[6]=0,e[7]=0,e}function xa(e,t){var r=An();Mt(r,t);var n=new h(3);return vt(n,t),va(e,r,n),e}function Ea(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e}function Aa(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e}function ka(e,t,r,n,a,i,s,o,c){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=s,e[6]=o,e[7]=c,e}var Ta=$n;function za(e,t){return e[0]=t[4],e[1]=t[5],e[2]=t[6],e[3]=t[7],e}var Ra=$n;function Fa(e,t){return e[4]=t[0],e[5]=t[1],e[6]=t[2],e[7]=t[3],e}function Sa(e,t){var r=t[4],n=t[5],a=t[6],i=t[7],s=-t[0],o=-t[1],c=-t[2],u=t[3];return e[0]=2*(r*u+i*s+n*c-a*o),e[1]=2*(n*u+i*o+a*s-r*c),e[2]=2*(a*u+i*c+r*o-n*s),e}function Oa(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=.5*r[0],c=.5*r[1],u=.5*r[2],_=t[4],f=t[5],l=t[6],d=t[7];return e[0]=n,e[1]=a,e[2]=i,e[3]=s,e[4]=s*o+a*u-i*c+_,e[5]=s*c+i*o-n*u+f,e[6]=s*u+n*c-a*o+l,e[7]=-n*o-a*c-i*u+d,e}function Pa(e,t,r){var n=-t[0],a=-t[1],i=-t[2],s=t[3],o=t[4],c=t[5],u=t[6],_=t[7],f=o*s+_*n+c*i-u*a,l=c*s+_*a+u*n-o*i,d=u*s+_*i+o*a-c*n,h=_*s-o*n-c*a-u*i;return Sn(e,t,r),n=e[0],a=e[1],i=e[2],s=e[3],e[4]=f*s+h*n+l*i-d*a,e[5]=l*s+h*a+d*n-f*i,e[6]=d*s+h*i+f*a-l*n,e[7]=h*s-f*n-l*a-d*i,e}function La(e,t,r){var n=-t[0],a=-t[1],i=-t[2],s=t[3],o=t[4],c=t[5],u=t[6],_=t[7],f=o*s+_*n+c*i-u*a,l=c*s+_*a+u*n-o*i,d=u*s+_*i+o*a-c*n,h=_*s-o*n-c*a-u*i;return On(e,t,r),n=e[0],a=e[1],i=e[2],s=e[3],e[4]=f*s+h*n+l*i-d*a,e[5]=l*s+h*a+d*n-f*i,e[6]=d*s+h*i+f*a-l*n,e[7]=h*s-f*n-l*a-d*i,e}function Da(e,t,r){var n=-t[0],a=-t[1],i=-t[2],s=t[3],o=t[4],c=t[5],u=t[6],_=t[7],f=o*s+_*n+c*i-u*a,l=c*s+_*a+u*n-o*i,d=u*s+_*i+o*a-c*n,h=_*s-o*n-c*a-u*i;return Pn(e,t,r),n=e[0],a=e[1],i=e[2],s=e[3],e[4]=f*s+h*n+l*i-d*a,e[5]=l*s+h*a+d*n-f*i,e[6]=d*s+h*i+f*a-l*n,e[7]=h*s-f*n-l*a-d*i,e}function Ua(e,t,r){var n=r[0],a=r[1],i=r[2],s=r[3],o=t[0],c=t[1],u=t[2],_=t[3];return e[0]=o*s+_*n+c*i-u*a,e[1]=c*s+_*a+u*n-o*i,e[2]=u*s+_*i+o*a-c*n,e[3]=_*s-o*n-c*a-u*i,o=t[4],c=t[5],u=t[6],_=t[7],e[4]=o*s+_*n+c*i-u*a,e[5]=c*s+_*a+u*n-o*i,e[6]=u*s+_*i+o*a-c*n,e[7]=_*s-o*n-c*a-u*i,e}function Ca(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=r[0],c=r[1],u=r[2],_=r[3];return e[0]=n*_+s*o+a*u-i*c,e[1]=a*_+s*c+i*o-n*u,e[2]=i*_+s*u+n*c-a*o,e[3]=s*_-n*o-a*c-i*u,o=r[4],c=r[5],u=r[6],_=r[7],e[4]=n*_+s*o+a*u-i*c,e[5]=a*_+s*c+i*o-n*u,e[6]=i*_+s*u+n*c-a*o,e[7]=s*_-n*o-a*c-i*u,e}function Ba(e,t,r,n){if(Math.abs(n)<d)return Ea(e,t);var a=Math.hypot(r[0],r[1],r[2]);n*=.5;var i=Math.sin(n),s=i*r[0]/a,o=i*r[1]/a,c=i*r[2]/a,u=Math.cos(n),_=t[0],f=t[1],l=t[2],h=t[3];e[0]=_*u+h*s+f*c-l*o,e[1]=f*u+h*o+l*s-_*c,e[2]=l*u+h*c+_*o-f*s,e[3]=h*u-_*s-f*o-l*c;var p=t[4],m=t[5],b=t[6],g=t[7];return e[4]=p*u+g*s+m*c-b*o,e[5]=m*u+g*o+b*s-p*c,e[6]=b*u+g*c+p*o-m*s,e[7]=g*u-p*s-m*o-b*c,e}function Ia(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e}function Va(e,t,r){var n=t[0],a=t[1],i=t[2],s=t[3],o=r[4],c=r[5],u=r[6],_=r[7],f=t[4],l=t[5],d=t[6],h=t[7],p=r[0],m=r[1],b=r[2],g=r[3];return e[0]=n*g+s*p+a*b-i*m,e[1]=a*g+s*m+i*p-n*b,e[2]=i*g+s*b+n*m-a*p,e[3]=s*g-n*p-a*m-i*b,e[4]=n*_+s*o+a*u-i*c+f*g+h*p+l*b-d*m,e[5]=a*_+s*c+i*o-n*u+l*g+h*m+d*p-f*b,e[6]=i*_+s*u+n*c-a*o+d*g+h*b+f*m-l*p,e[7]=s*_-n*o-a*c-i*u+h*g-f*p-l*m-d*b,e}var ja=Va;function qa(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e}var Na=aa;function Wa(e,t,r,n){var a=1-n;return Na(t,r)<0&&(n=-n),e[0]=t[0]*a+r[0]*n,e[1]=t[1]*a+r[1]*n,e[2]=t[2]*a+r[2]*n,e[3]=t[3]*a+r[3]*n,e[4]=t[4]*a+r[4]*n,e[5]=t[5]*a+r[5]*n,e[6]=t[6]*a+r[6]*n,e[7]=t[7]*a+r[7]*n,e}function Ga(e,t){var r=Za(t);return e[0]=-t[0]/r,e[1]=-t[1]/r,e[2]=-t[2]/r,e[3]=t[3]/r,e[4]=-t[4]/r,e[5]=-t[5]/r,e[6]=-t[6]/r,e[7]=t[7]/r,e}function Ha(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e[4]=-t[4],e[5]=-t[5],e[6]=-t[6],e[7]=t[7],e}var Ya=sa,Xa=Ya,Za=ca,Ja=Za;function Ka(e,t){var r=Za(t);if(r>0){r=Math.sqrt(r);var n=t[0]/r,a=t[1]/r,i=t[2]/r,s=t[3]/r,o=t[4],c=t[5],u=t[6],_=t[7],f=n*o+a*c+i*u+s*_;e[0]=n,e[1]=a,e[2]=i,e[3]=s,e[4]=(o-n*f)/r,e[5]=(c-a*f)/r,e[6]=(u-i*f)/r,e[7]=(_-s*f)/r}return e}function Qa(e){return"quat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+")"}function $a(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]}function ei(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],s=e[4],o=e[5],c=e[6],u=e[7],_=t[0],f=t[1],l=t[2],h=t[3],p=t[4],m=t[5],b=t[6],g=t[7];return Math.abs(r-_)<=d*Math.max(1,Math.abs(r),Math.abs(_))&&Math.abs(n-f)<=d*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(a-l)<=d*Math.max(1,Math.abs(a),Math.abs(l))&&Math.abs(i-h)<=d*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(s-p)<=d*Math.max(1,Math.abs(s),Math.abs(p))&&Math.abs(o-m)<=d*Math.max(1,Math.abs(o),Math.abs(m))&&Math.abs(c-b)<=d*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(u-g)<=d*Math.max(1,Math.abs(u),Math.abs(g))}function ti(){var e=new h(2);return h!=Float32Array&&(e[0]=0,e[1]=0),e}function ri(e){var t=new h(2);return t[0]=e[0],t[1]=e[1],t}function ni(e,t){var r=new h(2);return r[0]=e,r[1]=t,r}function ai(e,t){return e[0]=t[0],e[1]=t[1],e}function ii(e,t,r){return e[0]=t,e[1]=r,e}function si(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e}function oi(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e}function ci(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e}function ui(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e}function _i(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e}function fi(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e}function li(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e}function di(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e}function hi(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e}function pi(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e}function mi(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e}function bi(e,t){var r=t[0]-e[0],n=t[1]-e[1];return Math.hypot(r,n)}function gi(e,t){var r=t[0]-e[0],n=t[1]-e[1];return r*r+n*n}function wi(e){var t=e[0],r=e[1];return Math.hypot(t,r)}function vi(e){var t=e[0],r=e[1];return t*t+r*r}function yi(e,t){return e[0]=-t[0],e[1]=-t[1],e}function Mi(e,t){return e[0]=1/t[0],e[1]=1/t[1],e}function xi(e,t){var r=t[0],n=t[1],a=r*r+n*n;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e}function Ei(e,t){return e[0]*t[0]+e[1]*t[1]}function Ai(e,t,r){var n=t[0]*r[1]-t[1]*r[0];return e[0]=e[1]=0,e[2]=n,e}function ki(e,t,r,n){var a=t[0],i=t[1];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e}function Ti(e,t){t=t||1;var r=2*p()*Math.PI;return e[0]=Math.cos(r)*t,e[1]=Math.sin(r)*t,e}function zi(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a,e[1]=r[1]*n+r[3]*a,e}function Ri(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a+r[4],e[1]=r[1]*n+r[3]*a+r[5],e}function Fi(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[3]*a+r[6],e[1]=r[1]*n+r[4]*a+r[7],e}function Si(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[4]*a+r[12],e[1]=r[1]*n+r[5]*a+r[13],e}function Oi(e,t,r,n){var a=t[0]-r[0],i=t[1]-r[1],s=Math.sin(n),o=Math.cos(n);return e[0]=a*o-i*s+r[0],e[1]=a*s+i*o+r[1],e}function Pi(e,t){var r=e[0],n=e[1],a=t[0],i=t[1],s=r*r+n*n;s>0&&(s=1/Math.sqrt(s));var o=a*a+i*i;o>0&&(o=1/Math.sqrt(o));var c=(r*a+n*i)*s*o;return c>1?0:c<-1?Math.PI:Math.acos(c)}function Li(e){return e[0]=0,e[1]=0,e}function Di(e){return"vec2("+e[0]+", "+e[1]+")"}function Ui(e,t){return e[0]===t[0]&&e[1]===t[1]}function Ci(e,t){var r=e[0],n=e[1],a=t[0],i=t[1];return Math.abs(r-a)<=d*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-i)<=d*Math.max(1,Math.abs(n),Math.abs(i))}var Bi=wi,Ii=oi,Vi=ci,ji=ui,qi=bi,Ni=gi,Wi=vi,Gi=function(){var e=ti();return function(t,r,n,a,i,s){var o,c;for(r||(r=2),n||(n=0),c=a?Math.min(a*r+n,t.length):t.length,o=n;o<c;o+=r)e[0]=t[o],e[1]=t[o+1],i(e,e,s),t[o]=e[0],t[o+1]=e[1];return t}}();r.d(t,"glMatrix",(function(){return n})),r.d(t,"mat2",(function(){return a})),r.d(t,"mat2d",(function(){return i})),r.d(t,"mat3",(function(){return s})),r.d(t,"mat4",(function(){return o})),r.d(t,"quat",(function(){return _})),r.d(t,"quat2",(function(){return f})),r.d(t,"vec2",(function(){return l})),r.d(t,"vec3",(function(){return c})),r.d(t,"vec4",(function(){return u}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.linkProgram=t.compileShader=void 0,t.compileShader=function(e,t,r){let n=e.createShader(t);if(!n)throw new Error("Unable to create shader");e.shaderSource(n,r),e.compileShader(n);let a=e.getShaderInfoLog(n);if(a&&a.trim().length>0)throw new Error("Shader compile error: "+a);return n},t.linkProgram=function(e,t){e.linkProgram(t);let r=e.getProgramInfoLog(t);if(r&&r.trim().length>0)throw new Error("Unable to link: "+r)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.log_level_t=t.instant_world_tracker_transform_orientation_t=t.face_landmark_name_t=t.barcode_format_t=void 0,function(e){e[e.UNKNOWN=131072]="UNKNOWN",e[e.AZTEC=1]="AZTEC",e[e.CODABAR=2]="CODABAR",e[e.CODE_39=4]="CODE_39",e[e.CODE_93=8]="CODE_93",e[e.CODE_128=16]="CODE_128",e[e.DATA_MATRIX=32]="DATA_MATRIX",e[e.EAN_8=64]="EAN_8",e[e.EAN_13=128]="EAN_13",e[e.ITF=256]="ITF",e[e.MAXICODE=512]="MAXICODE",e[e.PDF_417=1024]="PDF_417",e[e.QR_CODE=2048]="QR_CODE",e[e.RSS_14=4096]="RSS_14",e[e.RSS_EXPANDED=8192]="RSS_EXPANDED",e[e.UPC_A=16384]="UPC_A",e[e.UPC_E=32768]="UPC_E",e[e.UPC_EAN_EXTENSION=65536]="UPC_EAN_EXTENSION",e[e.ALL=131071]="ALL"}(t.barcode_format_t||(t.barcode_format_t={})),function(e){e[e.EYE_LEFT=0]="EYE_LEFT",e[e.EYE_RIGHT=1]="EYE_RIGHT",e[e.EAR_LEFT=2]="EAR_LEFT",e[e.EAR_RIGHT=3]="EAR_RIGHT",e[e.NOSE_BRIDGE=4]="NOSE_BRIDGE",e[e.NOSE_TIP=5]="NOSE_TIP",e[e.NOSE_BASE=6]="NOSE_BASE",e[e.LIP_TOP=7]="LIP_TOP",e[e.LIP_BOTTOM=8]="LIP_BOTTOM",e[e.MOUTH_CENTER=9]="MOUTH_CENTER",e[e.CHIN=10]="CHIN",e[e.EYEBROW_LEFT=11]="EYEBROW_LEFT",e[e.EYEBROW_RIGHT=12]="EYEBROW_RIGHT"}(t.face_landmark_name_t||(t.face_landmark_name_t={})),function(e){e[e.WORLD=3]="WORLD",e[e.MINUS_Z_AWAY_FROM_USER=4]="MINUS_Z_AWAY_FROM_USER",e[e.MINUS_Z_HEADING=5]="MINUS_Z_HEADING",e[e.UNCHANGED=6]="UNCHANGED"}(t.instant_world_tracker_transform_orientation_t||(t.instant_world_tracker_transform_orientation_t={})),function(e){e[e.LOG_LEVEL_NONE=0]="LOG_LEVEL_NONE",e[e.LOG_LEVEL_ERROR=1]="LOG_LEVEL_ERROR",e[e.LOG_LEVEL_WARNING=2]="LOG_LEVEL_WARNING",e[e.LOG_LEVEL_VERBOSE=3]="LOG_LEVEL_VERBOSE"}(t.log_level_t||(t.log_level_t={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.applyScreenCounterRotation=t.Pipeline=void 0;const n=r(29),a=r(1),i=r(6),s=r(30),o=r(31),c=r(7),u=r(8),_=r(0),f=r(11);let l=new Map;class d{constructor(e,t,r){this._client=e,this._impl=t,this._mgr=r,this.pendingMessages=[],this.cameraTokens=new Map,this.nextCameraToken=1,this.tokensInFlight=0,this.videoTextures=[],this.cameraPixelArrays=[],this._sequenceRecordDeviceAttitudeMatrices=!0,this.onGLContextReset=new u.Event}static create(e,t){let r=e.pipeline_create();return l.set(r,new d(e,r,t)),r}static get(e){return l.get(e)}frameUpdate(e){for(let t of this.pendingMessages)e.processMessages(t),this._mgr.postOutgoingMessage({t:"buf",p:this._impl,d:t},[t]);this.pendingMessages=[];let t=this._client.pipeline_camera_frame_user_data(this._impl);if(t)for(let e of this.cameraTokens)e[0]<t&&(e[1].texture&&this.videoTextures.push(e[1].texture),this.cameraTokens.delete(e[0]))}cameraTokenReturn(e){if(this._sequenceRecorder&&this._sequenceRecordDeviceAttitudeMatrices){let t=this.cameraTokens.get(e.token);t&&(e.att&&this._sequenceRecorder.appendAttitudeMatrix(e.att),t.data=e.d,this._sequenceRecorder.appendCameraFrame(t))}this.cameraPixelArrays.push(e.d),this.tokensInFlight--}sequenceRecordStart(e){this._sequenceRecorder||(this._sequenceRecorder=new f.SequenceRecorder(e)),this._sequenceRecorder.start()}sequenceRecordStop(){var e;null===(e=this._sequenceRecorder)||void 0===e||e.stop()}sequenceRecordData(){var e;return(null===(e=this._sequenceRecorder)||void 0===e?void 0:e.data())||new Uint8Array(0)}sequenceRecordClear(){delete this._sequenceRecorder}sequenceRecordDeviceAttitudeMatrices(e){this._sequenceRecordDeviceAttitudeMatrices=e}getVideoTexture(){return this.videoTextures.pop()}destroy(){this._client.pipeline_destroy(this._impl),l.delete(this._impl)}getCurrentCameraInfo(){let e=this._client.pipeline_camera_frame_user_data(this._impl);if(e)return this.cameraTokens.get(e)}cameraFrameDrawGL(e,t,r){if(!this.glContext)return;let a=this.getCurrentCameraInfo();a&&(this._cameraDraw||(this._cameraDraw=new n.CameraDraw(this.glContext)),this._cameraDraw.drawCameraFrame(e,t,a,!0===r))}glContextLost(){this._cameraDraw&&this._cameraDraw.dispose(),this._faceDraw&&this._faceDraw.dispose(),this._faceProjectDraw&&this._faceProjectDraw.dispose(),delete this._cameraDraw,delete this._faceDraw,delete this._faceProjectDraw,c.disposeDrawPlane(),this.onGLContextReset.emit();for(let e of this.videoTextures)this.glContext&&this.glContext.deleteTexture(e);this.videoTextures=[];for(let e of this.cameraTokens)this.glContext&&e[1].texture&&this.glContext.deleteTexture(e[1].texture),e[1].texture=void 0;this.glContext=void 0}glContextSet(e,t){this.glContextLost(),this.glContext=e,t=t||[];for(let r=0;r<4;r++){let n=t[r]||e.createTexture();n&&(e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),this.videoTextures.push(n))}e.bindTexture(e.TEXTURE_2D,null)}drawFace(e,t,r,n){if(!this.glContext)return;this._faceDraw||(this._faceDraw=new s.FaceDraw(this.glContext));let i=a.mat4.create();a.mat4.multiply(i,e,t),a.mat4.multiply(i,i,r),this._faceDraw.drawFace(i,n)}drawFaceProject(e,t,r,n,a,i){this.glContext&&(this._faceProjectDraw||(this._faceProjectDraw=new o.FaceDrawProject(this.glContext)),this._faceProjectDraw.drawFace(e,t,r,n,a,i))}cameraFrameTexture(){var e;return null===(e=this.getCurrentCameraInfo())||void 0===e?void 0:e.texture}cameraFrameTextureMatrix(e,t,r){let i=this.getCurrentCameraInfo();return i?n.cameraFrameTextureMatrix(i.dataWidth,i.dataHeight,e,t,i.uvTransform,r):a.mat4.create()}cameraFrameUserFacing(){var e;return(null===(e=this.getCurrentCameraInfo())||void 0===e?void 0:e.userFacing)||!1}cameraPoseWithAttitude(e){let t=h(this.getCurrentCameraInfo(),this._client.pipeline_camera_frame_camera_attitude(this._impl));if(e){let e=a.mat4.create();a.mat4.fromScaling(e,[-1,1,1]),a.mat4.multiply(t,e,t),a.mat4.multiply(t,t,e)}return a.mat4.invert(t,t),t}processGL(){var e;if(!this.glContext)return void _.zcerr("no GL context for camera frames - please call pipeline_gl_context_set");if(!this.currentCameraSource)return;if(this.tokensInFlight>0)return void this.currentCameraSource.getFrame(!0);let t=this.currentCameraSource.getFrame(!1);if(!t)return;let r=this.nextCameraToken++;this.cameraTokens.set(r,t);let n={d:t.data,p:this._impl,width:t.dataWidth,height:t.dataHeight,token:r,userFacing:t.userFacing,c2d:t.cameraToDevice,cm:t.cameraModel,t:"cameraFrameC2S"};this._sequenceRecordDeviceAttitudeMatrices||null===(e=this._sequenceRecorder)||void 0===e||e.appendCameraFrame(t),this.tokensInFlight++,this._mgr.postOutgoingMessage(n,[t.data])}motionAccelerometerSubmit(e,t,r,n){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendAccelerometer(e,t,r,n),this._client.pipeline_motion_accelerometer_submit(this._impl,e,t,r,n)}motionRotationRateSubmit(e,t,r,n){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendRotationRate(e,t,r,n),this._client.pipeline_motion_rotation_rate_submit(this._impl,e,t,r,n)}motionAttitudeSubmit(e,t,r,n){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendAttitude(e,t,r,n),this._client.pipeline_motion_attitude_submit(this._impl,e,t,r,n)}motionAttitudeMatrix(e){this._client.pipeline_motion_attitude_matrix_submit(this._impl,e)}uploadGL(){let e=this.getCurrentCameraInfo();null==e||e.cameraSource.uploadGL(e)}}function h(e,t){let r=!1;r=!!e&&e.userFacing;let n=a.mat4.create();return a.mat4.fromRotation(n,i.cameraRotationForScreenOrientation(r)*Math.PI/180,[0,0,1]),a.mat4.multiply(n,n,t),n}t.Pipeline=d,t.applyScreenCounterRotation=h},function(e,t,r){"use strict";e.exports=function(e,t,r,n){try{try{var a;try{a=new window.Blob([e])}catch(t){(a=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(e),a=a.getBlob()}var i=window.URL||window.webkitURL,s=i.createObjectURL(a),o=new window[t](s,r);return i.revokeObjectURL(s),o}catch(n){return new window[t]("data:application/javascript,".concat(encodeURIComponent(e)),r)}}catch(e){if(!n)throw Error("Inline worker is not supported");return new window[t](n,r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.cameraRotationForScreenOrientation=t.projectionMatrix=void 0;const n=r(1);function a(e){if(window.screen.orientation)switch(window.screen.orientation.type){case"portrait-primary":return e?90:270;case"landscape-secondary":return 180;case"portrait-secondary":return e?270:90;default:return 0}else if(void 0!==window.orientation)switch(window.orientation){case 0:return e?90:270;case 90:return 0;case 180:return e?270:90;case-90:return 180}return 0}t.projectionMatrix=function(e,t,r,i=.01,s=100){let o=2*e[2],c=2*e[3],u=n.mat4.create();n.mat4.frustum(u,i*(-.5-e[2])/e[0],i*(o-.5-e[2])/e[0],i*(c-.5-e[3])/e[1],i*(-.5-e[3])/e[1],i,s),u[4]*=-1,u[5]*=-1,u[6]*=-1,u[7]*=-1;let _=n.mat4.create();n.mat4.fromScaling(_,[.5*o,.5*c,1]),n.mat4.multiply(u,_,u),n.mat4.fromRotation(_,a(!1)*Math.PI/180,[0,0,1]),n.mat4.multiply(u,_,u);let f=n.vec3.create();f[0]=o,f[1]=c,f[2]=0,n.vec3.transformMat4(f,f,_);let l=Math.abs(f[0]),d=Math.abs(f[1]),h=1;return h=l/t>d/r?r/d:t/l,n.mat4.fromScaling(_,[h,h,1]),n.mat4.multiply(u,_,u),n.mat4.fromScaling(_,[2/t,2/r,1]),n.mat4.multiply(u,_,u),n.mat4.fromRotation(_,a(!1)*Math.PI/-180,[0,0,1]),n.mat4.multiply(u,u,_),u},t.cameraRotationForScreenOrientation=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.drawPlane=t.disposeDrawPlane=void 0;const n=r(2);let a,i,s,o={};function c(e){if(s)return s;if(s=e.createBuffer(),!s)throw new Error("Unable to create buffer object");return e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,1,1,0]),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),s}t.disposeDrawPlane=function(){a=void 0,i=void 0,s=void 0,o={}},t.drawPlane=function(e,t,r,n,a){let s=u(e),_=function(e){if(i)return i;if(i=e.createBuffer(),!i)throw new Error("Unable to create buffer object");return e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-.5,.125,0,-.5,-.125,0,.5,.125,0,.5,-.125,0]),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),i}(e),f=c(e);e.disable(e.DEPTH_TEST),e.useProgram(s.prog),e.uniformMatrix4fv(s.unif_proj,!1,t),e.uniformMatrix4fv(s.unif_camera,!1,r),e.uniformMatrix4fv(s.unif_matrix,!1,n),e.bindBuffer(e.ARRAY_BUFFER,_),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,function(e,t){if(o[t])return o[t];let r=e.createTexture();if(!r)throw new Error("Unable to create texture");o[t]=r,e.bindTexture(e.TEXTURE_2D,r);const n=e.RGBA,a=e.RGBA,i=e.UNSIGNED_BYTE,s=new Uint8Array([0,0,255,255]);e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,n,1,1,0,a,i,s);const c=new Image;return c.onload=function(){e.bindTexture(e.TEXTURE_2D,r),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,n,a,i,c),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR)},c.src=t,r}(e,a)),e.uniform1i(s.unif_skinSampler,0),e.vertexAttribPointer(s.attr_position,3,e.FLOAT,!1,12,0),e.enableVertexAttribArray(s.attr_position),e.bindBuffer(e.ARRAY_BUFFER,f),e.vertexAttribPointer(s.attr_textureCoord,2,e.FLOAT,!1,8,0),e.enableVertexAttribArray(s.attr_textureCoord),e.drawArrays(e.TRIANGLE_STRIP,0,4),e.disableVertexAttribArray(s.attr_position),e.bindBuffer(e.ARRAY_BUFFER,null)};function u(e){if(a)return a;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=n.compileShader(e,e.VERTEX_SHADER,"\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 projMatrix;\nuniform mat4 cameraMatrix;\nuniform mat4 modelViewMatrix;\nattribute vec4 position;\nattribute vec2 textureCoord;\n\nvarying highp vec2 vTextureCoord;\n\nvoid main()\n{\n gl_Position = projMatrix * cameraMatrix * modelViewMatrix * position;\n vTextureCoord = textureCoord;\n}"),i=n.compileShader(e,e.FRAGMENT_SHADER,"\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying highp vec2 vTextureCoord;\nuniform sampler2D skinSampler;\n\nvoid main()\n{\n gl_FragColor = texture2D(skinSampler, vTextureCoord);\n}");e.attachShader(t,r),e.attachShader(t,i),n.linkProgram(e,t);let s=e.getUniformLocation(t,"projMatrix");if(!s)throw new Error("Unable to get uniform location projMatrix");let o=e.getUniformLocation(t,"modelViewMatrix");if(!o)throw new Error("Unable to get uniform location modelViewMatrix");let c=e.getUniformLocation(t,"cameraMatrix");if(!c)throw new Error("Unable to get uniform location cameraMatrix");let u=e.getUniformLocation(t,"skinSampler");if(!u)throw new Error("Unable to get uniform location skinSampler");return a={prog:t,unif_matrix:o,unif_proj:s,unif_camera:c,unif_skinSampler:u,attr_position:e.getAttribLocation(t,"position"),attr_textureCoord:e.getAttribLocation(t,"textureCoord")},a}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Event5=t.Event3=t.Event2=t.Event1=t.Event=void 0;t.Event=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(){for(var e=0,t=this._funcs.length;e<t;e++)this._funcs[e]()}};t.Event1=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e){for(var t=0,r=this._funcs.length;t<r;t++)this._funcs[t](e)}};t.Event2=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t){for(var r=0,n=this._funcs.length;r<n;r++)this._funcs[r](e,t)}};t.Event3=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t,r){for(var n=0,a=this._funcs.length;n<a;n++)this._funcs[n](e,t,r)}};t.Event5=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t,r,n,a){for(var i=0,s=this._funcs.length;i<s;i++)this._funcs[i](e,t,r,n,a)}}},function(e,t,r){var n;
|
|
2
|
-
/*!@license
|
|
3
|
-
* UAParser.js v0.7.28
|
|
4
|
-
* Lightweight JavaScript-based User-Agent string parser
|
|
5
|
-
* https://github.com/faisalman/ua-parser-js
|
|
6
|
-
*
|
|
7
|
-
* Copyright © 2012-2021 Faisal Salman <f@faisalman.com>
|
|
8
|
-
* Licensed under MIT License
|
|
9
|
-
*/!function(a,i){"use strict";var s="model",o="name",c="type",u="vendor",_="version",f="mobile",l="tablet",d="smarttv",h={extend:function(e,t){var r={};for(var n in e)t[n]&&t[n].length%2==0?r[n]=t[n].concat(e[n]):r[n]=e[n];return r},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e,t){return e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),void 0===t?e:e.substring(0,255)}},p={rgx:function(e,t){for(var r,n,a,i,s,o,c=0;c<t.length&&!s;){var u=t[c],_=t[c+1];for(r=n=0;r<u.length&&!s;)if(s=u[r++].exec(e))for(a=0;a<_.length;a++)o=s[++n],"object"==typeof(i=_[a])&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,o):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i[0]]=o?o.replace(i[1],i[2]):void 0:this[i[0]]=o?i[1].call(this,o,i[2]):void 0:4==i.length&&(this[i[0]]=o?i[3].call(this,o.replace(i[1],i[2])):void 0):this[i]=o||void 0;c+=2}},str:function(e,t){for(var r in t)if("object"==typeof t[r]&&t[r].length>0){for(var n=0;n<t[r].length;n++)if(h.has(t[r][n],e))return"?"===r?void 0:r}else if(h.has(t[r],e))return"?"===r?void 0:r;return e}},m={browser:{oldSafari:{version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}},oldEdge:{version:{.1:"12.",21:"13.",31:"14.",39:"15.",41:"16.",42:"17.",44:"18."}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"}}}},b={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[_,[o,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[_,[o,"Edge"]],[/(opera\smini)\/([\w\.-]+)/i,/(opera\s[mobiletab]{3,6})\b.+version\/([\w\.-]+)/i,/(opera)(?:.+version\/|[\/\s]+)([\w\.]+)/i],[o,_],[/opios[\/\s]+([\w\.]+)/i],[_,[o,"Opera Mini"]],[/\sopr\/([\w\.]+)/i],[_,[o,"Opera"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]*)/i,/(avant\s|iemobile|slim)(?:browser)?[\/\s]?([\w\.]*)/i,/(ba?idubrowser)[\/\s]?([\w\.]+)/i,/(?:ms|\()(ie)\s([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\/([\w\.-]+)/i,/(rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([\w\.]+)/i,/(weibo)__([\d\.]+)/i],[o,_],[/(?:[\s\/]uc?\s?browser|(?:juc.+)ucweb)[\/\s]?([\w\.]+)/i],[_,[o,"UCBrowser"]],[/(?:windowswechat)?\sqbcore\/([\w\.]+)\b.*(?:windowswechat)?/i],[_,[o,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[_,[o,"WeChat"]],[/konqueror\/([\w\.]+)/i],[_,[o,"Konqueror"]],[/trident.+rv[:\s]([\w\.]{1,9})\b.+like\sgecko/i],[_,[o,"IE"]],[/yabrowser\/([\w\.]+)/i],[_,[o,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[o,/(.+)/,"$1 Secure Browser"],_],[/focus\/([\w\.]+)/i],[_,[o,"Firefox Focus"]],[/opt\/([\w\.]+)/i],[_,[o,"Opera Touch"]],[/coc_coc_browser\/([\w\.]+)/i],[_,[o,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[_,[o,"Dolphin"]],[/coast\/([\w\.]+)/i],[_,[o,"Opera Coast"]],[/xiaomi\/miuibrowser\/([\w\.]+)/i],[_,[o,"MIUI Browser"]],[/fxios\/([\w\.-]+)/i],[_,[o,"Firefox"]],[/(qihu|qhbrowser|qihoobrowser|360browser)/i],[[o,"360 Browser"]],[/(oculus|samsung|sailfish)browser\/([\w\.]+)/i],[[o,/(.+)/,"$1 Browser"],_],[/(comodo_dragon)\/([\w\.]+)/i],[[o,/_/g," "],_],[/\s(electron)\/([\w\.]+)\ssafari/i,/(tesla)(?:\sqtcarbrowser|\/(20[12]\d\.[\w\.-]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/\s]?([\w\.]+)/i],[o,_],[/(MetaSr)[\/\s]?([\w\.]+)/i,/(LBBROWSER)/i],[o],[/;fbav\/([\w\.]+);/i],[_,[o,"Facebook"]],[/FBAN\/FBIOS|FB_IAB\/FB4A/i],[[o,"Facebook"]],[/safari\s(line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/\s]([\w\.-]+)/i],[o,_],[/\bgsa\/([\w\.]+)\s.*safari\//i],[_,[o,"GSA"]],[/headlesschrome(?:\/([\w\.]+)|\s)/i],[_,[o,"Chrome Headless"]],[/\swv\).+(chrome)\/([\w\.]+)/i],[[o,"Chrome WebView"],_],[/droid.+\sversion\/([\w\.]+)\b.+(?:mobile\ssafari|safari)/i],[_,[o,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i],[o,_],[/version\/([\w\.]+)\s.*mobile\/\w+\s(safari)/i],[_,[o,"Mobile Safari"]],[/version\/([\w\.]+)\s.*(mobile\s?safari|safari)/i],[_,o],[/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[o,[_,p.str,m.browser.oldSafari.version]],[/(webkit|khtml)\/([\w\.]+)/i],[o,_],[/(navigator|netscape)\/([\w\.-]+)/i],[[o,"Netscape"],_],[/ile\svr;\srv:([\w\.]+)\).+firefox/i],[_,[o,"Firefox Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([\w\.-]+)$/i,/(firefox)\/([\w\.]+)\s[\w\s\-]+\/[\w\.]+$/i,/(mozilla)\/([\w\.]+)\s.+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i,/(links)\s\(([\w\.]+)/i,/(gobrowser)\/?([\w\.]*)/i,/(ice\s?browser)\/v?([\w\._]+)/i,/(mosaic)[\/\s]([\w\.]+)/i],[o,_]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],[["architecture","amd64"]],[/(ia32(?=;))/i],[["architecture",h.lowerize]],[/((?:i[346]|x)86)[;\)]/i],[["architecture","ia32"]],[/\b(aarch64|armv?8e?l?)\b/i],[["architecture","arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[["architecture","armhf"]],[/windows\s(ce|mobile);\sppc;/i],[["architecture","arm"]],[/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],[["architecture",/ower/,"",h.lowerize]],[/(sun4\w)[;\)]/i],[["architecture","sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?:64|(?=v(?:[1-7]|[5-7]1)l?|;|eabi))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[["architecture",h.lowerize]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus\s10)/i],[s,[u,"Samsung"],[c,l]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy\snexus)/i,/\ssamsung[\s-]([\w-]+)/i,/sec-(sgh\w+)/i],[s,[u,"Samsung"],[c,f]],[/\((ip(?:hone|od)[\s\w]*);/i],[s,[u,"Apple"],[c,f]],[/\((ipad);[\w\s\),;-]+apple/i,/applecoremedia\/[\w\.]+\s\((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[s,[u,"Apple"],[c,l]],[/\b((?:agr|ags[23]|bah2?|sht?)-a?[lw]\d{2})/i],[s,[u,"Huawei"],[c,l]],[/d\/huawei([\w\s-]+)[;\)]/i,/\b(nexus\s6p|vog-[at]?l\d\d|ane-[at]?l[x\d]\d|eml-a?l\d\da?|lya-[at]?l\d[\dc]|clt-a?l\d\di?|ele-l\d\d)/i,/\b(\w{2,4}-[atu][ln][01259][019])[;\)\s]/i],[s,[u,"Huawei"],[c,f]],[/\b(poco[\s\w]+)(?:\sbuild|\))/i,/\b;\s(\w+)\sbuild\/hm\1/i,/\b(hm[\s\-_]?note?[\s_]?(?:\d\w)?)\sbuild/i,/\b(redmi[\s\-_]?(?:note|k)?[\w\s_]+)(?:\sbuild|\))/i,/\b(mi[\s\-_]?(?:a\d|one|one[\s_]plus|note lte)?[\s_]?(?:\d?\w?)[\s_]?(?:plus)?)\sbuild/i],[[s,/_/g," "],[u,"Xiaomi"],[c,f]],[/\b(mi[\s\-_]?(?:pad)(?:[\w\s_]+))(?:\sbuild|\))/i],[[s,/_/g," "],[u,"Xiaomi"],[c,l]],[/;\s(\w+)\sbuild.+\soppo/i,/\s(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007)\b/i],[s,[u,"OPPO"],[c,f]],[/\svivo\s(\w+)(?:\sbuild|\))/i,/\s(v[12]\d{3}\w?[at])(?:\sbuild|;)/i],[s,[u,"Vivo"],[c,f]],[/\s(rmx[12]\d{3})(?:\sbuild|;)/i],[s,[u,"Realme"],[c,f]],[/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)\b[\w\s]+build\//i,/\smot(?:orola)?[\s-](\w*)/i,/((?:moto[\s\w\(\)]+|xt\d{3,4}|nexus\s6)(?=\sbuild|\)))/i],[s,[u,"Motorola"],[c,f]],[/\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],[s,[u,"Motorola"],[c,l]],[/((?=lg)?[vl]k\-?\d{3})\sbuild|\s3\.[\s\w;-]{10}lg?-([06cv9]{3,4})/i],[s,[u,"LG"],[c,l]],[/(lm-?f100[nv]?|nexus\s[45])/i,/lg[e;\s\/-]+((?!browser|netcast)\w+)/i,/\blg(\-?[\d\w]+)\sbuild/i],[s,[u,"LG"],[c,f]],[/(ideatab[\w\-\s]+)/i,/lenovo\s?(s(?:5000|6000)(?:[\w-]+)|tab(?:[\s\w]+)|yt[\d\w-]{6}|tb[\d\w-]{6})/i],[s,[u,"Lenovo"],[c,l]],[/(?:maemo|nokia).*(n900|lumia\s\d+)/i,/nokia[\s_-]?([\w\.-]*)/i],[[s,/_/g," "],[u,"Nokia"],[c,f]],[/droid.+;\s(pixel\sc)[\s)]/i],[s,[u,"Google"],[c,l]],[/droid.+;\s(pixel[\s\daxl]{0,6})(?:\sbuild|\))/i],[s,[u,"Google"],[c,f]],[/droid.+\s([c-g]\d{4}|so[-l]\w+|xq-a\w[4-7][12])(?=\sbuild\/|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[s,[u,"Sony"],[c,f]],[/sony\stablet\s[ps]\sbuild\//i,/(?:sony)?sgp\w+(?:\sbuild\/|\))/i],[[s,"Xperia Tablet"],[u,"Sony"],[c,l]],[/\s(kb2005|in20[12]5|be20[12][59])\b/i,/\ba000(1)\sbuild/i,/\boneplus\s(a\d{4})[\s)]/i],[s,[u,"OnePlus"],[c,f]],[/(alexa)webm/i,/(kf[a-z]{2}wi)(\sbuild\/|\))/i,/(kf[a-z]+)(\sbuild\/|\)).+silk\//i],[s,[u,"Amazon"],[c,l]],[/(sd|kf)[0349hijorstuw]+(\sbuild\/|\)).+silk\//i],[[s,"Fire Phone"],[u,"Amazon"],[c,f]],[/\((playbook);[\w\s\),;-]+(rim)/i],[s,u,[c,l]],[/((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10;\s(\w+)/i],[s,[u,"BlackBerry"],[c,f]],[/(?:\b|asus_)(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus\s7|padfone|p00[cj])/i],[s,[u,"ASUS"],[c,l]],[/\s(z[es]6[027][01][km][ls]|zenfone\s\d\w?)\b/i],[s,[u,"ASUS"],[c,f]],[/(nexus\s9)/i],[s,[u,"HTC"],[c,l]],[/(htc)[;_\s-]{1,2}([\w\s]+(?=\)|\sbuild)|\w+)/i,/(zte)-(\w*)/i,/(alcatel|geeksphone|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]*)/i],[u,[s,/_/g," "],[c,f]],[/droid[x\d\.\s;]+\s([ab][1-7]\-?[0178a]\d\d?)/i],[s,[u,"Acer"],[c,l]],[/droid.+;\s(m[1-5]\snote)\sbuild/i,/\bmz-([\w-]{2,})/i],[s,[u,"Meizu"],[c,f]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]*)/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i,/(microsoft);\s(lumia[\s\w]+)/i,/(lenovo)[_\s-]?([\w-]+)/i,/linux;.+(jolla);/i,/droid.+;\s(oppo)\s?([\w\s]+)\sbuild/i],[u,s,[c,f]],[/(archos)\s(gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i,/[;\/]\s?(le[\s\-]+pan)[\s\-]+(\w{1,9})\sbuild/i,/[;\/]\s?(trinity)[\-\s]*(t\d{3})\sbuild/i,/\b(gigaset)[\s\-]+(q\w{1,9})\sbuild/i,/\b(vodafone)\s([\w\s]+)(?:\)|\sbuild)/i],[u,s,[c,l]],[/\s(surface\sduo)\s/i],[s,[u,"Microsoft"],[c,l]],[/droid\s[\d\.]+;\s(fp\du?)\sbuild/i],[s,[u,"Fairphone"],[c,f]],[/\s(u304aa)\sbuild/i],[s,[u,"AT&T"],[c,f]],[/sie-(\w*)/i],[s,[u,"Siemens"],[c,f]],[/[;\/]\s?(rct\w+)\sbuild/i],[s,[u,"RCA"],[c,l]],[/[;\/\s](venue[\d\s]{2,7})\sbuild/i],[s,[u,"Dell"],[c,l]],[/[;\/]\s?(q(?:mv|ta)\w+)\sbuild/i],[s,[u,"Verizon"],[c,l]],[/[;\/]\s(?:barnes[&\s]+noble\s|bn[rt])([\w\s\+]*)\sbuild/i],[s,[u,"Barnes & Noble"],[c,l]],[/[;\/]\s(tm\d{3}\w+)\sbuild/i],[s,[u,"NuVision"],[c,l]],[/;\s(k88)\sbuild/i],[s,[u,"ZTE"],[c,l]],[/;\s(nx\d{3}j)\sbuild/i],[s,[u,"ZTE"],[c,f]],[/[;\/]\s?(gen\d{3})\sbuild.*49h/i],[s,[u,"Swiss"],[c,f]],[/[;\/]\s?(zur\d{3})\sbuild/i],[s,[u,"Swiss"],[c,l]],[/[;\/]\s?((zeki)?tb.*\b)\sbuild/i],[s,[u,"Zeki"],[c,l]],[/[;\/]\s([yr]\d{2})\sbuild/i,/[;\/]\s(dragon[\-\s]+touch\s|dt)(\w{5})\sbuild/i],[[u,"Dragon Touch"],s,[c,l]],[/[;\/]\s?(ns-?\w{0,9})\sbuild/i],[s,[u,"Insignia"],[c,l]],[/[;\/]\s?((nxa|Next)-?\w{0,9})\sbuild/i],[s,[u,"NextBook"],[c,l]],[/[;\/]\s?(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05]))\sbuild/i],[[u,"Voice"],s,[c,f]],[/[;\/]\s?(lvtel\-)?(v1[12])\sbuild/i],[[u,"LvTel"],s,[c,f]],[/;\s(ph-1)\s/i],[s,[u,"Essential"],[c,f]],[/[;\/]\s?(v(100md|700na|7011|917g).*\b)\sbuild/i],[s,[u,"Envizen"],[c,l]],[/[;\/]\s?(trio[\s\w\-\.]+)\sbuild/i],[s,[u,"MachSpeed"],[c,l]],[/[;\/]\s?tu_(1491)\sbuild/i],[s,[u,"Rotor"],[c,l]],[/(shield[\w\s]+)\sbuild/i],[s,[u,"Nvidia"],[c,l]],[/(sprint)\s(\w+)/i],[u,s,[c,f]],[/(kin\.[onetw]{3})/i],[[s,/\./g," "],[u,"Microsoft"],[c,f]],[/droid\s[\d\.]+;\s(cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[s,[u,"Zebra"],[c,l]],[/droid\s[\d\.]+;\s(ec30|ps20|tc[2-8]\d[kx])\)/i],[s,[u,"Zebra"],[c,f]],[/\s(ouya)\s/i,/(nintendo)\s([wids3utch]+)/i],[u,s,[c,"console"]],[/droid.+;\s(shield)\sbuild/i],[s,[u,"Nvidia"],[c,"console"]],[/(playstation\s[345portablevi]+)/i],[s,[u,"Sony"],[c,"console"]],[/[\s\(;](xbox(?:\sone)?(?!;\sxbox))[\s\);]/i],[s,[u,"Microsoft"],[c,"console"]],[/smart-tv.+(samsung)/i],[u,[c,d]],[/hbbtv.+maple;(\d+)/i],[[s,/^/,"SmartTV"],[u,"Samsung"],[c,d]],[/(?:linux;\snetcast.+smarttv|lg\snetcast\.tv-201\d)/i],[[u,"LG"],[c,d]],[/(apple)\s?tv/i],[u,[s,"Apple TV"],[c,d]],[/crkey/i],[[s,"Chromecast"],[u,"Google"],[c,d]],[/droid.+aft([\w])(\sbuild\/|\))/i],[s,[u,"Amazon"],[c,d]],[/\(dtv[\);].+(aquos)/i],[s,[u,"Sharp"],[c,d]],[/hbbtv\/\d+\.\d+\.\d+\s+\([\w\s]*;\s*(\w[^;]*);([^;]*)/i],[[u,h.trim],[s,h.trim],[c,d]],[/[\s\/\(](android\s|smart[-\s]?|opera\s)tv[;\)\s]/i],[[c,d]],[/((pebble))app\/[\d\.]+\s/i],[u,s,[c,"wearable"]],[/droid.+;\s(glass)\s\d/i],[s,[u,"Google"],[c,"wearable"]],[/droid\s[\d\.]+;\s(wt63?0{2,3})\)/i],[s,[u,"Zebra"],[c,"wearable"]],[/(tesla)(?:\sqtcarbrowser|\/20[12]\d\.[\w\.-]+)/i],[u,[c,"embedded"]],[/droid .+?; ([^;]+?)(?: build|\) applewebkit).+? mobile safari/i],[s,[c,f]],[/droid .+?;\s([^;]+?)(?: build|\) applewebkit).+?(?! mobile) safari/i],[s,[c,l]],[/\s(tablet|tab)[;\/]/i,/\s(mobile)(?:[;\/]|\ssafari)/i],[[c,h.lowerize]],[/(android[\w\.\s\-]{0,9});.+build/i],[s,[u,"Generic"]],[/(phone)/i],[[c,f]]],engine:[[/windows.+\sedge\/([\w\.]+)/i],[_,[o,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[_,[o,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[o,_],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[_,o]],os:[[/microsoft\s(windows)\s(vista|xp)/i],[o,_],[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*)[\s\/]?([\d\.\s\w]*)/i,/(windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)(?!.+xbox)/i],[o,[_,p.str,m.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[o,"Windows"],[_,p.str,m.os.windows.version]],[/ip[honead]{2,4}\b(?:.*os\s([\w]+)\slike\smac|;\sopera)/i,/cfnetwork\/.+darwin/i],[[_,/_/g,"."],[o,"iOS"]],[/(mac\sos\sx)\s?([\w\s\.]*)/i,/(macintosh|mac(?=_powerpc)\s)(?!.+haiku)/i],[[o,"Mac OS"],[_,/_/g,"."]],[/(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|sailfish|contiki)[\/\s-]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/\s]([\w\.]+)/i,/\((series40);/i],[o,_],[/\(bb(10);/i],[_,[o,"BlackBerry"]],[/(?:symbian\s?os|symbos|s60(?=;)|series60)[\/\s-]?([\w\.]*)/i],[_,[o,"Symbian"]],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[o,"Firefox OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[_,[o,"webOS"]],[/crkey\/([\d\.]+)/i],[_,[o,"Chromecast"]],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[o,"Chromium OS"],_],[/(nintendo|playstation)\s([wids345portablevuch]+)/i,/(xbox);\s+xbox\s([^\);]+)/i,/(mint)[\/\s\(\)]?(\w*)/i,/(mageia|vectorlinux)[;\s]/i,/(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?=\slinux)|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus|raspbian)(?:\sgnu\/linux)?(?:\slinux)?[\/\s-]?(?!chrom|package)([\w\.-]*)/i,/(hurd|linux)\s?([\w\.]*)/i,/(gnu)\s?([\w\.]*)/i,/\s([frentopc-]{0,4}bsd|dragonfly)\s?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku)\s(\w+)/i],[o,_],[/(sunos)\s?([\w\.\d]*)/i],[[o,"Solaris"],_],[/((?:open)?solaris)[\/\s-]?([\w\.]*)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.])*/i,/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms|fuchsia)/i,/(unix)\s?([\w\.]*)/i],[o,_]]},g=function(e,t){if("object"==typeof e&&(t=e,e=void 0),!(this instanceof g))return new g(e,t).getResult();var r=e||(void 0!==a&&a.navigator&&a.navigator.userAgent?a.navigator.userAgent:""),n=t?h.extend(b,t):b;return this.getBrowser=function(){var e={name:void 0,version:void 0};return p.rgx.call(e,r,n.browser),e.major=h.major(e.version),e},this.getCPU=function(){var e={architecture:void 0};return p.rgx.call(e,r,n.cpu),e},this.getDevice=function(){var e={vendor:void 0,model:void 0,type:void 0};return p.rgx.call(e,r,n.device),e},this.getEngine=function(){var e={name:void 0,version:void 0};return p.rgx.call(e,r,n.engine),e},this.getOS=function(){var e={name:void 0,version:void 0};return p.rgx.call(e,r,n.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r="string"==typeof e&&e.length>255?h.trim(e,255):e,this},this.setUA(r),this};g.VERSION="0.7.28",g.BROWSER={NAME:o,MAJOR:"major",VERSION:_},g.CPU={ARCHITECTURE:"architecture"},g.DEVICE={MODEL:s,VENDOR:u,TYPE:c,CONSOLE:"console",MOBILE:f,SMARTTV:d,TABLET:l,WEARABLE:"wearable",EMBEDDED:"embedded"},g.ENGINE={NAME:o,VERSION:_},g.OS={NAME:o,VERSION:_},void 0!==t?(void 0!==e&&e.exports&&(t=e.exports=g),t.UAParser=g):void 0===(n=function(){return g}.call(t,r,t,e))||(e.exports=n);var w=void 0!==a&&(a.jQuery||a.Zepto);if(w&&!w.ua){var v=new g;w.ua=v.getResult(),w.ua.get=function(){return v.getUA()},w.ua.set=function(e){v.setUA(e);var t=v.getResult();for(var r in t)w.ua[r]=t[r]}}}("object"==typeof window?window:this)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.log_level_t=t.instant_world_tracker_transform_orientation_t=t.face_landmark_name_t=t.barcode_format_t=void 0;var n=r(3);Object.defineProperty(t,"barcode_format_t",{enumerable:!0,get:function(){return n.barcode_format_t}});var a=r(3);Object.defineProperty(t,"face_landmark_name_t",{enumerable:!0,get:function(){return a.face_landmark_name_t}});var i=r(3);Object.defineProperty(t,"instant_world_tracker_transform_orientation_t",{enumerable:!0,get:function(){return i.instant_world_tracker_transform_orientation_t}});var s=r(3);Object.defineProperty(t,"log_level_t",{enumerable:!0,get:function(){return s.log_level_t}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SequenceDecoder=t.SequenceRecorder=t.SequenceRecorderPacketType=void 0;const n=r(0);var a;!function(e){e[e.CAMERA_FRAME=0]="CAMERA_FRAME",e[e.ACCELEROMETER=1]="ACCELEROMETER",e[e.ROTATION_RATE=2]="ROTATION_RATE",e[e.ATTITUDE=3]="ATTITUDE",e[e.ATTITUDE_MATRIX=4]="ATTITUDE_MATRIX"}(a=t.SequenceRecorderPacketType||(t.SequenceRecorderPacketType={}));class i{constructor(e){this._insertionByte=0,this._numberPackets=0,this._started=!1,this._data=new ArrayBuffer(this._estimatedSize(e,320,240)),this._dataView=new DataView(this._data),this._dataUint8=new Uint8Array(this._data),this._dataFloat32=new Float32Array(this._data)}_estimatedSize(e,t,r){return i.headerSizeBytes+(i.psbPacketType+i.cameraPacketSizeBytes+t*r)*e}start(){this._started=!0,this._insertionByte=0,this._numberPackets=0,this._growArrayBuffer(i.headerSizeBytes);let e=(new TextEncoder).encode("UAR1");this._dataUint8.set(e),this._dataView.setUint32(4,0,!0),this._insertionByte+=8}stop(){this._started=!1;let e=this._data.slice(0,this._insertionByte);this._data=e}data(){return this._dataUint8}appendCameraFrame(e){if(!this._started)return;if(e.data.byteLength!==e.dataWidth*e.dataHeight)return void n.zcerr("Unable to record frame to sequence: greyscale array doesn't match dimensions");let t=i.psbPacketType+i.cameraPacketSizeBytes+e.dataWidth*e.dataHeight;this._growArrayBuffer(t),this._dataView.setUint32(this._insertionByte,a.CAMERA_FRAME,!0),this._insertionByte+=i.psbPacketType,this._dataView.setUint32(this._insertionByte,e.dataWidth,!0),this._insertionByte+=i.psbCameraFrameWidth,this._dataView.setUint32(this._insertionByte,e.dataHeight,!0),this._insertionByte+=i.psbCameraFrameHeight,this._dataFloat32.set(e.cameraToDevice,this._insertionByte/4),this._insertionByte+=i.psbCameraToDeviceTransform,this._dataFloat32.set(e.cameraModel,this._insertionByte/4),this._insertionByte+=i.psbCameraModel,this._dataView.setUint32(this._insertionByte,e.userFacing?1:0,!0),this._insertionByte+=i.psbFlags,this._dataUint8.set(new Uint8Array(e.data),this._insertionByte),this._insertionByte+=e.data.byteLength,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}appendAccelerometer(e,t,r,n){this._appendTimestampedVec3(a.ACCELEROMETER,e,t,r,n)}appendRotationRate(e,t,r,n){this._appendTimestampedVec3(a.ROTATION_RATE,e,t,r,n)}appendAttitude(e,t,r,n){this._appendTimestampedVec3(a.ATTITUDE,e,t,r,n)}_appendTimestampedVec3(e,t,r,n,a){if(!this._started)return;let s=i.psbPacketType+i.accelerometerPacketSizeBytes;this._growArrayBuffer(s),this._dataView.setUint32(this._insertionByte,e,!0),this._insertionByte+=i.psbPacketType,this._dataView.setUint32(this._insertionByte,t,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,r,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,n,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,a,!0),this._insertionByte+=4,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}appendAttitudeMatrix(e){if(!this._started)return;let t=i.psbPacketType+i.attitudeMatrixPacketSizeBytes;this._growArrayBuffer(t),this._dataView.setUint32(this._insertionByte,a.ATTITUDE_MATRIX,!0),this._insertionByte+=i.psbPacketType,this._dataFloat32.set(e,this._insertionByte/4),this._insertionByte+=i.attitudeMatrixPacketSizeBytes,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}_growArrayBuffer(e){for(;this._insertionByte+e>this._data.byteLength;){let e=Math.max(2*this._data.byteLength,this._estimatedSize(50,320,240)),t=new ArrayBuffer(e),r=new Uint8Array(t);r.set(this._dataUint8),this._data=t,this._dataUint8=r,this._dataFloat32=new Float32Array(this._data),this._dataView=new DataView(this._data)}}}t.SequenceRecorder=i,i.headerSizeBytes=8,i.psbPacketType=4,i.psbCameraFrameWidth=4,i.psbCameraFrameHeight=4,i.psbFlags=4,i.psbCameraToDeviceTransform=64,i.psbCameraModel=24,i.cameraPacketSizeBytes=i.psbCameraFrameWidth+i.psbCameraFrameHeight+i.psbCameraToDeviceTransform+i.psbCameraModel+i.psbFlags,i.accelerometerPacketSizeBytes=16,i.rotationRatePacketSizeBytes=16,i.attitudePacketSizeBytes=16,i.attitudeMatrixPacketSizeBytes=64;t.SequenceDecoder=class{constructor(e){this._data=e,this.dataByPacket=new Map,this.dataByCameraFrame=new Map,this.numberPackets=0,this.numberCameraFrames=0,this.numberAccelerometerPackets=0,this.numberRotationRatePackets=0,this.numberAttitudePackets=0,this.numberAttitudeMatrixPackets=0;let t=new TextDecoder,r="";try{r=t.decode(this._data.slice(0,4))}catch(e){throw new Error("Unable to decode header - perhaps this isn't a sequence file?")}if("UAR1"!==r)throw new Error("Invalid - perhaps this isn't a sequence file: "+r);let n=0,s=new DataView(this._data);this.numberPackets=s.getUint32(4,!0),n+=i.headerSizeBytes;for(let e=0;e<this.numberPackets;e++){let t=s.getUint32(n,!0);switch(n+=i.psbPacketType,t){case a.CAMERA_FRAME:{let t=s.getUint32(n,!0);n+=i.psbCameraFrameWidth;let r=s.getUint32(n,!0);n+=i.psbCameraFrameHeight;let o=new Float32Array(this._data,n,i.psbCameraToDeviceTransform/4);n+=i.psbCameraToDeviceTransform;let c=new Float32Array(this._data,n,i.psbCameraModel/4);n+=i.psbCameraModel;let u=s.getUint32(n,!0);n+=i.psbFlags;let _=1===u,f=new Uint8Array(this._data,n,t*r);n+=t*r;let l={type:a.CAMERA_FRAME,width:t,height:r,cameraToDevice:o,cameraModel:c,userFacing:_,greyscale:f};this.dataByPacket.set(e,l),this.dataByCameraFrame.set(this.numberCameraFrames,l),this.numberCameraFrames++;break}case a.ACCELEROMETER:{let t=s.getUint32(n,!0);n+=4;let r=s.getFloat32(n,!0);n+=4;let i=s.getFloat32(n,!0);n+=4;let o=s.getFloat32(n,!0);n+=4,this.dataByPacket.set(e,{type:a.ACCELEROMETER,t:t,x:r,y:i,z:o}),this.numberAccelerometerPackets++;break}case a.ROTATION_RATE:{let t=s.getUint32(n,!0);n+=4;let r=s.getFloat32(n,!0);n+=4;let i=s.getFloat32(n,!0);n+=4;let o=s.getFloat32(n,!0);n+=4,this.dataByPacket.set(e,{type:a.ROTATION_RATE,t:t,x:r,y:i,z:o}),this.numberRotationRatePackets++;break}case a.ATTITUDE:{let t=s.getUint32(n,!0);n+=4;let r=s.getFloat32(n,!0);n+=4;let i=s.getFloat32(n,!0);n+=4;let o=s.getFloat32(n,!0);n+=4,this.dataByPacket.set(e,{type:a.ATTITUDE,t:t,x:r,y:i,z:o}),this.numberAttitudePackets++;break}case a.ATTITUDE_MATRIX:{let t=new Float32Array(this._data,n,i.attitudeMatrixPacketSizeBytes/4);n+=i.attitudeMatrixPacketSizeBytes,this.dataByPacket.set(e,{type:a.ATTITUDE_MATRIX,attitude:t}),this.numberAttitudeMatrixPackets++;break}}}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HTMLElementSource=void 0;const n=r(4),a=r(13),i=r(14),s=r(2),o=r(1),c=r(0);let u=1,_=new Map;class f extends a.Source{constructor(e,t){super(),this._video=e,this._pipeline=t,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._computedTransformRotation=-1,this._computedFrontCameraRotation=!1,this._cameraUvTransform=o.mat4.create(),this._cameraToDeviceTransform=o.mat4.create(),this._cameraToDeviceTransformUserFacing=o.mat4.create(),this._cameraModel=new Float32Array([300,300,160,120,0,0]),this._framebufferWidth=0,this._framebufferHeight=0,this._framebufferId=null,this._renderTexture=null,o.mat4.fromScaling(this._cameraToDeviceTransformUserFacing,[-1,1,-1]);let r=this._video;this._video instanceof HTMLVideoElement?r.addEventListener("loadedmetadata",()=>{this._hadFrames=!0}):this._hadFrames=!0,this._resetGLContext=this._resetGLContext.bind(this);let a=n.Pipeline.get(this._pipeline);a&&a.onGLContextReset.bind(this._resetGLContext)}static createVideoElementSource(e,t){let r=u++;return _.set(r,new f(t,e)),c.zcout("html_element_source_t initialized"),r}static getVideoElementSource(e){return _.get(e)}_resetGLContext(){this._currentVideoTexture=void 0,this._framebufferId=null,this._renderTexture=null,this._vertexBuffer=void 0,this._indexBuffer=void 0,this._greyscaleShader=void 0}destroy(){let e=n.Pipeline.get(this._pipeline);e&&e.onGLContextReset.unbind(this._resetGLContext),this.pause(),this._resetGLContext()}pause(){this._isPaused=!0;let e=n.Pipeline.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0)}start(){var e;this._isPaused&&(this._isUploadFrame=!0,this._video instanceof HTMLVideoElement&&(this._hadFrames=!1)),this._isPaused=!1;let t=n.Pipeline.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this)}getFrame(e){let t=n.Pipeline.get(this._pipeline);if(!t)return;let r=t.glContext;if(r&&!this._isPaused&&this._hadFrames)try{return this._processFrame(r,this._cameraToScreenRotation,e)}catch(e){console.log("Unable to process frame")}}_processFrame(e,t,r){let a=n.Pipeline.get(this._pipeline);if(a){if(this._isUploadFrame)return this._currentVideoTexture||(this._currentVideoTexture=a.getVideoTexture()),this._uploadFrame(t,this._isUserFacing),void(this._isUploadFrame=!this._isUploadFrame);if(!r)return this._isUploadFrame=!this._isUploadFrame,this._readFrame(a,e)}}_uploadFrame(e,t){if(!this._currentVideoTexture)return;let r=n.Pipeline.get(this._pipeline);if(!r)return;let a=r.glContext;if(!a)return;a.disable(a.SCISSOR_TEST),a.disable(a.DEPTH_TEST),a.disable(a.BLEND),a.disable(a.CULL_FACE),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,this._currentVideoTexture);const s=a.RGBA,o=a.RGBA,c=a.UNSIGNED_BYTE;a.texImage2D(a.TEXTURE_2D,0,s,o,c,this._video);let u=0,_=0;this._video instanceof HTMLVideoElement?(u=this._video.videoWidth,_=this._video.videoHeight):(u=this._video.width,_=this._video.height),_>u&&(_=[u,u=_][0]),this._updateTransforms(e,t);let f=this._getFramebuffer(a,i.profile.dataWidth/4,i.profile.dataHeight),l=this._getVertexBuffer(a),d=this._getIndexBuffer(a),h=this._getGreyscaleShader(a);a.bindFramebuffer(a.FRAMEBUFFER,f),a.viewport(0,0,this._framebufferWidth,this._framebufferHeight),a.clearColor(0,0,0,1),a.clear(a.COLOR_BUFFER_BIT),a.bindBuffer(a.ARRAY_BUFFER,l),a.vertexAttribPointer(h.aVertexPositionLoc,2,a.FLOAT,!1,16,0),a.enableVertexAttribArray(h.aVertexPositionLoc),a.vertexAttribPointer(h.aTextureCoordLoc,2,a.FLOAT,!1,16,8),a.enableVertexAttribArray(h.aTextureCoordLoc),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,d),a.useProgram(h.program),a.uniform1f(h.uTexWidthLoc,i.profile.dataWidth),a.uniformMatrix4fv(h.uUvTransformLoc,!1,this._cameraUvTransform),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,this._currentVideoTexture),a.uniform1i(h.uSamplerLoc,0),a.drawElements(a.TRIANGLES,6,a.UNSIGNED_SHORT,0),a.disableVertexAttribArray(h.aVertexPositionLoc),a.disableVertexAttribArray(h.aTextureCoordLoc),a.bindFramebuffer(a.FRAMEBUFFER,null),a.bindBuffer(a.ARRAY_BUFFER,null),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,null),a.useProgram(null),a.bindTexture(a.TEXTURE_2D,null)}_readFrame(e,t){if(!this._currentVideoTexture)throw new Error("No video texture");let r=this._currentVideoTexture;this._currentVideoTexture=void 0;let n=i.profile.dataWidth*i.profile.dataHeight,a=e.cameraPixelArrays.pop();for(;a&&a.byteLength!==n;)a=e.cameraPixelArrays.pop();a||(a=new ArrayBuffer(n));let s=new Uint8Array(a),o=this._getFramebuffer(t,i.profile.dataWidth/4,i.profile.dataHeight);t.bindFramebuffer(t.FRAMEBUFFER,o),t.readPixels(0,0,this._framebufferWidth,this._framebufferHeight,t.RGBA,t.UNSIGNED_BYTE,s),t.bindFramebuffer(t.FRAMEBUFFER,null);let c=300*i.profile.dataWidth/320;return this._cameraModel[0]=c,this._cameraModel[1]=c,this._cameraModel[2]=.5*i.profile.dataWidth,this._cameraModel[3]=.5*i.profile.dataHeight,{uvTransform:this._cameraUvTransform,data:a,texture:r,cameraModel:this._cameraModel,dataWidth:i.profile.dataWidth,dataHeight:i.profile.dataHeight,userFacing:this._computedFrontCameraRotation,cameraToDevice:this._computedFrontCameraRotation?this._cameraToDeviceTransformUserFacing:this._cameraToDeviceTransform,cameraSource:this}}_updateTransforms(e,t){e==this._computedTransformRotation&&t==this._computedFrontCameraRotation||(this._computedTransformRotation=e,this._computedFrontCameraRotation=t,this._cameraUvTransform=this._getCameraUvTransform())}_getCameraUvTransform(){switch(this._computedTransformRotation){case 270:return new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]);case 180:return new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);case 90:return new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1])}return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}_getFramebuffer(e,t,r){if(this._framebufferWidth===t&&this._framebufferHeight===r&&this._framebufferId)return this._framebufferId;if(this._framebufferId&&(e.deleteFramebuffer(this._framebufferId),this._framebufferId=null),this._renderTexture&&(e.deleteTexture(this._renderTexture),this._renderTexture=null),this._framebufferId=e.createFramebuffer(),!this._framebufferId)throw new Error("Unable to create framebuffer");if(e.bindFramebuffer(e.FRAMEBUFFER,this._framebufferId),this._renderTexture=e.createTexture(),!this._renderTexture)throw new Error("Unable to create render texture");e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._renderTexture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameterf(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this._renderTexture,0);let n=e.checkFramebufferStatus(e.FRAMEBUFFER);if(n!==e.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer not complete: "+n.toString());return this._framebufferWidth=t,this._framebufferHeight=r,e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),this._framebufferId}_getVertexBuffer(e){if(this._vertexBuffer)return this._vertexBuffer;if(this._vertexBuffer=e.createBuffer(),!this._vertexBuffer)throw new Error("Unable to create vertex buffer");e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer);let t=new Float32Array([-1,-1,0,0,-1,1,0,1,1,1,1,1,1,-1,1,0]);return e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW),this._vertexBuffer}_getIndexBuffer(e){if(this._indexBuffer)return this._indexBuffer;if(this._indexBuffer=e.createBuffer(),!this._indexBuffer)throw new Error("Unable to create index buffer");e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer);let t=new Uint16Array([0,1,2,0,2,3]);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW),this._indexBuffer}_getGreyscaleShader(e){if(this._greyscaleShader)return this._greyscaleShader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=s.compileShader(e,e.VERTEX_SHADER,l),n=s.compileShader(e,e.FRAGMENT_SHADER,d);e.attachShader(t,r),e.attachShader(t,n),s.linkProgram(e,t);let a=e.getUniformLocation(t,"uTexWidth");if(!a)throw new Error("Unable to get uniform location uTexWidth");let i=e.getUniformLocation(t,"uUvTransform");if(!i)throw new Error("Unable to get uniform location uUvTransform");let o=e.getUniformLocation(t,"uSampler");if(!o)throw new Error("Unable to get uniform location uSampler");return this._greyscaleShader={program:t,aVertexPositionLoc:e.getAttribLocation(t,"aVertexPosition"),aTextureCoordLoc:e.getAttribLocation(t,"aTextureCoord"),uTexWidthLoc:a,uUvTransformLoc:i,uSamplerLoc:o},this._greyscaleShader}uploadGL(){}}t.HTMLElementSource=f;let l="\n attribute vec4 aVertexPosition;\n attribute vec2 aTextureCoord;\n\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform float uTexWidth;\n\tuniform mat4 uUvTransform;\n\n void main(void) {\n highp vec2 offset1 = vec2(1.5 / uTexWidth, 0);\n highp vec2 offset2 = vec2(0.5 / uTexWidth, 0);\n\n gl_Position = aVertexPosition;\n vTextureCoord1 = (uUvTransform * vec4(aTextureCoord - offset1, 0, 1)).xy;\n vTextureCoord2 = (uUvTransform * vec4(aTextureCoord - offset2, 0, 1)).xy;\n vTextureCoord3 = (uUvTransform * vec4(aTextureCoord + offset2, 0, 1)).xy;\n vTextureCoord4 = (uUvTransform * vec4(aTextureCoord + offset1, 0, 1)).xy;\n }\n",d="\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform sampler2D uSampler;\n\n const lowp vec3 colorWeights = vec3(77.0 / 256.0, 150.0 / 256.0, 29.0 / 256.0);\n\n void main(void) {\n lowp vec4 outpx;\n\n outpx.r = dot(colorWeights, texture2D(uSampler, vTextureCoord1).xyz);\n outpx.g = dot(colorWeights, texture2D(uSampler, vTextureCoord2).xyz);\n outpx.b = dot(colorWeights, texture2D(uSampler, vTextureCoord3).xyz);\n outpx.a = dot(colorWeights, texture2D(uSampler, vTextureCoord4).xyz);\n\n gl_FragColor = outpx;\n }\n"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Source=void 0;t.Source=class{}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.profile=t.EmbeddedVideoImplementation=void 0;const n=r(9);!function(e){e[e.OBJECT_URL=0]="OBJECT_URL",e[e.SRC_OBJECT=1]="SRC_OBJECT"}(t.EmbeddedVideoImplementation||(t.EmbeddedVideoImplementation={})),t.profile={deviceMotionMutliplier:-1,blacklisted:!1,showGyroPermissionsWarningIfNecessary:!1,showSafariPermissionsResetIfNecessary:!1,requestHighFrameRate:!1,videoWidth:640,videoHeight:480,dataWidth:320,dataHeight:240,videoElementInDOM:!1},window.zeeProfile=t.profile;let a=new n.UAParser;switch(a.getBrowser().name){case"Safari":if(t.profile.deviceMotionMutliplier=1,void 0===window.orientation)break;t.profile.videoElementInDOM=!0,t.profile.showSafariPermissionsResetIfNecessary=!0;break;case"Chrome":let e=a.getEngine();if(!e||"WebKit"!==e.name)break;case"Mobile Safari":t.profile.deviceMotionMutliplier=1;let r=a.getOS().version;if(r){let e=r.split(".");if(e.length>=2){const r=parseInt(e[0]),n=parseInt(e[1]);(r<11||11===r&&n<3)&&(t.profile.blacklisted=!0),(r<12||12===r&&n<2)&&(t.profile.videoElementInDOM=!0),(12===r&&n>=2||r>=13)&&(t.profile.showGyroPermissionsWarningIfNecessary=!0),r>=13&&(t.profile.showSafariPermissionsResetIfNecessary=!0),(r>=12&&n>1||r>=13)&&navigator.mediaDevices&&navigator.mediaDevices.getSupportedConstraints&&navigator.mediaDevices.getSupportedConstraints().frameRate&&(t.profile.requestHighFrameRate=!0,t.profile.videoHeight=360,t.profile.dataHeight=180)}}}},function(e,t,r){"use strict";r.r(t),t.default=r.p+"b4f46e148a3b3b5aef90717d8d60e3fc.zbin"},function(e,t,r){"use strict";if(Object.defineProperty(t,"__esModule",{value:!0}),t.log_level_t=t.instant_world_tracker_transform_orientation_t=t.face_landmark_name_t=t.barcode_format_t=t.initialize=void 0,document.currentScript){const e=new URL(document.currentScript.src);let t=e.toString();if(e.pathname){let e=t.split("/");e.pop(),t=e.join("/")+"/"}r.p=t}const n=r(17),a=r(39);t.initialize=function(){return console.log("Zappar CV v"+a.VERSION),n.initialize()};var i=r(10);Object.defineProperty(t,"barcode_format_t",{enumerable:!0,get:function(){return i.barcode_format_t}}),Object.defineProperty(t,"face_landmark_name_t",{enumerable:!0,get:function(){return i.face_landmark_name_t}}),Object.defineProperty(t,"instant_world_tracker_transform_orientation_t",{enumerable:!0,get:function(){return i.instant_world_tracker_transform_orientation_t}}),Object.defineProperty(t,"log_level_t",{enumerable:!0,get:function(){return i.log_level_t}})},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function o(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.initialize=void 0;const a=r(18),i=r(7),s=r(6),o=r(1),c=r(21),u=r(27),_=r(28),f=r(4),l=r(32),d=r(12),h=r(33),p=r(35),m=r(0),b=r(36);let g;t.initialize=function(){if(g)return g;c.launchWorker();let e=new a.zappar_client(e=>{c.messageManager.postOutgoingMessage({t:"zappar",d:e},[e])});if(window.location.hostname.toLowerCase().indexOf(".zappar.io")>0){let t=window.location.pathname.split("/");t.length>1&&t[1].length>0&&e.impl.analytics_project_id_set(".wiz"+t[1])}return c.messageManager.onIncomingMessage.bind(t=>{var r,n;switch(t.t){case"zappar":null===(r=f.Pipeline.get(t.p))||void 0===r||r.pendingMessages.push(t.d);break;case"buf":e.serializer.bufferReturn(t.d);break;case"cameraFrameRecycleS2C":let a=t;null===(n=f.Pipeline.get(a.p))||void 0===n||n.cameraTokenReturn(a);break;case"licerr":{let e=document.createElement("div");e.innerHTML="Visit <a href='https://docs.zap.works/universal-ar/licensing/' style='color: white;'>our licensing page</a> to find out about hosting on your own domain.",e.style.position="absolute",e.style.bottom="20px",e.style.width="80%",e.style.backgroundColor="black",e.style.color="white",e.style.borderRadius="10px",e.style.padding="10px",e.style.fontFamily="sans-serif",e.style.textAlign="center",e.style.left="10%",e.style.zIndex=Number.MAX_SAFE_INTEGER.toString();let t=document.createElement("span");t.innerText=" (30)",e.append(t);let r=30;setInterval((function(){r--,r>=0&&(t.innerText=" ("+r.toString()+")")}),1e3),document.body.append(e)}}}),g=Object.assign(Object.assign({},e.impl),{camera_default_device_id:e=>e?l.CameraSource.USER_DEFAULT_DEVICE_ID:l.CameraSource.DEFAULT_DEVICE_ID,camera_source_create:(e,t)=>l.CameraSource.create(e,t),camera_source_destroy:e=>{var t;return null===(t=l.CameraSource.get(e))||void 0===t?void 0:t.destroy()},camera_source_pause:e=>{var t;return null===(t=l.CameraSource.get(e))||void 0===t?void 0:t.pause()},camera_source_start:e=>{var t;return null===(t=l.CameraSource.get(e))||void 0===t?void 0:t.start()},pipeline_create:()=>f.Pipeline.create(e.impl,c.messageManager),pipeline_frame_update:t=>{var r;return null===(r=f.Pipeline.get(t))||void 0===r?void 0:r.frameUpdate(e)},pipeline_camera_frame_draw_gl:(e,t,r,n)=>{var a;null===(a=f.Pipeline.get(e))||void 0===a||a.cameraFrameDrawGL(t,r,n)},draw_plane:(e,t,r,n,a)=>{i.drawPlane(e,t,r,n,a)},pipeline_draw_face:(e,t,r,n,a)=>{var i;let s=_.getFaceMesh(a);if(!s)return m.zcwarn("attempting to call draw_face on a destroyed zappar_face_mesh_t"),new Uint16Array;null===(i=f.Pipeline.get(e))||void 0===i||i.drawFace(t,r,n,s)},pipeline_draw_face_project:(e,t,r,n,a,i,s)=>{var o;null===(o=f.Pipeline.get(e))||void 0===o||o.drawFaceProject(t,r,n,a,i,s)},projection_matrix_from_camera_model:s.projectionMatrix,projection_matrix_from_camera_model_ext:s.projectionMatrix,pipeline_process_gl:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.processGL()},pipeline_gl_context_set:(e,t,r)=>{var n;return null===(n=f.Pipeline.get(e))||void 0===n?void 0:n.glContextSet(t,r)},pipeline_gl_context_lost:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.glContextLost()},pipeline_camera_frame_upload_gl:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.uploadGL()},pipeline_camera_frame_texture_gl:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.cameraFrameTexture()},pipeline_camera_frame_texture_matrix:(e,t,r,n)=>{var a;return(null===(a=f.Pipeline.get(e))||void 0===a?void 0:a.cameraFrameTextureMatrix(t,r,n))||o.mat4.create()},pipeline_camera_frame_user_facing:e=>{var t;return(null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.cameraFrameUserFacing())||!1},pipeline_camera_pose_default:()=>o.mat4.create(),pipeline_camera_pose_with_attitude:(e,t)=>{var r;return(null===(r=f.Pipeline.get(e))||void 0===r?void 0:r.cameraPoseWithAttitude(t))||o.mat4.create()},pipeline_camera_pose_with_origin:(e,t)=>{let r=o.mat4.create();return o.mat4.invert(r,t),r},pipeline_sequence_record_clear:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.sequenceRecordClear()},pipeline_sequence_record_start:(e,t)=>{var r;return null===(r=f.Pipeline.get(e))||void 0===r?void 0:r.sequenceRecordStart(t)},pipeline_sequence_record_stop:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.sequenceRecordStop()},pipeline_sequence_record_device_attitude_matrices_set:(e,t)=>{var r;return null===(r=f.Pipeline.get(e))||void 0===r?void 0:r.sequenceRecordDeviceAttitudeMatrices(t)},pipeline_sequence_record_data:e=>{var t;return(null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.sequenceRecordData())||new Uint8Array(0)},pipeline_sequence_record_data_size:e=>{var t;return(null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.sequenceRecordData().byteLength)||0},instant_world_tracker_anchor_pose_camera_relative:(t,r)=>{let n=f.applyScreenCounterRotation(void 0,e.impl.instant_world_tracker_anchor_pose_raw(t));if(r){let e=o.mat4.create();o.mat4.fromScaling(e,[-1,1,1]),o.mat4.multiply(n,e,n),o.mat4.multiply(n,n,e)}return n},instant_world_tracker_anchor_pose:(t,r,n)=>{let a=f.applyScreenCounterRotation(void 0,e.impl.instant_world_tracker_anchor_pose_raw(t));if(n){let e=o.mat4.create();o.mat4.fromScaling(e,[-1,1,1]),o.mat4.multiply(a,e,a),o.mat4.multiply(a,a,e)}return o.mat4.multiply(a,r,a),a},instant_world_tracker_anchor_pose_set_from_camera_offset:(t,r,n,a,i)=>{let c=s.cameraRotationForScreenOrientation(!1)*Math.PI/180,u=o.mat4.create();o.mat4.fromRotation(u,-c,[0,0,1]);let _=o.vec3.create();o.vec3.transformMat4(_,[r,n,a],u),e.impl.instant_world_tracker_anchor_pose_set_from_camera_offset_raw(t,_[0],_[1],_[2],i)},image_tracker_anchor_pose_camera_relative:(t,r,n)=>{let a=f.applyScreenCounterRotation(void 0,e.impl.image_tracker_anchor_pose_raw(t,r));if(n){let e=o.mat4.create();o.mat4.fromScaling(e,[-1,1,1]),o.mat4.multiply(a,e,a),o.mat4.multiply(a,a,e)}return a},image_tracker_anchor_pose:(t,r,n,a)=>{let i=f.applyScreenCounterRotation(void 0,e.impl.image_tracker_anchor_pose_raw(t,r));if(a){let e=o.mat4.create();o.mat4.fromScaling(e,[-1,1,1]),o.mat4.multiply(i,e,i),o.mat4.multiply(i,i,e)}return o.mat4.multiply(i,n,i),i},face_tracker_anchor_pose_camera_relative:(t,r,n)=>{let a=f.applyScreenCounterRotation(void 0,e.impl.face_tracker_anchor_pose_raw(t,r));if(n){let e=o.mat4.create();o.mat4.fromScaling(e,[-1,1,1]),o.mat4.multiply(a,e,a),o.mat4.multiply(a,a,e)}return a},face_tracker_anchor_pose:(t,r,n,a)=>{let i=f.applyScreenCounterRotation(void 0,e.impl.face_tracker_anchor_pose_raw(t,r));if(a){let e=o.mat4.create();o.mat4.fromScaling(e,[-1,1,1]),o.mat4.multiply(i,e,i),o.mat4.multiply(i,i,e)}return o.mat4.multiply(i,n,i),i},face_tracker_model_load_default:e=>n(this,void 0,void 0,(function*(){yield function(e){return n(this,void 0,void 0,(function*(){let t=r(38);void 0!==t.default&&(t=t.default);let n=yield fetch(t),a=yield n.arrayBuffer();null==g||g.face_tracker_model_load_from_memory(e,a)}))}(e)})),face_mesh_create:()=>_.createFaceMesh(),face_mesh_destroy:e=>{_.destroyFaceMesh(e)},face_mesh_indices:e=>{let t=_.getFaceMesh(e);return t?t.getIndices():(m.zcwarn("attempting to call face_mesh_indices on a destroyed zappar_face_mesh_t"),new Uint16Array)},face_mesh_indices_size:e=>{let t=_.getFaceMesh(e);return t?t.getIndices().length:(m.zcwarn("attempting to call face_mesh_indices_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_uvs:e=>{let t=_.getFaceMesh(e);return t?t.getUVs():(m.zcwarn("attempting to call face_mesh_uvs on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_uvs_size:e=>{let t=_.getFaceMesh(e);return t?t.getUVs().length:(m.zcwarn("attempting to call face_mesh_uvs_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_vertices:e=>{let t=_.getFaceMesh(e);return t?t.getVertices():(m.zcwarn("attempting to call face_mesh_vertices on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_vertices_size:e=>{let t=_.getFaceMesh(e);return t?t.getVertices().length:(m.zcwarn("attempting to call face_mesh_vertices_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_normals:e=>{let t=_.getFaceMesh(e);return t?t.getNormals():(m.zcwarn("attempting to call face_mesh_normals on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_normals_size:e=>{let t=_.getFaceMesh(e);return t?t.getNormals().length:(m.zcwarn("attempting to call face_mesh_normals_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_load_from_memory:(e,t,r,n,a,i)=>{let s=_.getFaceMesh(e);s?s.loadFromMemory(t,r,n,a,i):m.zcwarn("attempting to call face_mesh_load_from_memory on a destroyed zappar_face_mesh_t")},face_mesh_update:(e,t,r,n)=>{let a=_.getFaceMesh(e);a?a.update(t,r,n):m.zcwarn("attempting to call face_mesh_update on a destroyed zappar_face_mesh_t")},face_mesh_load_default:e=>n(this,void 0,void 0,(function*(){let t=_.getFaceMesh(e);if(!t)return void m.zcwarn("attempting to call face_mesh_load_default on a destroyed zappar_face_mesh_t");let n=r(15);void 0!==n.default&&(n=n.default);let a=yield fetch(n);t.loadFromMemory(yield a.arrayBuffer(),!1,!1,!1,!1)})),face_mesh_load_default_face:(e,t,a,i)=>n(this,void 0,void 0,(function*(){let n=_.getFaceMesh(e);if(!n)return void m.zcwarn("attempting to call face_mesh_load_default_face on a destroyed zappar_face_mesh_t");let s=r(15);void 0!==s.default&&(s=s.default);let o=yield fetch(s);n.loadFromMemory(yield o.arrayBuffer(),t,a,i,!1)})),face_mesh_load_default_full_head_simplified:(e,t,a,i,s)=>n(this,void 0,void 0,(function*(){let n=_.getFaceMesh(e);if(!n)return void m.zcwarn("attempting to call face_mesh_load_default_full_head_simplified on a destroyed zappar_face_mesh_t");let o=r(37);void 0!==o.default&&(o=o.default);let c=yield fetch(o);n.loadFromMemory(yield c.arrayBuffer(),t,a,i,s)})),face_mesh_loaded_version:e=>{let t=_.getFaceMesh(e);return t?t.getModelVersion():(m.zcwarn("attempting to call face_mesh_load_default on a destroyed zappar_face_mesh_t"),-1)},face_landmark_create:e=>h.createFaceLandmark(e),face_landmark_destroy:e=>{h.destroyFaceLandmark(e)},face_landmark_update:(e,t,r,n)=>{let a=h.getFaceLandmark(e);a?a.update(t,r,n):m.zcwarn("attempting to call face_landmark_update on a destroyed zappar_face_landmark_t")},face_landmark_anchor_pose:e=>{let t=h.getFaceLandmark(e);return t?t.anchor_pose:(m.zcwarn("attempting to call face_landmark_anchor_pose on a destroyed zappar_face_landmark_t"),o.mat4.create())},html_element_source_create:(e,t)=>d.HTMLElementSource.createVideoElementSource(e,t),html_element_source_start:e=>{var t;return null===(t=d.HTMLElementSource.getVideoElementSource(e))||void 0===t?void 0:t.start()},html_element_source_pause:e=>{var t;return null===(t=d.HTMLElementSource.getVideoElementSource(e))||void 0===t?void 0:t.pause()},html_element_source_destroy:e=>{var t;return null===(t=d.HTMLElementSource.getVideoElementSource(e))||void 0===t?void 0:t.destroy()},sequence_source_create:e=>b.SequenceSource.create(e),sequence_source_load_from_memory:(e,t)=>{var r;return null===(r=b.SequenceSource.get(e))||void 0===r?void 0:r.loadFromMemory(t)},sequence_source_pause:e=>{var t;return null===(t=b.SequenceSource.get(e))||void 0===t?void 0:t.pause()},sequence_source_start:e=>{var t;return null===(t=b.SequenceSource.get(e))||void 0===t?void 0:t.start()},sequence_source_destroy:e=>{var t;return null===(t=b.SequenceSource.get(e))||void 0===t?void 0:t.destroy()},permission_granted_all:u.permissionGrantedAll,permission_granted_camera:u.permissionGrantedCamera,permission_granted_motion:u.permissionGrantedMotion,permission_denied_any:u.permissionDeniedAny,permission_denied_camera:u.permissionDeniedCamera,permission_denied_motion:u.permissionDeniedMotion,permission_request_motion:u.permissionRequestMotion,permission_request_camera:u.permissionRequestCamera,permission_request_all:u.permissionRequestAll,permission_request_ui:u.permissionRequestUI,permission_request_ui_promise:u.permissionRequestUI,permission_denied_ui:u.permissionDeniedUI,browser_incompatible:p.default.incompatible,browser_incompatible_ui:p.default.incompatible_ui,log_level_set:t=>{m.setLogLevel(t),e.impl.log_level_set(t)}}),g}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.zappar_client=void 0;const n=r(19),a=r(20);t.zappar_client=class{constructor(e){this._messageSender=e,this._globalState={log_level:1},this.serializer=new n.MessageSerializer(e=>{this._messageSender(e)}),this.deserializer=new a.MessageDeserializer,this._latestId=1,this._pipeline_state_by_instance=new Map,this._camera_source_state_by_instance=new Map,this._sequence_source_state_by_instance=new Map,this._image_tracker_state_by_instance=new Map,this._face_tracker_state_by_instance=new Map,this._face_mesh_state_by_instance=new Map,this._face_landmark_state_by_instance=new Map,this._barcode_finder_state_by_instance=new Map,this._instant_world_tracker_state_by_instance=new Map,this.impl={log_level:()=>this._globalState.log_level,log_level_set:e=>{this.serializer.sendMessage(34,t=>{t.logLevel(e)})},analytics_project_id_set:e=>{this.serializer.sendMessage(31,t=>{t.string(e)})},pipeline_create:()=>{let e=this._latestId++,t={current_frame_user_data:0,camera_model:new Float32Array([300,300,160,120,0,0]),camera_pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),camera_frame_camera_attitude:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),camera_frame_device_attitude:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),frame_number:0};return this._pipeline_state_by_instance.set(e,t),this.serializer.sendMessage(27,t=>{t.type(e)}),e},pipeline_destroy:e=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this._pipeline_state_by_instance.delete(e),this.serializer.sendMessage(28,t=>{t.type(e)})},pipeline_frame_update:e=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(9,t=>{t.type(e)})},pipeline_frame_number:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.frame_number},pipeline_camera_model:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_model},pipeline_camera_frame_user_data:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.current_frame_user_data},pipeline_camera_frame_submit:(e,t,r,n,a,i,s,o)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(8,c=>{c.type(e),c.dataWithLength(t),c.int(r),c.int(n),c.int(a),c.matrix4x4(i),c.matrix4x4(s),c.bool(o)})},pipeline_camera_frame_camera_attitude:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_frame_camera_attitude},pipeline_camera_frame_device_attitude:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_frame_device_attitude},pipeline_motion_accelerometer_submit:(e,t,r,n,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(10,i=>{i.type(e),i.timestamp(t),i.float(r),i.float(n),i.float(a)})},pipeline_motion_rotation_rate_submit:(e,t,r,n,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(11,i=>{i.type(e),i.timestamp(t),i.float(r),i.float(n),i.float(a)})},pipeline_motion_attitude_submit:(e,t,r,n,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(12,i=>{i.type(e),i.timestamp(t),i.float(r),i.float(n),i.float(a)})},pipeline_motion_attitude_matrix_submit:(e,t)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(13,r=>{r.type(e),r.matrix4x4(t)})},camera_source_create:(e,t)=>{let r=this._latestId++;return this._camera_source_state_by_instance.set(r,{}),this.serializer.sendMessage(29,n=>{n.type(r),n.type(e),n.string(t)}),r},camera_source_destroy:e=>{if(!this._camera_source_state_by_instance.get(e))throw new Error("This object has been destroyed");this._camera_source_state_by_instance.delete(e),this.serializer.sendMessage(30,t=>{t.type(e)})},sequence_source_create:e=>{let t=this._latestId++;return this._sequence_source_state_by_instance.set(t,{}),this.serializer.sendMessage(35,r=>{r.type(t),r.type(e)}),t},sequence_source_destroy:e=>{if(!this._sequence_source_state_by_instance.get(e))throw new Error("This object has been destroyed");this._sequence_source_state_by_instance.delete(e),this.serializer.sendMessage(36,t=>{t.type(e)})},image_tracker_create:e=>{let t=this._latestId++;return this._image_tracker_state_by_instance.set(t,{enabled:!0,target_loaded_version:-1,target_count:0,anchor_count:0,anchor_id:[],anchor_pose:[]}),this.serializer.sendMessage(2,r=>{r.type(t),r.type(e)}),t},image_tracker_destroy:e=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._image_tracker_state_by_instance.delete(e),this.serializer.sendMessage(14,t=>{t.type(e)})},image_tracker_target_load_from_memory:(e,t)=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(4,r=>{r.type(e),r.dataWithLength(t)})},image_tracker_target_loaded_version:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.target_loaded_version},image_tracker_target_count:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.target_count},image_tracker_enabled:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},image_tracker_enabled_set:(e,t)=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(3,r=>{r.type(e),r.bool(t)})},image_tracker_anchor_count:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.anchor_count},image_tracker_anchor_id:(e,t)=>{let r=this._image_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_id[t]},image_tracker_anchor_pose_raw:(e,t)=>{let r=this._image_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_pose[t]},face_tracker_create:e=>{let t=this._latestId++;return this._face_tracker_state_by_instance.set(t,{enabled:!0,model_loaded:-1,max_faces:1,anchor_count:0,anchor_id:[],anchor_pose:[],anchor_identity_coefficients:[],anchor_expression_coefficients:[]}),this.serializer.sendMessage(20,r=>{r.type(t),r.type(e)}),t},face_tracker_destroy:e=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_tracker_state_by_instance.delete(e),this.serializer.sendMessage(21,t=>{t.type(e)})},face_tracker_model_load_from_memory:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(22,r=>{r.type(e),r.dataWithLength(t)})},face_tracker_model_loaded_version:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.model_loaded},face_tracker_enabled_set:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(23,r=>{r.type(e),r.bool(t)})},face_tracker_enabled:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},face_tracker_max_faces_set:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(24,r=>{r.type(e),r.int(t)})},face_tracker_max_faces:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.max_faces},face_tracker_anchor_count:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.anchor_count},face_tracker_anchor_id:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_id[t]},face_tracker_anchor_pose_raw:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_pose[t]},face_tracker_anchor_identity_coefficients:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_identity_coefficients[t]},face_tracker_anchor_expression_coefficients:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_expression_coefficients[t]},face_mesh_create:()=>{let e=this._latestId++;return this._face_mesh_state_by_instance.set(e,{}),this.serializer.sendMessage(25,t=>{t.type(e)}),e},face_mesh_destroy:e=>{if(!this._face_mesh_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_mesh_state_by_instance.delete(e),this.serializer.sendMessage(26,t=>{t.type(e)})},face_landmark_create:e=>{let t=this._latestId++;return this._face_landmark_state_by_instance.set(t,{}),this.serializer.sendMessage(32,r=>{r.type(t),r.faceLandmarkName(e)}),t},face_landmark_destroy:e=>{if(!this._face_landmark_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_landmark_state_by_instance.delete(e),this.serializer.sendMessage(33,t=>{t.type(e)})},barcode_finder_create:e=>{let t=this._latestId++;return this._barcode_finder_state_by_instance.set(t,{enabled:!0,number_found:0,found_text:[],found_format:[],formats:131071}),this.serializer.sendMessage(16,r=>{r.type(t),r.type(e)}),t},barcode_finder_destroy:e=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this._barcode_finder_state_by_instance.delete(e),this.serializer.sendMessage(17,t=>{t.type(e)})},barcode_finder_enabled_set:(e,t)=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(18,r=>{r.type(e),r.bool(t)})},barcode_finder_enabled:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},barcode_finder_found_number:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.number_found},barcode_finder_found_text:(e,t)=>{let r=this._barcode_finder_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.found_text[t]},barcode_finder_found_format:(e,t)=>{let r=this._barcode_finder_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.found_format[t]},barcode_finder_formats:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.formats},barcode_finder_formats_set:(e,t)=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(19,r=>{r.type(e),r.barcodeFormat(t)})},instant_world_tracker_create:e=>{let t=this._latestId++,r={enabled:!0,pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};return this._instant_world_tracker_state_by_instance.set(t,r),this.serializer.sendMessage(5,r=>{r.type(t),r.type(e)}),t},instant_world_tracker_destroy:e=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._instant_world_tracker_state_by_instance.delete(e),this.serializer.sendMessage(15,t=>{t.type(e)})},instant_world_tracker_enabled_set:(e,t)=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(6,r=>{r.type(e),r.bool(t)})},instant_world_tracker_enabled:e=>{let t=this._instant_world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},instant_world_tracker_anchor_pose_raw:e=>{let t=this._instant_world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.pose},instant_world_tracker_anchor_pose_set_from_camera_offset_raw:(e,t,r,n,a)=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(7,i=>{i.type(e),i.float(t),i.float(r),i.float(n),i.instantTrackerTransformOrientation(a)})}}}processMessages(e){this.deserializer.setData(e),this.deserializer.forMessages((e,t)=>{switch(e){case 7:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.frame_number=t.int();break}case 6:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_model=t.cameraModel();break}case 5:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.current_frame_user_data=t.int();break}case 11:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_frame_camera_attitude=t.matrix4x4();break}case 12:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_frame_device_attitude=t.matrix4x4();break}case 19:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;r.target_loaded_version=t.int();break}case 21:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;r.target_count=t.int();break}case 1:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;r.anchor_count=t.int();break}case 2:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_id[n]=t.string();break}case 3:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_pose[n]=t.matrix4x4();break}case 18:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;r.model_loaded=t.int();break}case 13:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;r.anchor_count=t.int();break}case 14:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_id[n]=t.string();break}case 15:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_pose[n]=t.matrix4x4();break}case 16:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_identity_coefficients[n]=t.identityCoefficients();break}case 17:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_expression_coefficients[n]=t.expressionCoefficients();break}case 8:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;r.number_found=t.int();break}case 9:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;let n=t.int();r.found_text[n]=t.string();break}case 10:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;let n=t.int();r.found_format[n]=t.barcodeFormat();break}case 4:{let e=t.type(),r=this._instant_world_tracker_state_by_instance.get(e);if(!r)return;r.pose=t.matrix4x4();break}}})}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageSerializer=void 0;t.MessageSerializer=class{constructor(e){this._messageSender=e,this._freeBufferPool=[],this._buffer=new ArrayBuffer(16),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1,this._timeoutSet=!1,this._appender={int:e=>this.int(e),bool:e=>this.int(e?1:0),float:e=>this.float(e),string:e=>this.string(e),dataWithLength:e=>this.arrayBuffer(e),type:e=>this.int(e),matrix4x4:e=>this.float32ArrayBuffer(e),matrix3x3:e=>this.float32ArrayBuffer(e),identityCoefficients:e=>this.float32ArrayBuffer(e),expressionCoefficients:e=>this.float32ArrayBuffer(e),cameraModel:e=>this.float32ArrayBuffer(e),timestamp:e=>this.double(e),barcodeFormat:e=>this.int(e),faceLandmarkName:e=>this.int(e),instantTrackerTransformOrientation:e=>this.int(e),logLevel:e=>this.int(e)},this._freeBufferPool.push(new ArrayBuffer(16)),this._freeBufferPool.push(new ArrayBuffer(16))}bufferReturn(e){this._freeBufferPool.push(e)}_ensureArrayBuffer(e){let t=4*(this._offset+e+8);if(this._buffer&&this._buffer.byteLength>=t)return;let r=void 0;if(!r){let e=t;e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e++,r=new ArrayBuffer(e)}let n=this._buffer?this._i32View:void 0;this._buffer=r,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),n&&this._i32View.set(n.subarray(0,this._offset))}sendMessage(e,t){this._ensureArrayBuffer(4),this._startOffset=this._offset,this._i32View[this._offset+1]=e,this._offset+=2,t(this._appender),this._i32View[this._startOffset]=this._offset-this._startOffset,this._startOffset=-1,this._sendOneTime()}_sendOneTime(){!1===this._timeoutSet&&(this._timeoutSet=!0,setTimeout(()=>{this._timeoutSet=!1,this._send()},0))}_send(){0!==this._freeBufferPool.length?(this._i32View[0]=this._offset,this._messageSender(this._buffer),this._buffer=void 0,this._buffer=this._freeBufferPool.pop(),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1):this._sendOneTime()}int(e){this._ensureArrayBuffer(1),this._i32View[this._offset]=e,this._offset++}double(e){this._ensureArrayBuffer(2),this._offset%2==1&&this._offset++,this._f64View[this._offset/2]=e,this._offset+=2}float(e){this._ensureArrayBuffer(1),this._f32View[this._offset]=e,this._offset++}int32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t];this._offset+=e.length}float32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._f32View[this._offset+t]=e[t];this._offset+=e.length}booleanArray(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t]?1:0;this._offset+=e.length}uint8ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8View.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}arrayBuffer(e){let t=new Uint8Array(e);this.uint8ArrayBuffer(t)}uint8ClampedArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8cView.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}float32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._f32View.set(e,this._offset),this._offset+=e.length}uint16ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++;let t=2*this._offset;this._u16View.set(e,t),this._offset+=e.length>>1,0!=(1&e.length)&&this._offset++}int32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._i32View.set(e,this._offset),this._offset+=e.length}uint32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._u32View.set(e,this._offset),this._offset+=e.length}string(e){let t=(new TextEncoder).encode(e);this._ensureArrayBuffer(t.byteLength/4),this._i32View[this._offset]=t.byteLength,this._offset++,this._u8View.set(t,4*this._offset),this._offset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._offset++}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageDeserializer=void 0;t.MessageDeserializer=class{constructor(){this._buffer=new ArrayBuffer(0),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,this._startOffset=-1,this._processor={int:()=>this._i32View[this._startOffset++],bool:()=>1===this._i32View[this._startOffset++],type:()=>this._i32View[this._startOffset++],float:()=>this._f32View[this._startOffset++],timestamp:()=>{this._startOffset%2==1&&this._startOffset++;let e=this._f64View[this._startOffset/2];return this._startOffset+=2,e},string:()=>{let e=this._i32View[this._startOffset++],t=(new TextDecoder).decode(new Uint8Array(this._buffer,4*this._startOffset,e));return this._startOffset+=e>>2,0!=(3&e)&&this._startOffset++,t},dataWithLength:()=>{let e=this._i32View[this._startOffset++],t=new Uint8Array(e);return t.set(this._u8View.subarray(4*this._startOffset,4*this._startOffset+e)),this._startOffset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._startOffset++,t.buffer},matrix4x4:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+16)),this._startOffset+=e,t},matrix3x3:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+9)),this._startOffset+=e,t},identityCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+50)),this._startOffset+=e,t},expressionCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+29)),this._startOffset+=e,t},cameraModel:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+6)),this._startOffset+=e,t},barcodeFormat:()=>this._i32View[this._startOffset++],faceLandmarkName:()=>this._i32View[this._startOffset++],instantTrackerTransformOrientation:()=>this._i32View[this._startOffset++],logLevel:()=>this._i32View[this._startOffset++]}}setData(e){this._buffer=e,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,e.byteLength>=4&&(this._offset=1,this._length=this._i32View[0]),this._startOffset=-1}hasMessage(){return this._offset+1<this._length}forMessages(e){for(;this.hasMessage();){let t=this._i32View[this._offset],r=this._i32View[this._offset+1];this._startOffset=this._offset+2,this._offset+=t,e(r,this._processor)}}}},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function o(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.launchWorker=t.messageManager=void 0;const a=r(22),i=r(24);let s;t.messageManager=new i.MsgManager,s=r(25),s.default&&(s=s.default),t.launchWorker=function(){return n(this,void 0,void 0,(function*(){let e=new s;var n;function i(){let r=t.messageManager.getOutgoingMessages();for(let t of r)e.postMessage(t.msg,t.transferables)}e.postMessage({t:"wasm",url:r(26).default}),e.postMessage({t:"port",port:a.bundleWorkerMessageChannel.port1},[a.bundleWorkerMessageChannel.port1]),yield(n=e,new Promise(e=>{let t=r=>{"loaded"===r.data&&(n.removeEventListener("message",t),e())};n.addEventListener("message",t)})),t.messageManager.onOutgoingMessage.bind(i),i(),e.addEventListener("message",e=>{t.messageManager.postIncomingMessage(e.data)})}))}},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function o(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}c((n=n.apply(e,t||[])).next())}))};let a;Object.defineProperty(t,"__esModule",{value:!0}),t.launchBundleWorker=t.bundleWorkerMessageChannel=void 0,t.bundleWorkerMessageChannel=new MessageChannel,a=r(23),a.default&&(a=a.default),t.launchBundleWorker=function(){return n(this,void 0,void 0,(function*(){}))}},function(e,t,r){"use strict";r.r(t);var n=r(5),a=r.n(n);t.default=function(){return a()('!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";let n,o;self.addEventListener("message",e=>{e&&e.data&&"port"===e.data.t&&(console.log("Got zcv worker port in bundle worker",e.data.port),n=e.data.port,n.onmessage=function(e){var t=e.data.buf,r=o._malloc(t.byteLength);o.HEAPU8.set(new Uint8Array(t),r),o._BA_WORKER_CALL(r,e.data.buf.byteLength),o._free(r)}),e&&e.data&&e.data.t})}]);',"Worker",void 0,r.p+"5dd5cacd27e6e7da828f.bundleworker.js")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MsgManager=void 0;const n=r(8);t.MsgManager=class{constructor(){this.onOutgoingMessage=new n.Event,this.onIncomingMessage=new n.Event1,this._outgoingMessages=[]}postIncomingMessage(e){this.onIncomingMessage.emit(e)}postOutgoingMessage(e,t){this._outgoingMessages.push({msg:e,transferables:t}),this.onOutgoingMessage.emit()}getOutgoingMessages(){let e=this._outgoingMessages;return this._outgoingMessages=[],e}}},function(e,t,r){"use strict";r.r(t);var n=r(5),a=r.n(n);t.default=function(){return a()('!function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,a){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(a,n,function(t){return e[t]}.bind(null,n));return a},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(2),n=self;a.messageManager.onOutgoingMessage.bind(()=>{let e=a.messageManager.getOutgoingMessages();for(let t of e)n.postMessage(t.msg,t.transferables)});let i=e=>{if(e&&e.data&&"wasm"===e.data.t){let t=location.href.startsWith("blob")?e.data.url:r(13);t.default&&(t=t.default),a.launchWorkerServer(t),n.removeEventListener("message",i)}};n.addEventListener("message",i),n.addEventListener("message",e=>{a.messageManager.postIncomingMessage(e.data)})},function(e,t,r){"use strict";var a=this&&this.__awaiter||function(e,t,r,a){return new(r||(r=Promise))((function(n,i){function s(e){try{o(a.next(e))}catch(e){i(e)}}function _(e){try{o(a.throw(e))}catch(e){i(e)}}function o(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,_)}o((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.launchWorkerServer=t.messageManager=void 0;const n=r(3),i=r(7),s=r(8),_=r(11);t.messageManager=new _.MsgManager,self.addEventListener("message",e=>{e&&e.data&&e.data.t}),self.send_ba_request=function(e){var t=new ArrayBuffer(e.byteLength);new Uint8Array(t).set(new Uint8Array(e))},t.launchWorkerServer=function(e){return a(this,void 0,void 0,(function*(){let r=n.default({locateFile:(t,r)=>t.endsWith("zcv.wasm")?e:r+t,onRuntimeInitialized:()=>{let e=i.getRuntimeObject(r),a=new s.zappar_server(e,(e,r)=>{t.messageManager.postOutgoingMessage({p:e,t:"zappar",d:r},[r])});t.messageManager.postOutgoingMessage("loaded",[]),t.messageManager.onIncomingMessage.bind(r=>{var n;switch(r.t){case"zappar":a.processBuffer(r.d),t.messageManager.postOutgoingMessage({t:"buf",d:r.d},[r.d]);break;case"buf":null===(n=a.serializersByPipelineId.get(r.p))||void 0===n||n.bufferReturn(r.d);break;case"cameraFrameC2S":let i,s=r,_=a._pipeline_by_instance.get(s.p);_&&(e.pipeline_camera_frame_submit(_,s.d,s.width,s.height,s.token,s.c2d,s.cm,s.userFacing),e.pipeline_frame_update(_),i=e.pipeline_camera_frame_device_attitude(_),a.exploreState());let o={token:s.token,d:s.d,p:s.p,t:"cameraFrameRecycleS2C",att:i};t.messageManager.postOutgoingMessage(o,[s.d])}})}})}))}},function(e,t,r){"use strict";r.r(t),function(e){var r,a=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(t){var a,n,i;t=t||{},a||(a=void 0!==t?t:{}),a.ready=new Promise((function(e,t){n=e,i=t}));var s,_={};for(s in a)a.hasOwnProperty(s)&&(_[s]=a[s]);var o="./this.program";function c(e,t){throw t}var u,f="";f=self.location.href,r&&(f=r),f=0!==f.indexOf("blob:")?f.substr(0,f.lastIndexOf("/")+1):"",u=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)};var p,l,d,m=a.print||console.log.bind(console),h=a.printErr||console.warn.bind(console);for(s in _)_.hasOwnProperty(s)&&(a[s]=_[s]);_=null,a.thisProgram&&(o=a.thisProgram),a.quit&&(c=a.quit),a.wasmBinary&&(l=a.wasmBinary),a.noExitRuntime&&(d=a.noExitRuntime),"object"!=typeof WebAssembly&&J("no native wasm support detected");var b,g=!1;function y(e,t){e||J("Assertion failed: "+t)}function w(e){var t=a["_"+e];return y(t,"Cannot call unknown function "+e+", make sure it is exported"),t}function v(e,t,r,a){var n,i={string:function(e){var t=0;if(null!=e&&0!==e){var r=1+(e.length<<2);t=wr(r),D(e,M,t,r)}return t},array:function(e){var t=wr(e.length);return k.set(e,t),t}},s=w(e),_=[];if(e=0,a)for(var o=0;o<a.length;o++){var c=i[r[o]];c?(0===e&&(e=gr()),_[o]=c(a[o])):_[o]=a[o]}return r=s.apply(null,_),n=r,r="string"===t?T(n):"boolean"===t?!!n:n,0!==e&&yr(e),r}var z,k,M,A,x,O,E,P,L,F="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function S(e,t,r){var a=t+r;for(r=t;e[r]&&!(r>=a);)++r;if(16<r-t&&e.subarray&&F)return F.decode(e.subarray(t,r));for(a="";t<r;){var n=e[t++];if(128&n){var i=63&e[t++];if(192==(224&n))a+=String.fromCharCode((31&n)<<6|i);else{var s=63&e[t++];65536>(n=224==(240&n)?(15&n)<<12|i<<6|s:(7&n)<<18|i<<12|s<<6|63&e[t++])?a+=String.fromCharCode(n):(n-=65536,a+=String.fromCharCode(55296|n>>10,56320|1023&n))}}else a+=String.fromCharCode(n)}return a}function T(e,t){return e?S(M,e,t):""}function D(e,t,r,a){if(!(0<a))return 0;var n=r;a=r+a-1;for(var i=0;i<e.length;++i){var s=e.charCodeAt(i);if(55296<=s&&57343>=s&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),127>=s){if(r>=a)break;t[r++]=s}else{if(2047>=s){if(r+1>=a)break;t[r++]=192|s>>6}else{if(65535>=s){if(r+2>=a)break;t[r++]=224|s>>12}else{if(r+3>=a)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63}t[r++]=128|s>>6&63}t[r++]=128|63&s}}return t[r]=0,r-n}function I(e){for(var t=0,r=0;r<e.length;++r){var a=e.charCodeAt(r);55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++r)),127>=a?++t:t=2047>=a?t+2:65535>=a?t+3:t+4}return t}function V(e){var t=I(e)+1,r=pr(t);return r&&D(e,k,r,t),r}function j(e,t){for(var r=0;r<e.length;++r)k[t++>>0]=e.charCodeAt(r);k[t>>0]=0}function B(){var e=b.buffer;z=e,a.HEAP8=k=new Int8Array(e),a.HEAP16=A=new Int16Array(e),a.HEAP32=O=new Int32Array(e),a.HEAPU8=M=new Uint8Array(e),a.HEAPU16=x=new Uint16Array(e),a.HEAPU32=E=new Uint32Array(e),a.HEAPF32=P=new Float32Array(e),a.HEAPF64=L=new Float64Array(e)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var R,C=[],U=[],q=[],Z=[];function H(){var e=a.preRun.shift();C.unshift(e)}var W=0,N=null,Y=null;function K(){W++,a.monitorRunDependencies&&a.monitorRunDependencies(W)}function G(){if(W--,a.monitorRunDependencies&&a.monitorRunDependencies(W),0==W&&(null!==N&&(clearInterval(N),N=null),Y)){var e=Y;Y=null,e()}}function J(e){throw a.onAbort&&a.onAbort(e),h(e),g=!0,e=new WebAssembly.RuntimeError("abort("+e+"). Build with -s ASSERTIONS=1 for more info."),i(e),e}a.preloadedImages={},a.preloadedAudios={};var X="zcv.wasm";if(String.prototype.startsWith?!X.startsWith("data:application/octet-stream;base64,"):0!==X.indexOf("data:application/octet-stream;base64,")){var $=X;X=a.locateFile?a.locateFile($,f):f+$}var Q,ee,te,re={26527:function(){if(self.crypto&&self.crypto.getRandomValues){var e=new Uint32Array(1);return self.crypto.getRandomValues(e),e[0]}return 9007199254740991*Math.random()}};function ae(e){for(;0<e.length;){var t=e.shift();if("function"==typeof t)t(a);else{var r=t.da;"number"==typeof r?void 0===t.L?R.get(r)():R.get(r)(t.L):r(void 0===t.L?null:t.L)}}}function ne(e,t){if(0===e)e=Date.now();else{if(1!==e&&4!==e)return O[lr()>>2]=28,-1;e=te()}return O[t>>2]=e/1e3|0,O[t+4>>2]=e%1e3*1e6|0,0}function ie(e){this.D=e-16,this.Ia=function(e){O[this.D+8>>2]=e},this.Fa=function(e){O[this.D+0>>2]=e},this.Ga=function(){O[this.D+4>>2]=0},this.Ea=function(){k[this.D+12>>0]=0},this.Ha=function(){k[this.D+13>>0]=0},this.ua=function(e,t){this.Ia(e),this.Fa(t),this.Ga(),this.Ea(),this.Ha()}}function se(e,t){for(var r=0,a=e.length-1;0<=a;a--){var n=e[a];"."===n?e.splice(a,1):".."===n?(e.splice(a,1),r++):r&&(e.splice(a,1),r--)}if(t)for(;r;r--)e.unshift("..");return e}function _e(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=se(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function oe(e){var t=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&(t=t.substr(0,t.length-1)),e+t):"."}function ce(e){if("/"===e)return"/";var t=(e=(e=_e(e)).replace(/\\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)}function ue(){for(var e="",t=!1,r=arguments.length-1;-1<=r&&!t;r--){if("string"!=typeof(t=0<=r?arguments[r]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!t)return"";e=t+"/"+e,t="/"===t.charAt(0)}return(t?"/":"")+(e=se(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."}te=function(){return performance.now()};var fe=[];function pe(e,t){fe[e]={input:[],j:[],C:t},Be(e,le)}var le={open:function(e){var t=fe[e.node.I];if(!t)throw new Me(43);e.h=t,e.seekable=!1},close:function(e){e.h.C.flush(e.h)},flush:function(e){e.h.C.flush(e.h)},read:function(e,t,r,a){if(!e.h||!e.h.C.ea)throw new Me(60);for(var n=0,i=0;i<a;i++){try{var s=e.h.C.ea(e.h)}catch(e){throw new Me(29)}if(void 0===s&&0===n)throw new Me(6);if(null==s)break;n++,t[r+i]=s}return n&&(e.node.timestamp=Date.now()),n},write:function(e,t,r,a){if(!e.h||!e.h.C.Y)throw new Me(60);try{for(var n=0;n<a;n++)e.h.C.Y(e.h,t[r+n])}catch(e){throw new Me(29)}return a&&(e.node.timestamp=Date.now()),n}},de={ea:function(e){if(!e.input.length){var t=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\\n"),!t)return null;e.input=_r(t,!0)}return e.input.shift()},Y:function(e,t){null===t||10===t?(m(S(e.j,0)),e.j=[]):0!=t&&e.j.push(t)},flush:function(e){e.j&&0<e.j.length&&(m(S(e.j,0)),e.j=[])}},me={Y:function(e,t){null===t||10===t?(h(S(e.j,0)),e.j=[]):0!=t&&e.j.push(t)},flush:function(e){e.j&&0<e.j.length&&(h(S(e.j,0)),e.j=[])}},he={o:null,u:function(){return he.createNode(null,"/",16895,0)},createNode:function(e,t,r,a){if(24576==(61440&r)||4096==(61440&r))throw new Me(63);return he.o||(he.o={dir:{node:{m:he.c.m,s:he.c.s,G:he.c.G,M:he.c.M,ka:he.c.ka,S:he.c.S,la:he.c.la,ja:he.c.ja,N:he.c.N},stream:{A:he.f.A}},file:{node:{m:he.c.m,s:he.c.s},stream:{A:he.f.A,read:he.f.read,write:he.f.write,$:he.f.$,fa:he.f.fa,ha:he.f.ha}},link:{node:{m:he.c.m,s:he.c.s,J:he.c.J},stream:{}},aa:{node:{m:he.c.m,s:he.c.s},stream:je}}),16384==(61440&(r=Le(e,t,r,a)).mode)?(r.c=he.o.dir.node,r.f=he.o.dir.stream,r.b={}):32768==(61440&r.mode)?(r.c=he.o.file.node,r.f=he.o.file.stream,r.g=0,r.b=null):40960==(61440&r.mode)?(r.c=he.o.link.node,r.f=he.o.link.stream):8192==(61440&r.mode)&&(r.c=he.o.aa.node,r.f=he.o.aa.stream),r.timestamp=Date.now(),e&&(e.b[t]=r),r},Va:function(e){if(e.b&&e.b.subarray){for(var t=[],r=0;r<e.g;++r)t.push(e.b[r]);return t}return e.b},Wa:function(e){return e.b?e.b.subarray?e.b.subarray(0,e.g):new Uint8Array(e.b):new Uint8Array(0)},ba:function(e,t){var r=e.b?e.b.length:0;r>=t||(t=Math.max(t,r*(1048576>r?2:1.125)>>>0),0!=r&&(t=Math.max(t,256)),r=e.b,e.b=new Uint8Array(t),0<e.g&&e.b.set(r.subarray(0,e.g),0))},Ca:function(e,t){if(e.g!=t)if(0==t)e.b=null,e.g=0;else{if(!e.b||e.b.subarray){var r=e.b;e.b=new Uint8Array(t),r&&e.b.set(r.subarray(0,Math.min(t,e.g)))}else if(e.b||(e.b=[]),e.b.length>t)e.b.length=t;else for(;e.b.length<t;)e.b.push(0);e.g=t}},c:{m:function(e){var t={};return t.qa=8192==(61440&e.mode)?e.id:1,t.X=e.id,t.mode=e.mode,t.Aa=1,t.uid=0,t.sa=0,t.I=e.I,16384==(61440&e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.g:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.ma=new Date(e.timestamp),t.za=new Date(e.timestamp),t.pa=new Date(e.timestamp),t.na=4096,t.oa=Math.ceil(t.size/t.na),t},s:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&he.Ca(e,t.size)},G:function(){throw Ae[44]},M:function(e,t,r,a){return he.createNode(e,t,r,a)},ka:function(e,t,r){if(16384==(61440&e.mode)){try{var a=Pe(t,r)}catch(e){}if(a)for(var n in a.b)throw new Me(55)}delete e.parent.b[e.name],e.name=r,t.b[r]=e,e.parent=t},S:function(e,t){delete e.b[t]},la:function(e,t){var r,a=Pe(e,t);for(r in a.b)throw new Me(55);delete e.b[t]},ja:function(e){var t,r=[".",".."];for(t in e.b)e.b.hasOwnProperty(t)&&r.push(t);return r},N:function(e,t,r){return(e=he.createNode(e,t,41471,0)).link=r,e},J:function(e){if(40960!=(61440&e.mode))throw new Me(28);return e.link}},f:{read:function(e,t,r,a,n){var i=e.node.b;if(n>=e.node.g)return 0;if(8<(e=Math.min(e.node.g-n,a))&&i.subarray)t.set(i.subarray(n,n+e),r);else for(a=0;a<e;a++)t[r+a]=i[n+a];return e},write:function(e,t,r,a,n,i){if(t.buffer===k.buffer&&(i=!1),!a)return 0;if((e=e.node).timestamp=Date.now(),t.subarray&&(!e.b||e.b.subarray)){if(i)return e.b=t.subarray(r,r+a),e.g=a;if(0===e.g&&0===n)return e.b=t.slice(r,r+a),e.g=a;if(n+a<=e.g)return e.b.set(t.subarray(r,r+a),n),a}if(he.ba(e,n+a),e.b.subarray&&t.subarray)e.b.set(t.subarray(r,r+a),n);else for(i=0;i<a;i++)e.b[n+i]=t[r+i];return e.g=Math.max(e.g,n+a),a},A:function(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.g),0>t)throw new Me(28);return t},$:function(e,t,r){he.ba(e.node,t+r),e.node.g=Math.max(e.node.g,t+r)},fa:function(e,t,r,a,n,i){if(y(0===t),32768!=(61440&e.node.mode))throw new Me(43);if(e=e.node.b,2&i||e.buffer!==z){for((0<a||a+r<e.length)&&(e=e.subarray?e.subarray(a,a+r):Array.prototype.slice.call(e,a,a+r)),a=!0,i=16384*Math.ceil(r/16384),t=pr(i);r<i;)k[t+r++]=0;if(!(r=t))throw new Me(48);k.set(e,r)}else a=!1,r=e.byteOffset;return{D:r,Qa:a}},ha:function(e,t,r,a,n){if(32768!=(61440&e.node.mode))throw new Me(43);return 2&n||he.f.write(e,t,0,a,r,!1),0}}},be=null,ge={},ye=[],we=1,ve=null,ze=!0,ke={},Me=null,Ae={};function xe(e,t){if(t=t||{},!(e=ue("/",e)))return{path:"",node:null};var r,a={ca:!0,Z:0};for(r in a)void 0===t[r]&&(t[r]=a[r]);if(8<t.Z)throw new Me(32);e=se(e.split("/").filter((function(e){return!!e})),!1);var n=be;for(a="/",r=0;r<e.length;r++){var i=r===e.length-1;if(i&&t.parent)break;if(n=Pe(n,e[r]),a=_e(a+"/"+e[r]),n.H&&(!i||i&&t.ca)&&(n=n.H.root),!i||t.V)for(i=0;40960==(61440&n.mode);)if(n=He(a),n=xe(a=ue(oe(a),n),{Z:t.Z}).node,40<i++)throw new Me(32)}return{path:a,node:n}}function Oe(e){for(var t;;){if(e===e.parent)return e=e.u.ga,t?"/"!==e[e.length-1]?e+"/"+t:e+t:e;t=t?e.name+"/"+t:e.name,e=e.parent}}function Ee(e,t){for(var r=0,a=0;a<t.length;a++)r=(r<<5)-r+t.charCodeAt(a)|0;return(e+r>>>0)%ve.length}function Pe(e,t){var r;if(r=(r=Te(e,"x"))?r:e.c.G?0:2)throw new Me(r,e);for(r=ve[Ee(e.id,t)];r;r=r.B){var a=r.name;if(r.parent.id===e.id&&a===t)return r}return e.c.G(e,t)}function Le(e,t,r,a){return t=Ee((e=new sr(e,t,r,a)).parent.id,e.name),e.B=ve[t],ve[t]=e}var Fe={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090};function Se(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function Te(e,t){return ze||(-1===t.indexOf("r")||292&e.mode)&&(-1===t.indexOf("w")||146&e.mode)&&(-1===t.indexOf("x")||73&e.mode)?0:2}function De(e,t){try{return Pe(e,t),20}catch(e){}return Te(e,"wx")}function Ie(e,t){$e||(($e=function(){}).prototype={});var r,a=new $e;for(r in e)a[r]=e[r];return e=a,t=function(e){for(e=e||0;e<=4096;e++)if(!ye[e])return e;throw new Me(33)}(t),e.v=t,ye[t]=e}var Ve,je={open:function(e){e.f=ge[e.node.I].f,e.f.open&&e.f.open(e)},A:function(){throw new Me(70)}};function Be(e,t){ge[e]={f:t}}function Re(e,t){var r="/"===t,a=!t;if(r&&be)throw new Me(10);if(!r&&!a){var n=xe(t,{ca:!1});if(t=n.path,(n=n.node).H)throw new Me(10);if(16384!=(61440&n.mode))throw new Me(54)}t={type:e,$a:{},ga:t,ya:[]},(e=e.u(t)).u=t,t.root=e,r?be=e:n&&(n.H=t,n.u&&n.u.ya.push(t))}function Ce(e,t,r){var a=xe(e,{parent:!0}).node;if(!(e=ce(e))||"."===e||".."===e)throw new Me(28);var n=De(a,e);if(n)throw new Me(n);if(!a.c.M)throw new Me(63);return a.c.M(a,e,t,r)}function Ue(e){Ce(e,16895,0)}function qe(e,t,r){void 0===r&&(r=t,t=438),Ce(e,8192|t,r)}function Ze(e,t){if(!ue(e))throw new Me(44);var r=xe(t,{parent:!0}).node;if(!r)throw new Me(44);var a=De(r,t=ce(t));if(a)throw new Me(a);if(!r.c.N)throw new Me(63);r.c.N(r,t,e)}function He(e){if(!(e=xe(e).node))throw new Me(44);if(!e.c.J)throw new Me(28);return ue(Oe(e.parent),e.c.J(e))}function We(e,t){if(!(e=xe(e,{V:!t}).node))throw new Me(44);if(!e.c.m)throw new Me(63);return e.c.m(e)}function Ne(e){return We(e,!0)}function Ye(e,t,r,n){if(""===e)throw new Me(44);if("string"==typeof t){var i=Fe[t];if(void 0===i)throw Error("Unknown file open mode: "+t);t=i}if(r=64&t?4095&(void 0===r?438:r)|32768:0,"object"==typeof e)var s=e;else{e=_e(e);try{s=xe(e,{V:!(131072&t)}).node}catch(e){}}if(i=!1,64&t)if(s){if(128&t)throw new Me(20)}else s=Ce(e,r,0),i=!0;if(!s)throw new Me(44);if(8192==(61440&s.mode)&&(t&=-513),65536&t&&16384!=(61440&s.mode))throw new Me(54);if(!i&&(r=s?40960==(61440&s.mode)?32:16384==(61440&s.mode)&&("r"!==Se(t)||512&t)?31:Te(s,Se(t)):44))throw new Me(r);if(512&t){var _;if(!(_="string"==typeof(r=s)?xe(r,{V:!0}).node:r).c.s)throw new Me(63);if(16384==(61440&_.mode))throw new Me(31);if(32768!=(61440&_.mode))throw new Me(28);if(r=Te(_,"w"))throw new Me(r);_.c.s(_,{size:0,timestamp:Date.now()})}t&=-131713,(n=Ie({node:s,path:Oe(s),flags:t,seekable:!0,position:0,f:s.f,Na:[],error:!1},n)).f.open&&n.f.open(n),!a.logReadFiles||1&t||(Qe||(Qe={}),e in Qe||(Qe[e]=1,h("FS.trackingDelegate error on read file: "+e)));try{ke.onOpenFile&&(s=0,1!=(2097155&t)&&(s|=1),0!=(2097155&t)&&(s|=2),ke.onOpenFile(e,s))}catch(t){h("FS.trackingDelegate[\'onOpenFile\'](\'"+e+"\', flags) threw an exception: "+t.message)}return n}function Ke(e,t,r){if(null===e.v)throw new Me(8);if(!e.seekable||!e.f.A)throw new Me(70);if(0!=r&&1!=r&&2!=r)throw new Me(28);e.position=e.f.A(e,t,r),e.Na=[]}function Ge(){Me||((Me=function(e,t){this.node=t,this.Da=function(e){this.i=e},this.Da(e),this.message="FS error"}).prototype=Error(),Me.prototype.constructor=Me,[44].forEach((function(e){Ae[e]=new Me(e),Ae[e].stack="<generic error, no stack>"})))}function Je(e,t,r){e=_e("/dev/"+e);var a=function(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}(!!t,!!r);Xe||(Xe=64);var n=Xe++<<8|0;Be(n,{open:function(e){e.seekable=!1},close:function(){r&&r.buffer&&r.buffer.length&&r(10)},read:function(e,r,a,n){for(var i=0,s=0;s<n;s++){try{var _=t()}catch(e){throw new Me(29)}if(void 0===_&&0===i)throw new Me(6);if(null==_)break;i++,r[a+s]=_}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,a,n){for(var i=0;i<n;i++)try{r(t[a+i])}catch(e){throw new Me(29)}return n&&(e.node.timestamp=Date.now()),i}}),qe(e,a,n)}var Xe,$e,Qe,et={};function tt(e,t,r){try{var a=e(t)}catch(e){if(e&&e.node&&_e(t)!==_e(Oe(e.node)))return-54;throw e}return O[r>>2]=a.qa,O[r+4>>2]=0,O[r+8>>2]=a.X,O[r+12>>2]=a.mode,O[r+16>>2]=a.Aa,O[r+20>>2]=a.uid,O[r+24>>2]=a.sa,O[r+28>>2]=a.I,O[r+32>>2]=0,ee=[a.size>>>0,(Q=a.size,1<=+Math.abs(Q)?0<Q?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],O[r+40>>2]=ee[0],O[r+44>>2]=ee[1],O[r+48>>2]=4096,O[r+52>>2]=a.oa,O[r+56>>2]=a.ma.getTime()/1e3|0,O[r+60>>2]=0,O[r+64>>2]=a.za.getTime()/1e3|0,O[r+68>>2]=0,O[r+72>>2]=a.pa.getTime()/1e3|0,O[r+76>>2]=0,ee=[a.X>>>0,(Q=a.X,1<=+Math.abs(Q)?0<Q?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],O[r+80>>2]=ee[0],O[r+84>>2]=ee[1],0}var rt=void 0;function at(){return O[(rt+=4)-4>>2]}function nt(e){if(!(e=ye[e]))throw new Me(8);return e}var it,st,_t,ot=null,ct=0,ut=null,ft=0,pt=0,lt=0,dt=[],mt={},ht=!1,bt=!1,gt=[];function yt(){function e(){bt=document.pointerLockElement===a.canvas||document.mozPointerLockElement===a.canvas||document.webkitPointerLockElement===a.canvas||document.msPointerLockElement===a.canvas}if(a.preloadPlugins||(a.preloadPlugins=[]),!Pt){Pt=!0;try{Lt=!0}catch(e){Lt=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Ft="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Lt?null:console.log("warning: no BlobBuilder"),St="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,a.ia||void 0!==St||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),a.ia=!0),a.preloadPlugins.push({canHandle:function(e){return!a.ia&&/\\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,r,n){var i=null;if(Lt)try{(i=new Blob([e],{type:Et(t)})).size!==e.length&&(i=new Blob([new Uint8Array(e).buffer],{type:Et(t)}))}catch(e){!function(e){p||(p={}),p[e]||(p[e]=1,h(e))}("Blob constructor present but fails: "+e+"; falling back to blob builder")}i||((i=new Ft).append(new Uint8Array(e).buffer),i=i.getBlob());var s=St.createObjectURL(i),_=new Image;_.onload=function(){y(_.complete,"Image "+t+" could not be decoded");var n=document.createElement("canvas");n.width=_.width,n.height=_.height,n.getContext("2d").drawImage(_,0,0),a.preloadedImages[t]=n,St.revokeObjectURL(s),r&&r(e)},_.onerror=function(){console.log("Image "+s+" could not be decoded"),n&&n()},_.src=s}}),a.preloadPlugins.push({canHandle:function(e){return!a.Za&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,r,n){function i(n){_||(_=!0,a.preloadedAudios[t]=n,r&&r(e))}function s(){_||(_=!0,a.preloadedAudios[t]=new Audio,n&&n())}var _=!1;if(!Lt)return s();try{var o=new Blob([e],{type:Et(t)})}catch(e){return s()}o=St.createObjectURL(o);var c=new Audio;c.addEventListener("canplaythrough",(function(){i(c)}),!1),c.onerror=function(){if(!_){console.log("warning: browser could not fully decode audio "+t+", trying slower base64 approach");for(var r="",a=0,n=0,s=0;s<e.length;s++)for(a=a<<8|e[s],n+=8;6<=n;){var o=a>>n-6&63;n-=6,r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[o]}2==n?(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(3&a)<<4],r+="=="):4==n&&(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(15&a)<<2],r+="="),c.src="data:audio/x-"+t.substr(-3)+";base64,"+r,i(c)}},c.src=o,Ot((function(){i(c)}),1e4)}});var t=a.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||function(){},t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},t.exitPointerLock=t.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",e,!1),document.addEventListener("mozpointerlockchange",e,!1),document.addEventListener("webkitpointerlockchange",e,!1),document.addEventListener("mspointerlockchange",e,!1),a.elementPointerLock&&t.addEventListener("click",(function(e){!bt&&a.canvas.requestPointerLock&&(a.canvas.requestPointerLock(),e.preventDefault())}),!1))}}function wt(e,t,r,n){if(t&&a.U&&e==a.canvas)return a.U;var i;if(t){var s={antialias:!1,alpha:!1,xa:1};if(n)for(var _ in n)s[_]=n[_];if(void 0!==$t&&(i=function(e,t){if(e=e.getContext("webgl",t)){var r=Kt(Yt),a={Xa:r,attributes:t,version:t.xa,T:e};e.canvas&&(e.canvas.Pa=a),Yt[r]=a,(void 0===t.ra||t.ra)&&function(e){if(e||(e=Jt),!e.va){e.va=!0;var t=e.T;!function(e){var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,a,n){t.drawArraysInstancedANGLE(e,r,a,n)},e.drawElementsInstanced=function(e,r,a,n,i){t.drawElementsInstancedANGLE(e,r,a,n,i)})}(t),function(e){var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)})}(t),function(e){var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)})}(t),t.Ta=t.getExtension("EXT_disjoint_timer_query"),t.Ya=t.getExtension("WEBGL_multi_draw"),(t.getSupportedExtensions()||[]).forEach((function(e){0>e.indexOf("lose_context")&&0>e.indexOf("debug")&&t.getExtension(e)}))}}(a),t=r}else t=0;return t}(e,s)))var o=Yt[i].T}else o=e.getContext("2d");return o?(r&&(t||y(void 0===nr,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),a.U=o,t&&(Jt=Yt[i],a.U=nr=Jt&&Jt.T),a.bb=t,gt.forEach((function(e){e()})),yt()),o):null}var vt=!1,zt=void 0,kt=void 0;function Mt(){return!!ht&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)}var At=0;function xt(e){if("function"==typeof requestAnimationFrame)requestAnimationFrame(e);else{var t=Date.now();if(0===At)At=t+1e3/60;else for(;t+2>=At;)At+=1e3/60;setTimeout(e,Math.max(At-t,0))}}function Ot(e,t){d=!0,setTimeout((function(){g||e()}),t)}function Et(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]}var Pt,Lt,Ft,St,Tt=[];function Dt(){var e=a.canvas;Tt.forEach((function(t){t(e.width,e.height)}))}function It(e,t,r){t&&r?(e.Oa=t,e.ta=r):(t=e.Oa,r=e.ta);var n=t,i=r;if(a.forcedAspectRatio&&0<a.forcedAspectRatio&&(n/i<a.forcedAspectRatio?n=Math.round(i*a.forcedAspectRatio):i=Math.round(n/a.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var s=Math.min(screen.width/n,screen.height/i);n=Math.round(n*s),i=Math.round(i*s)}kt?(e.width!=n&&(e.width=n),e.height!=i&&(e.height=i),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(n!=t||i!=r?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",i+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}function Vt(){return!1}a._emscripten_is_main_browser_thread=Vt;var jt,Bt=[];function Rt(e,t){E[e>>2]=t,E[e+4>>2]=t/4294967296|0}function Ct(e,t,r,a,n){function i(t){var r=0,a=0;t&&(a=w.response?w.response.byteLength:0,r=pr(a),M.set(new Uint8Array(w.response),r)),E[e+12>>2]=r,Rt(e+16,a)}var s=E[e+8>>2];if(s){var _=T(s),o=e+112,c=T(o);c||(c="GET");var u=E[o+52>>2],f=E[o+56>>2],p=!!E[o+60>>2],l=E[o+68>>2],d=E[o+72>>2];s=E[o+76>>2];var m=E[o+80>>2],h=E[o+84>>2];o=E[o+88>>2];var b=!!(1&u),g=!!(2&u);u=!!(64&u),l=l?T(l):void 0,d=d?T(d):void 0;var y=m?T(m):void 0,w=new XMLHttpRequest;if(w.withCredentials=p,w.open(c,_,!u,l,d),u||(w.timeout=f),w.Ra=_,w.responseType="arraybuffer",m&&w.overrideMimeType(y),s)for(;(c=E[s>>2])&&(_=E[s+4>>2]);)s+=8,c=T(c),_=T(_),w.setRequestHeader(c,_);Bt.push(w),E[e+0>>2]=Bt.length,s=h&&o?M.slice(h,h+o):null,w.onload=function(a){i(b&&!g);var n=w.response?w.response.byteLength:0;Rt(e+24,0),n&&Rt(e+32,n),x[e+40>>1]=w.readyState,x[e+42>>1]=w.status,w.statusText&&D(w.statusText,M,e+44,64),200<=w.status&&300>w.status?t&&t(e,w,a):r&&r(e,w,a)},w.onerror=function(t){i(b);var a=w.status;Rt(e+24,0),Rt(e+32,w.response?w.response.byteLength:0),x[e+40>>1]=w.readyState,x[e+42>>1]=a,r&&r(e,w,t)},w.ontimeout=function(t){r&&r(e,w,t)},w.onprogress=function(t){var r=b&&g&&w.response?w.response.byteLength:0,n=0;b&&g&&(n=pr(r),M.set(new Uint8Array(w.response),n)),E[e+12>>2]=n,Rt(e+16,r),Rt(e+24,t.loaded-r),Rt(e+32,t.total),x[e+40>>1]=w.readyState,3<=w.readyState&&0===w.status&&0<t.loaded&&(w.status=200),x[e+42>>1]=w.status,w.statusText&&D(w.statusText,M,e+44,64),a&&a(e,w,t),n&&fr(n)},w.onreadystatechange=function(t){x[e+40>>1]=w.readyState,2<=w.readyState&&(x[e+42>>1]=w.status),n&&n(e,w,t)};try{w.send(s)}catch(t){r&&r(e,w,t)}}else r(e,0,"no url specified!")}function Ut(e,t,r,a){var n=jt;if(n){var i=E[e+112+64>>2];i||(i=E[e+8>>2]);var s=T(i);try{var _=n.transaction(["FILES"],"readwrite").objectStore("FILES").put(t,s);_.onsuccess=function(){x[e+40>>1]=4,x[e+42>>1]=200,D("OK",M,e+44,64),r(e,0,s)},_.onerror=function(t){x[e+40>>1]=4,x[e+42>>1]=413,D("Payload Too Large",M,e+44,64),a(e,0,t)}}catch(t){a(e,0,t)}}else a(e,0,"IndexedDB not available!")}var qt,Zt={};function Ht(){if(!qt){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:o||"./this.program"};for(e in Zt)t[e]=Zt[e];var r=[];for(e in t)r.push(e+"="+t[e]);qt=r}return qt}var Wt=1,Nt=[],Yt=[];function Kt(e){for(var t=Wt++,r=e.length;r<t;r++)e[r]=null;return t}var Gt,Jt,Xt,$t={};function Qt(e){return 0==e%4&&(0!=e%100||0==e%400)}function er(e,t){for(var r=0,a=0;a<=t;r+=e[a++]);return r}var tr=[31,29,31,30,31,30,31,31,30,31,30,31],rr=[31,28,31,30,31,30,31,31,30,31,30,31];function ar(e,t){for(e=new Date(e.getTime());0<t;){var r=e.getMonth(),a=(Qt(e.getFullYear())?tr:rr)[r];if(!(t>a-e.getDate())){e.setDate(e.getDate()+t);break}t-=a-e.getDate()+1,e.setDate(1),11>r?e.setMonth(r+1):(e.setMonth(0),e.setFullYear(e.getFullYear()+1))}return e}var nr,ir=[];function sr(e,t,r,a){e||(e=this),this.parent=e,this.u=e.u,this.H=null,this.id=we++,this.name=t,this.mode=r,this.c={},this.f={},this.I=a}function _r(e,t){var r=Array(I(e)+1);return e=D(e,r,0,r.length),t&&(r.length=e),r}Object.defineProperties(sr.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}}}),Ge(),ve=Array(4096),Re(he,"/"),Ue("/tmp"),Ue("/home"),Ue("/home/web_user"),function(){Ue("/dev"),Be(259,{read:function(){return 0},write:function(e,t,r,a){return a}}),qe("/dev/null",259),pe(1280,de),pe(1536,me),qe("/dev/tty",1280),qe("/dev/tty1",1536);var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){J("randomDevice")}}();Je("random",e),Je("urandom",e),Ue("/dev/shm"),Ue("/dev/shm/tmp")}(),Ue("/proc"),Ue("/proc/self"),Ue("/proc/self/fd"),Re({u:function(){var e=Le("/proc/self","fd",16895,73);return e.c={G:function(e,t){var r=ye[+t];if(!r)throw new Me(8);return(e={parent:null,u:{ga:"fake"},c:{J:function(){return r.path}}}).parent=e}},e}},"/proc/self/fd"),a.requestFullscreen=function(e,t){!function(e,t){function r(){ht=!1;var e=n.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(n.exitFullscreen=Mt,zt&&n.requestPointerLock(),ht=!0,kt?("undefined"!=typeof SDL&&(O[SDL.screen>>2]=8388608|E[SDL.screen>>2]),It(a.canvas),Dt()):It(n)):(e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e),kt?("undefined"!=typeof SDL&&(O[SDL.screen>>2]=-8388609&E[SDL.screen>>2]),It(a.canvas),Dt()):It(n)),a.onFullScreen&&a.onFullScreen(ht),a.onFullscreen&&a.onFullscreen(ht)}void 0===(zt=e)&&(zt=!0),void 0===(kt=t)&&(kt=!1);var n=a.canvas;vt||(vt=!0,document.addEventListener("fullscreenchange",r,!1),document.addEventListener("mozfullscreenchange",r,!1),document.addEventListener("webkitfullscreenchange",r,!1),document.addEventListener("MSFullscreenChange",r,!1));var i=document.createElement("div");n.parentNode.insertBefore(i,n),i.appendChild(n),i.requestFullscreen=i.requestFullscreen||i.mozRequestFullScreen||i.msRequestFullscreen||(i.webkitRequestFullscreen?function(){i.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(i.webkitRequestFullScreen?function(){i.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),i.requestFullscreen()}(e,t)},a.requestAnimationFrame=function(e){xt(e)},a.setCanvasSize=function(e,t,r){It(a.canvas,e,t),r||Dt()},a.pauseMainLoop=function(){ot=null,ct++},a.resumeMainLoop=function(){ct++;var t=ft,r=pt,n=ut;ut=null,function(e){d=!0,y(!ut,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),ut=e;var t=ct;st=function(){if(!g)if(0<dt.length){var r=Date.now(),n=dt.shift();if(n.da(n.L),_t){var i=_t,s=0==i%1?i-1:Math.floor(i);_t=n.Sa?s:(8*i+(s+.5))/9}console.log(\'main loop blocker "\'+n.name+\'" took \'+(Date.now()-r)+" ms"),a.setStatus&&(r=a.statusMessage||"Please wait...",n=_t,i=mt.Ua,n?n<i?a.setStatus(r+" ("+(i-n)+"/"+i+")"):a.setStatus(r):a.setStatus("")),t<ct||setTimeout(st,0)}else if(!(t<ct))if(lt=lt+1|0,1==ft&&1<pt&&0!=lt%pt)ot();else{0==ft&&(it=te());e:if(!(g||a.preMainLoop&&!1===a.preMainLoop())){try{e()}catch(e){if(e instanceof vr||"unwind"==e)break e;throw e&&"object"==typeof e&&e.stack&&h("exception thrown: "+[e,e.stack]),e}a.postMainLoop&&a.postMainLoop()}t<ct||("object"==typeof SDL&&SDL.audio&&SDL.audio.Ba&&SDL.audio.Ba(),ot())}}}(n),function(t,r){if(ft=t,pt=r,ut)if(0==t)ot=function(){var e=0|Math.max(0,it+r-te());setTimeout(st,e)};else if(1==t)ot=function(){xt(st)};else if(2==t){if(void 0===e){var n=[];addEventListener("message",(function(e){"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),n.shift()())}),!0),e=function(e){n.push(e),void 0===a.setImmediates&&(a.setImmediates=[]),a.setImmediates.push(e),postMessage({target:"setimmediate"})}}ot=function(){e(st)}}}(t,r),ot()},a.getUserMedia=function(){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(void 0)},a.createContext=function(e,t,r,a){return wt(e,t,r,a)},function(e,t){try{var r=indexedDB.open("emscripten_filesystem",1)}catch(e){return void t()}r.onupgradeneeded=function(e){(e=e.target.result).objectStoreNames.contains("FILES")&&e.deleteObjectStore("FILES"),e.createObjectStore("FILES")},r.onsuccess=function(e){!function(e){jt=e,G()}(e.target.result)},r.onerror=function(e){t()}}(0,(function(){jt=!1,G()})),"undefined"!=typeof ENVIRONMENT_IS_FETCH_WORKER&&ENVIRONMENT_IS_FETCH_WORKER||K(),U.push({da:function(){ur()}});var or={__clock_gettime:function(e,t){return ne(e,t)},__cxa_allocate_exception:function(e){return pr(e+16)+16},__cxa_atexit:function(){},__cxa_throw:function(e,t,r){throw new ie(e).ua(t,r),e},__sys_fcntl64:function(e,t,r){rt=r;try{var a=nt(e);switch(t){case 0:var n=at();return 0>n?-28:Ye(a.path,a.flags,0,n).v;case 1:case 2:return 0;case 3:return a.flags;case 4:return n=at(),a.flags|=n,0;case 12:return n=at(),A[n+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return O[lr()>>2]=28,-1;default:return-28}}catch(e){return void 0!==et&&e instanceof Me||J(e),-e.i}},__sys_getpid:function(){return 42},__sys_ioctl:function(e,t,r){rt=r;try{var a=nt(e);switch(t){case 21509:case 21505:return a.h?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return a.h?0:-59;case 21519:if(!a.h)return-59;var n=at();return O[n>>2]=0;case 21520:return a.h?-28:-59;case 21531:if(e=n=at(),!a.f.wa)throw new Me(59);return a.f.wa(a,t,e);case 21523:case 21524:return a.h?0:-59;default:J("bad ioctl syscall "+t)}}catch(e){return void 0!==et&&e instanceof Me||J(e),-e.i}},__sys_lstat64:function(e,t){try{return tt(Ne,e=T(e),t)}catch(e){return void 0!==et&&e instanceof Me||J(e),-e.i}},__sys_open:function(e,t,r){rt=r;try{return Ye(T(e),t,r?at():0).v}catch(e){return void 0!==et&&e instanceof Me||J(e),-e.i}},__sys_stat64:function(e,t){try{return tt(We,e=T(e),t)}catch(e){return void 0!==et&&e instanceof Me||J(e),-e.i}},__sys_symlink:function(e,t){try{return Ze(e=T(e),t=T(t)),0}catch(e){return void 0!==et&&e instanceof Me||J(e),-e.i}},__sys_uname:function(e){try{if(!e)return-21;var t={__size__:390,domainname:325,machine:260,nodename:65,release:130,sysname:0,version:195};return j("Emscripten",e+t.sysname),j("emscripten",e+t.nodename),j("1.0",e+t.release),j("#1",e+t.version),j("x86-JS",e+t.machine),0}catch(e){return void 0!==et&&e instanceof Me||J(e),-e.i}},__sys_unlink:function(e){try{var t=xe(e=T(e),{parent:!0}).node,r=ce(e),a=Pe(t,r);e:{try{var n=Pe(t,r)}catch(e){var i=e.i;break e}var s=Te(t,"wx");i=s||(16384==(61440&n.mode)?31:0)}if(i)throw new Me(i);if(!t.c.S)throw new Me(63);if(a.H)throw new Me(10);try{ke.willDeletePath&&ke.willDeletePath(e)}catch(t){h("FS.trackingDelegate[\'willDeletePath\'](\'"+e+"\') threw an exception: "+t.message)}t.c.S(t,r);var _=Ee(a.parent.id,a.name);if(ve[_]===a)ve[_]=a.B;else for(var o=ve[_];o;){if(o.B===a){o.B=a.B;break}o=o.B}try{ke.onDeletePath&&ke.onDeletePath(e)}catch(t){h("FS.trackingDelegate[\'onDeletePath\'](\'"+e+"\') threw an exception: "+t.message)}return 0}catch(e){return void 0!==et&&e instanceof Me||J(e),-e.i}},_emscripten_fetch_free:function(e){delete Bt[e-1]},abort:function(){J()},clock_gettime:ne,emidentity:function(){var e=new URL(location.origin).hostname;if(0===e.length&&(e=new URL(location.href.replace("blob:","")).hostname),/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(e))0===e.indexOf("10.")&&(e="10.*"),0===e.indexOf("192.168.")&&(e="192.168.*"),0===e.indexOf("172.")&&(e="172.*"),0===e.indexOf("127.")&&(e="127.*");else{var t=new RegExp("("+String.fromCharCode(92)+".ngrok"+String.fromCharCode(92)+".io)$","i");t.test(e)&&(e="*.ngrok.io"),(t=new RegExp("("+String.fromCharCode(92)+".arweb"+String.fromCharCode(92)+".app)$","i")).test(e)&&(e="*.arweb.app")}t=I(e)+1;var r=pr(t);return D(e,M,r,t+1),r},emlicerr:function(){self.postMessage({t:"licerr"})},emscripten_asm_const_int:function(e,t,r){var a;for(ir.length=0,r>>=2;a=M[t++];)(a=105>a)&&1&r&&r++,ir.push(a?L[r++>>1]:O[r]),++r;return re[e].apply(null,ir)},emscripten_async_call:function(e,t,r){function a(){R.get(e)(t)}d=!0,0<=r?Ot(a,r):function(e){xt((function(){g||e()}))}(a)},emscripten_is_main_browser_thread:Vt,emscripten_memcpy_big:function(e,t,r){M.copyWithin(e,t,t+r)},emscripten_resize_heap:function(e){e>>>=0;var t=M.length;if(2147483648<e)return!1;for(var r=1;4>=r;r*=2){var a=t*(1+.2/r);a=Math.min(a,e+100663296),0<(a=Math.max(16777216,e,a))%65536&&(a+=65536-a%65536);e:{try{b.grow(Math.min(2147483648,a)-z.byteLength+65535>>>16),B();var n=1;break e}catch(e){}n=void 0}if(n)return!0}return!1},emscripten_start_fetch:function(e,t,r,a,n){function i(e,r){Ut(e,r.response,(function(e){p?R.get(p)(e):t&&t(e)}),(function(e){p?R.get(p)(e):t&&t(e)}))}function s(e){h?R.get(h)(e):n&&n(e)}function _(e){l?R.get(l)(e):r&&r(e)}function o(e){m?R.get(m)(e):a&&a(e)}function c(e){p?R.get(p)(e):t&&t(e)}void 0!==d&&(d=!0);var u=e+112,f=T(u),p=E[u+36>>2],l=E[u+40>>2],m=E[u+44>>2],h=E[u+48>>2],b=E[u+52>>2],g=!!(4&b),y=!!(32&b);if(b=!!(16&b),"EM_IDB_STORE"===f)f=E[u+84>>2],Ut(e,M.slice(f,f+E[u+88>>2]),c,_);else if("EM_IDB_DELETE"===f)!function(e,t,r){var a=jt;if(a){var n=E[e+112+64>>2];n||(n=E[e+8>>2]),n=T(n);try{var i=a.transaction(["FILES"],"readwrite").objectStore("FILES").delete(n);i.onsuccess=function(r){r=r.target.result,E[e+12>>2]=0,Rt(e+16,0),Rt(e+24,0),Rt(e+32,0),x[e+40>>1]=4,x[e+42>>1]=200,D("OK",M,e+44,64),t(e,0,r)},i.onerror=function(t){x[e+40>>1]=4,x[e+42>>1]=404,D("Not Found",M,e+44,64),r(e,0,t)}}catch(t){r(e,0,t)}}else r(e,0,"IndexedDB not available!")}(e,c,_);else if(b){if(y)return 0;Ct(e,g?i:c,_,o,s)}else!function(e,t,r){var a=jt;if(a){var n=E[e+112+64>>2];n||(n=E[e+8>>2]),n=T(n);try{var i=a.transaction(["FILES"],"readonly").objectStore("FILES").get(n);i.onsuccess=function(a){if(a.target.result){var n=(a=a.target.result).byteLength||a.length,i=pr(n);M.set(new Uint8Array(a),i),E[e+12>>2]=i,Rt(e+16,n),Rt(e+24,0),Rt(e+32,n),x[e+40>>1]=4,x[e+42>>1]=200,D("OK",M,e+44,64),t(e,0,a)}else x[e+40>>1]=4,x[e+42>>1]=404,D("Not Found",M,e+44,64),r(e,0,"no data")},i.onerror=function(t){x[e+40>>1]=4,x[e+42>>1]=404,D("Not Found",M,e+44,64),r(e,0,t)}}catch(t){r(e,0,t)}}else r(e,0,"IndexedDB not available!")}(e,c,y?_:g?function(e){Ct(e,i,_,o,s)}:function(e){Ct(e,c,_,o,s)});return e},emscripten_thread_sleep:function(e){for(var t=te();te()-t<e;);},environ_get:function(e,t){try{var r=0;return Ht().forEach((function(a,n){var i=t+r;O[e+4*n>>2]=i,j(a,i),r+=a.length+1})),0}catch(e){return void 0!==et&&e instanceof Me||J(e),e.i}},environ_sizes_get:function(e,t){try{var r=Ht();O[e>>2]=r.length;var a=0;return r.forEach((function(e){a+=e.length+1})),O[t>>2]=a,0}catch(e){return void 0!==et&&e instanceof Me||J(e),e.i}},exit:function(e){d||(a.onExit&&a.onExit(e),g=!0),c(e,new vr(e))},fd_close:function(e){try{var t=nt(e);if(null===t.v)throw new Me(8);t.W&&(t.W=null);try{t.f.close&&t.f.close(t)}catch(e){throw e}finally{ye[t.v]=null}return t.v=null,0}catch(e){return void 0!==et&&e instanceof Me||J(e),e.i}},fd_read:function(e,t,r,a){try{e:{for(var n=nt(e),i=e=0;i<r;i++){var s=O[t+(8*i+4)>>2],_=n,o=O[t+8*i>>2],c=s,u=void 0,f=k;if(0>c||0>u)throw new Me(28);if(null===_.v)throw new Me(8);if(1==(2097155&_.flags))throw new Me(8);if(16384==(61440&_.node.mode))throw new Me(31);if(!_.f.read)throw new Me(28);var p=void 0!==u;if(p){if(!_.seekable)throw new Me(70)}else u=_.position;var l=_.f.read(_,f,o,c,u);p||(_.position+=l);var d=l;if(0>d){var m=-1;break e}if(e+=d,d<s)break}m=e}return O[a>>2]=m,0}catch(e){return void 0!==et&&e instanceof Me||J(e),e.i}},fd_seek:function(e,t,r,a,n){try{var i=nt(e);return-9007199254740992>=(e=4294967296*r+(t>>>0))||9007199254740992<=e?-61:(Ke(i,e,a),ee=[i.position>>>0,(Q=i.position,1<=+Math.abs(Q)?0<Q?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],O[n>>2]=ee[0],O[n+4>>2]=ee[1],i.W&&0===e&&0===a&&(i.W=null),0)}catch(e){return void 0!==et&&e instanceof Me||J(e),e.i}},fd_write:function(e,t,r,a){try{e:{for(var n=nt(e),i=e=0;i<r;i++){var s=n,_=O[t+8*i>>2],o=O[t+(8*i+4)>>2],c=void 0,u=k;if(0>o||0>c)throw new Me(28);if(null===s.v)throw new Me(8);if(0==(2097155&s.flags))throw new Me(8);if(16384==(61440&s.node.mode))throw new Me(31);if(!s.f.write)throw new Me(28);s.seekable&&1024&s.flags&&Ke(s,0,2);var f=void 0!==c;if(f){if(!s.seekable)throw new Me(70)}else c=s.position;var p=s.f.write(s,u,_,o,c,void 0);f||(s.position+=p);try{s.path&&ke.onWriteToFile&&ke.onWriteToFile(s.path)}catch(e){h("FS.trackingDelegate[\'onWriteToFile\'](\'"+s.path+"\') threw an exception: "+e.message)}var l=p;if(0>l){var d=-1;break e}e+=l}d=e}return O[a>>2]=d,0}catch(e){return void 0!==et&&e instanceof Me||J(e),e.i}},gettimeofday:function(e){var t=Date.now();return O[e>>2]=t/1e3|0,O[e+4>>2]=t%1e3*1e3|0,0},glBindTexture:function(e,t){nr.bindTexture(e,Nt[t])},glGenTextures:function(e,t){for(var r=0;r<e;r++){var a=nr.createTexture(),n=a&&Kt(Nt);a?(a.name=n,Nt[n]=a):Gt||(Gt=1282),O[t+4*r>>2]=n}},glTexImage2D:function(e,t,r,a,n,i,s,_,o){nr.texImage2D(e,t,r,a,n,i,s,_,o?function(e,t,r,a,n){e=1==(e-=5120)?M:4==e?O:6==e?P:5==e||28922==e?E:x;var i=31-Math.clz32(e.BYTES_PER_ELEMENT);return e.subarray(n>>i,n+a*(r*({5:3,6:4,8:2,29502:3,29504:4}[t-6402]||1)*(1<<i)+4-1&-4)>>i)}(_,s,a,n,o):null)},glTexParameteri:function(e,t,r){nr.texParameteri(e,t,r)},localtime_r:function(e,t){!function(){function e(e){return(e=e.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?e[1]:"GMT"}if(!Xt){Xt=!0;var t=(new Date).getFullYear(),r=new Date(t,0,1),a=new Date(t,6,1);t=r.getTimezoneOffset();var n=a.getTimezoneOffset(),i=Math.max(t,n);O[hr()>>2]=60*i,O[mr()>>2]=Number(t!=n),r=e(r),a=e(a),r=V(r),a=V(a),n<t?(O[dr()>>2]=r,O[dr()+4>>2]=a):(O[dr()>>2]=a,O[dr()+4>>2]=r)}}(),e=new Date(1e3*O[e>>2]),O[t>>2]=e.getSeconds(),O[t+4>>2]=e.getMinutes(),O[t+8>>2]=e.getHours(),O[t+12>>2]=e.getDate(),O[t+16>>2]=e.getMonth(),O[t+20>>2]=e.getFullYear()-1900,O[t+24>>2]=e.getDay();var r=new Date(e.getFullYear(),0,1);O[t+28>>2]=(e.getTime()-r.getTime())/864e5|0,O[t+36>>2]=-60*e.getTimezoneOffset();var a=new Date(e.getFullYear(),6,1).getTimezoneOffset();return e=0|(a!=(r=r.getTimezoneOffset())&&e.getTimezoneOffset()==Math.min(r,a)),O[t+32>>2]=e,e=O[dr()+(e?4:0)>>2],O[t+40>>2]=e,t},pthread_create:function(){return 6},pthread_join:function(){return 28},setTempRet0:function(){},strftime_l:function(e,t,r,a){return function(e,t,r,a){function n(e,t,r){for(e="number"==typeof e?e.toString():e||"";e.length<t;)e=r[0]+e;return e}function i(e,t){return n(e,t,"0")}function s(e,t){function r(e){return 0>e?-1:0<e?1:0}var a;return 0===(a=r(e.getFullYear()-t.getFullYear()))&&0===(a=r(e.getMonth()-t.getMonth()))&&(a=r(e.getDate()-t.getDate())),a}function _(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function o(e){e=ar(new Date(e.l+1900,0,1),e.R);var t=new Date(e.getFullYear()+1,0,4),r=_(new Date(e.getFullYear(),0,4));return t=_(t),0>=s(r,e)?0>=s(t,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var c=O[a+40>>2];for(var u in a={La:O[a>>2],Ka:O[a+4>>2],O:O[a+8>>2],K:O[a+12>>2],F:O[a+16>>2],l:O[a+20>>2],P:O[a+24>>2],R:O[a+28>>2],ab:O[a+32>>2],Ja:O[a+36>>2],Ma:c?T(c):""},r=T(r),c={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})r=r.replace(new RegExp(u,"g"),c[u]);var f="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),p="January February March April May June July August September October November December".split(" ");for(u in c={"%a":function(e){return f[e.P].substring(0,3)},"%A":function(e){return f[e.P]},"%b":function(e){return p[e.F].substring(0,3)},"%B":function(e){return p[e.F]},"%C":function(e){return i((e.l+1900)/100|0,2)},"%d":function(e){return i(e.K,2)},"%e":function(e){return n(e.K,2," ")},"%g":function(e){return o(e).toString().substring(2)},"%G":function(e){return o(e)},"%H":function(e){return i(e.O,2)},"%I":function(e){return 0==(e=e.O)?e=12:12<e&&(e-=12),i(e,2)},"%j":function(e){return i(e.K+er(Qt(e.l+1900)?tr:rr,e.F-1),3)},"%m":function(e){return i(e.F+1,2)},"%M":function(e){return i(e.Ka,2)},"%n":function(){return"\\n"},"%p":function(e){return 0<=e.O&&12>e.O?"AM":"PM"},"%S":function(e){return i(e.La,2)},"%t":function(){return"\\t"},"%u":function(e){return e.P||7},"%U":function(e){var t=new Date(e.l+1900,0,1),r=0===t.getDay()?t:ar(t,7-t.getDay());return 0>s(r,e=new Date(e.l+1900,e.F,e.K))?i(Math.ceil((31-r.getDate()+(er(Qt(e.getFullYear())?tr:rr,e.getMonth()-1)-31)+e.getDate())/7),2):0===s(r,t)?"01":"00"},"%V":function(e){var t=new Date(e.l+1901,0,4),r=_(new Date(e.l+1900,0,4));t=_(t);var a=ar(new Date(e.l+1900,0,1),e.R);return 0>s(a,r)?"53":0>=s(t,a)?"01":i(Math.ceil((r.getFullYear()<e.l+1900?e.R+32-r.getDate():e.R+1-r.getDate())/7),2)},"%w":function(e){return e.P},"%W":function(e){var t=new Date(e.l,0,1),r=1===t.getDay()?t:ar(t,0===t.getDay()?1:7-t.getDay()+1);return 0>s(r,e=new Date(e.l+1900,e.F,e.K))?i(Math.ceil((31-r.getDate()+(er(Qt(e.getFullYear())?tr:rr,e.getMonth()-1)-31)+e.getDate())/7),2):0===s(r,t)?"01":"00"},"%y":function(e){return(e.l+1900).toString().substring(2)},"%Y":function(e){return e.l+1900},"%z":function(e){var t=0<=(e=e.Ja);return e=Math.abs(e)/60,(t?"+":"-")+String("0000"+(e/60*100+e%60)).slice(-4)},"%Z":function(e){return e.Ma},"%%":function(){return"%"}})0<=r.indexOf(u)&&(r=r.replace(new RegExp(u,"g"),c[u](a)));return(u=_r(r,!1)).length>t?0:(k.set(u,e),u.length-1)}(e,t,r,a)},sysconf:function(e){switch(e){case 30:return 16384;case 85:return 131072;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:case 79:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return O[lr()>>2]=28,-1},time:function(e){var t=Date.now()/1e3|0;return e&&(O[e>>2]=t),t}},cr=function(){function e(e){a.asm=e.exports,b=a.asm.memory,B(),R=a.asm.__indirect_function_table,G()}var t={env:or,wasi_snapshot_preview1:or};if(K(),a.instantiateWasm)try{return a.instantiateWasm(t,e)}catch(e){return h("Module.instantiateWasm callback failed with error: "+e),!1}return t=function(e){var t=X;try{e:{try{if(t==X&&l){var r=new Uint8Array(l);break e}if(u){r=u(t);break e}throw"sync fetching of the wasm failed: you can preload it to Module[\'wasmBinary\'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(e){J(e)}r=void 0}var a=new WebAssembly.Module(r),n=new WebAssembly.Instance(a,e)}catch(t){throw e=t.toString(),h("failed to compile wasm module: "+e),(0<=e.indexOf("imported Memory")||0<=e.indexOf("memory import"))&&h("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),t}return[n,a]}(t),e(t[0],t[1]),a.asm}(),ur=a.___wasm_call_ctors=cr.__wasm_call_ctors;a._zappar_has_initialized=cr.zappar_has_initialized,a._zappar_invert=cr.zappar_invert,a._zappar_pipeline_create=cr.zappar_pipeline_create,a._zappar_pipeline_destroy=cr.zappar_pipeline_destroy,a._zappar_pipeline_camera_frame_submit=cr.zappar_pipeline_camera_frame_submit,a._zappar_pipeline_frame_update=cr.zappar_pipeline_frame_update,a._zappar_pipeline_camera_frame_user_data=cr.zappar_pipeline_camera_frame_user_data,a._zappar_pipeline_camera_model=cr.zappar_pipeline_camera_model,a._zappar_pipeline_frame_number=cr.zappar_pipeline_frame_number,a._zappar_pipeline_motion_accelerometer_submit=cr.zappar_pipeline_motion_accelerometer_submit,a._zappar_pipeline_motion_rotation_rate_submit=cr.zappar_pipeline_motion_rotation_rate_submit,a._zappar_pipeline_motion_attitude_submit=cr.zappar_pipeline_motion_attitude_submit,a._zappar_pipeline_motion_attitude_matrix_submit=cr.zappar_pipeline_motion_attitude_matrix_submit,a._zappar_pipeline_camera_frame_user_facing=cr.zappar_pipeline_camera_frame_user_facing,a._zappar_pipeline_camera_frame_texture_matrix=cr.zappar_pipeline_camera_frame_texture_matrix,a._zappar_pipeline_camera_pose_with_attitude=cr.zappar_pipeline_camera_pose_with_attitude,a._zappar_pipeline_camera_pose_with_origin=cr.zappar_pipeline_camera_pose_with_origin,a._zappar_pipeline_camera_frame_camera_attitude=cr.zappar_pipeline_camera_frame_camera_attitude,a._zappar_pipeline_camera_frame_device_attitude=cr.zappar_pipeline_camera_frame_device_attitude,a._zappar_pipeline_camera_frame_texture_gl=cr.zappar_pipeline_camera_frame_texture_gl,a._zappar_pipeline_camera_frame_upload_gl=cr.zappar_pipeline_camera_frame_upload_gl,a._zappar_pipeline_sequence_record_start=cr.zappar_pipeline_sequence_record_start,a._zappar_pipeline_sequence_record_stop=cr.zappar_pipeline_sequence_record_stop,a._zappar_pipeline_sequence_record_clear=cr.zappar_pipeline_sequence_record_clear,a._zappar_pipeline_sequence_record_device_attitude_matrices_set=cr.zappar_pipeline_sequence_record_device_attitude_matrices_set,a._zappar_pipeline_sequence_record_data_size=cr.zappar_pipeline_sequence_record_data_size,a._zappar_pipeline_sequence_record_data=cr.zappar_pipeline_sequence_record_data,a._zappar_pipeline_process_gl=cr.zappar_pipeline_process_gl,a._zappar_pipeline_camera_pose_default=cr.zappar_pipeline_camera_pose_default,a._zappar_instant_world_tracker_create=cr.zappar_instant_world_tracker_create,a._zappar_instant_world_tracker_destroy=cr.zappar_instant_world_tracker_destroy,a._zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw=cr.zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw,a._zappar_instant_world_tracker_anchor_pose_raw=cr.zappar_instant_world_tracker_anchor_pose_raw,a._zappar_instant_world_tracker_enabled_set=cr.zappar_instant_world_tracker_enabled_set,a._zappar_instant_world_tracker_enabled=cr.zappar_instant_world_tracker_enabled,a._zappar_image_tracker_create=cr.zappar_image_tracker_create,a._zappar_image_tracker_destroy=cr.zappar_image_tracker_destroy,a._zappar_image_tracker_target_load_from_memory=cr.zappar_image_tracker_target_load_from_memory,a.__Z42zappar_image_tracker_target_load_from_fileP23zappar_image_tracker_tiPKc=cr._Z42zappar_image_tracker_target_load_from_fileP23zappar_image_tracker_tiPKc;var fr=a._free=cr.free;a._zappar_image_tracker_anchor_count=cr.zappar_image_tracker_anchor_count,a._zappar_image_tracker_anchor_id=cr.zappar_image_tracker_anchor_id,a._zappar_image_tracker_anchor_pose_raw=cr.zappar_image_tracker_anchor_pose_raw,a._zappar_image_tracker_enabled_set=cr.zappar_image_tracker_enabled_set,a._zappar_image_tracker_enabled=cr.zappar_image_tracker_enabled,a._zappar_image_tracker_target_loaded_version=cr.zappar_image_tracker_target_loaded_version,a._zappar_image_tracker_target_count=cr.zappar_image_tracker_target_count,a.__Z46zappar_image_tracker_target_preview_compressedP23zappar_image_tracker_tii=cr._Z46zappar_image_tracker_target_preview_compressedP23zappar_image_tracker_tii,a.__Z51zappar_image_tracker_target_preview_compressed_sizeP23zappar_image_tracker_tii=cr._Z51zappar_image_tracker_target_preview_compressed_sizeP23zappar_image_tracker_tii,a.__Z55zappar_image_tracker_target_preview_compressed_mimetypeP23zappar_image_tracker_tii=cr._Z55zappar_image_tracker_target_preview_compressed_mimetypeP23zappar_image_tracker_tii,a.__Z40zappar_image_tracker_target_preview_rgbaP23zappar_image_tracker_tii=cr._Z40zappar_image_tracker_target_preview_rgbaP23zappar_image_tracker_tii,a.__Z45zappar_image_tracker_target_preview_rgba_sizeP23zappar_image_tracker_tii=cr._Z45zappar_image_tracker_target_preview_rgba_sizeP23zappar_image_tracker_tii,a.__Z46zappar_image_tracker_target_preview_rgba_widthP23zappar_image_tracker_tii=cr._Z46zappar_image_tracker_target_preview_rgba_widthP23zappar_image_tracker_tii,a.__Z47zappar_image_tracker_target_preview_rgba_heightP23zappar_image_tracker_tii=cr._Z47zappar_image_tracker_target_preview_rgba_heightP23zappar_image_tracker_tii,a._zappar_face_tracker_create=cr.zappar_face_tracker_create,a._zappar_face_tracker_destroy=cr.zappar_face_tracker_destroy,a._zappar_face_tracker_model_load_from_memory=cr.zappar_face_tracker_model_load_from_memory,a._zappar_face_tracker_anchor_count=cr.zappar_face_tracker_anchor_count,a._zappar_face_tracker_anchor_id=cr.zappar_face_tracker_anchor_id,a._zappar_face_tracker_anchor_pose_raw=cr.zappar_face_tracker_anchor_pose_raw,a._zappar_face_tracker_anchor_identity_coefficients=cr.zappar_face_tracker_anchor_identity_coefficients,a._zappar_face_tracker_anchor_expression_coefficients=cr.zappar_face_tracker_anchor_expression_coefficients,a._zappar_face_tracker_enabled_set=cr.zappar_face_tracker_enabled_set,a._zappar_face_tracker_enabled=cr.zappar_face_tracker_enabled,a._zappar_face_tracker_max_faces_set=cr.zappar_face_tracker_max_faces_set,a._zappar_face_tracker_max_faces=cr.zappar_face_tracker_max_faces,a._zappar_face_tracker_model_loaded_version=cr.zappar_face_tracker_model_loaded_version,a._zappar_face_landmark_create=cr.zappar_face_landmark_create,a._zappar_face_landmark_destroy=cr.zappar_face_landmark_destroy,a.__Z27zappar_face_landmark_updateP23zappar_face_landmark_tiPKfS2_i=cr._Z27zappar_face_landmark_updateP23zappar_face_landmark_tiPKfS2_i,a._zappar_face_landmark_anchor_pose=cr.zappar_face_landmark_anchor_pose,a._zappar_barcode_finder_create=cr.zappar_barcode_finder_create,a._zappar_barcode_finder_destroy=cr.zappar_barcode_finder_destroy,a._zappar_barcode_finder_found_number=cr.zappar_barcode_finder_found_number,a._zappar_barcode_finder_found_text=cr.zappar_barcode_finder_found_text,a._zappar_barcode_finder_enabled_set=cr.zappar_barcode_finder_enabled_set,a._zappar_barcode_finder_enabled=cr.zappar_barcode_finder_enabled,a._zappar_barcode_finder_found_format=cr.zappar_barcode_finder_found_format,a._zappar_barcode_finder_formats=cr.zappar_barcode_finder_formats,a._zappar_barcode_finder_formats_set=cr.zappar_barcode_finder_formats_set;var pr=a._malloc=cr.malloc;a._zappar_face_mesh_create=cr.zappar_face_mesh_create,a._zappar_face_mesh_destroy=cr.zappar_face_mesh_destroy,a.__Z33zappar_face_mesh_load_from_memoryP19zappar_face_mesh_tiPKciiiii=cr._Z33zappar_face_mesh_load_from_memoryP19zappar_face_mesh_tiPKciiiii,a.__Z29zappar_face_mesh_indices_sizeP19zappar_face_mesh_ti=cr._Z29zappar_face_mesh_indices_sizeP19zappar_face_mesh_ti,a.__Z25zappar_face_mesh_uvs_sizeP19zappar_face_mesh_ti=cr._Z25zappar_face_mesh_uvs_sizeP19zappar_face_mesh_ti,a.__Z30zappar_face_mesh_vertices_sizeP19zappar_face_mesh_ti=cr._Z30zappar_face_mesh_vertices_sizeP19zappar_face_mesh_ti,a.__Z31zappar_face_mesh_loaded_versionP19zappar_face_mesh_ti=cr._Z31zappar_face_mesh_loaded_versionP19zappar_face_mesh_ti,a.__Z25zappar_face_mesh_verticesP19zappar_face_mesh_ti=cr._Z25zappar_face_mesh_verticesP19zappar_face_mesh_ti,a.__Z20zappar_face_mesh_uvsP19zappar_face_mesh_ti=cr._Z20zappar_face_mesh_uvsP19zappar_face_mesh_ti,a.__Z24zappar_face_mesh_indicesP19zappar_face_mesh_ti=cr._Z24zappar_face_mesh_indicesP19zappar_face_mesh_ti,a.__Z23zappar_face_mesh_updateP19zappar_face_mesh_tiPKfS2_i=cr._Z23zappar_face_mesh_updateP19zappar_face_mesh_tiPKfS2_i,a.__Z29zappar_face_mesh_normals_sizeP19zappar_face_mesh_ti=cr._Z29zappar_face_mesh_normals_sizeP19zappar_face_mesh_ti,a.__Z24zappar_face_mesh_normalsP19zappar_face_mesh_ti=cr._Z24zappar_face_mesh_normalsP19zappar_face_mesh_ti,a._zappar_camera_source_create=cr.zappar_camera_source_create,a._zappar_camera_source_destroy=cr.zappar_camera_source_destroy,a._zappar_camera_source_start=cr.zappar_camera_source_start,a._zappar_camera_source_pause=cr.zappar_camera_source_pause,a._zappar_camera_default_device_id=cr.zappar_camera_default_device_id,a._zappar_sequence_source_create=cr.zappar_sequence_source_create,a.__Z28zappar_sequence_source_startP25zappar_sequence_source_ti=cr._Z28zappar_sequence_source_startP25zappar_sequence_source_ti,a.__Z39zappar_sequence_source_load_from_memoryP25zappar_sequence_source_tiPKci=cr._Z39zappar_sequence_source_load_from_memoryP25zappar_sequence_source_tiPKci,a.__Z28zappar_sequence_source_pauseP25zappar_sequence_source_ti=cr._Z28zappar_sequence_source_pauseP25zappar_sequence_source_ti,a._zappar_sequence_source_destroy=cr.zappar_sequence_source_destroy,a._zappar_log_level_set=cr.zappar_log_level_set,a._zappar_log_level=cr.zappar_log_level,a.___em_js__emidentity=cr.__em_js__emidentity,a._zappar_analytics_project_id_set=cr.zappar_analytics_project_id_set,a.___em_js__emlicerr=cr.__em_js__emlicerr;var lr=a.___errno_location=cr.__errno_location;a._ntohs=cr.ntohs,a._htons=cr.htons,a._htonl=cr.htonl,a._usleep=cr.usleep;var dr=a.__get_tzname=cr._get_tzname,mr=a.__get_daylight=cr._get_daylight,hr=a.__get_timezone=cr._get_timezone;a._emscripten_main_thread_process_queued_calls=cr.emscripten_main_thread_process_queued_calls;var br,gr=a.stackSave=cr.stackSave,yr=a.stackRestore=cr.stackRestore,wr=a.stackAlloc=cr.stackAlloc;function vr(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function zr(){function e(){if(!br&&(br=!0,a.calledRun=!0,!g)){if(a.noFSInit||Ve||(Ve=!0,Ge(),a.stdin=a.stdin,a.stdout=a.stdout,a.stderr=a.stderr,a.stdin?Je("stdin",a.stdin):Ze("/dev/tty","/dev/stdin"),a.stdout?Je("stdout",null,a.stdout):Ze("/dev/tty","/dev/stdout"),a.stderr?Je("stderr",null,a.stderr):Ze("/dev/tty1","/dev/stderr"),Ye("/dev/stdin",0),Ye("/dev/stdout",1),Ye("/dev/stderr",1)),ae(U),ze=!1,ae(q),n(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var e=a.postRun.shift();Z.unshift(e)}ae(Z)}}if(!(0<W)){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)H();ae(C),0<W||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),e()}),1)):e())}}if(a._setThrew=cr.setThrew,a.dynCall_viijii=cr.dynCall_viijii,a.dynCall_vij=cr.dynCall_vij,a.dynCall_iiji=cr.dynCall_iiji,a.dynCall_viji=cr.dynCall_viji,a.dynCall_vijii=cr.dynCall_vijii,a.dynCall_ji=cr.dynCall_ji,a.dynCall_jiji=cr.dynCall_jiji,a.dynCall_iiiiij=cr.dynCall_iiiiij,a.dynCall_iiiiijj=cr.dynCall_iiiiijj,a.dynCall_iiiiiijj=cr.dynCall_iiiiiijj,a.cwrap=function(e,t,r,a){var n=(r=r||[]).every((function(e){return"number"===e}));return"string"!==t&&n&&!a?w(e):function(){return v(e,t,r,arguments)}},a.setValue=function(e,t,r){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":k[e>>0]=t;break;case"i16":A[e>>1]=t;break;case"i32":O[e>>2]=t;break;case"i64":ee=[t>>>0,(Q=t,1<=+Math.abs(Q)?0<Q?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],O[e>>2]=ee[0],O[e+4>>2]=ee[1];break;case"float":P[e>>2]=t;break;case"double":L[e>>3]=t;break;default:J("invalid type for setValue: "+r)}},a.getValue=function(e,t){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return k[e>>0];case"i16":return A[e>>1];case"i32":case"i64":return O[e>>2];case"float":return P[e>>2];case"double":return L[e>>3];default:J("invalid type for getValue: "+t)}return null},a.UTF8ToString=T,Y=function e(){br||zr(),br||(Y=e)},a.run=zr,a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();return d=!0,zr(),t});t.default=a}.call(this,r(4).setImmediate)},function(e,t,r){(function(e){var a=void 0!==e&&e||"undefined"!=typeof self&&self||window,n=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(n.call(setTimeout,a,arguments),clearTimeout)},t.setInterval=function(){return new i(n.call(setInterval,a,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(a,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},r(5),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,r(0))},function(e,t,r){(function(e,t){!function(e,r){"use strict";if(!e.setImmediate){var a,n,i,s,_,o=1,c={},u=!1,f=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?a=function(e){t.nextTick((function(){d(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){d(e.data)},a=function(e){i.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(n=f.documentElement,a=function(e){var t=f.createElement("script");t.onreadystatechange=function(){d(e),t.onreadystatechange=null,n.removeChild(t),t=null},n.appendChild(t)}):a=function(e){setTimeout(d,0,e)}:(s="setImmediate$"+Math.random()+"$",_=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&d(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",_,!1):e.attachEvent("onmessage",_),a=function(t){e.postMessage(s+t,"*")}),p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return c[o]=n,a(o),o++},p.clearImmediate=l}function l(e){delete c[e]}function d(e){if(u)setTimeout(d,0,e);else{var t=c[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(void 0,r)}}(t)}finally{l(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,r(0),r(6))},function(e,t){var r,a,n=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function _(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{a="function"==typeof clearTimeout?clearTimeout:s}catch(e){a=s}}();var o,c=[],u=!1,f=-1;function p(){u&&o&&(u=!1,o.length?c=o.concat(c):f=-1,c.length&&l())}function l(){if(!u){var e=_(p);u=!0;for(var t=c.length;t;){for(o=c,c=[];++f<t;)o&&o[f].run();f=-1,t=c.length}o=null,u=!1,function(e){if(a===clearTimeout)return clearTimeout(e);if((a===s||!a)&&clearTimeout)return a=clearTimeout,clearTimeout(e);try{a(e)}catch(t){try{return a.call(null,e)}catch(t){return a.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function m(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new d(e,t)),1!==c.length||u||_(l)},d.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=m,n.addListener=m,n.once=m,n.off=m,n.removeListener=m,n.removeAllListeners=m,n.emit=m,n.prependListener=m,n.prependOnceListener=m,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRuntimeObject=void 0,t.getRuntimeObject=function(e){let t=e.cwrap("zappar_log_level","number",[]),r=e.cwrap("zappar_log_level_set",null,["number"]),a=e.cwrap("zappar_analytics_project_id_set",null,["string"]),n=e.cwrap("zappar_pipeline_create","number",[]),i=e.cwrap("zappar_pipeline_destroy",null,["number"]),s=e.cwrap("zappar_pipeline_frame_update",null,["number"]),_=e.cwrap("zappar_pipeline_frame_number","number",["number"]),o=e.cwrap("zappar_pipeline_camera_model","number",["number"]),c=e.cwrap("zappar_pipeline_camera_frame_user_data","number",["number"]),u=e.cwrap("zappar_pipeline_camera_frame_submit",null,["number","number","number","number","number","number","number","number","number"]),f=e.cwrap("zappar_pipeline_camera_frame_camera_attitude","number",["number"]),p=e.cwrap("zappar_pipeline_camera_frame_device_attitude","number",["number"]),l=e.cwrap("zappar_pipeline_motion_accelerometer_submit",null,["number","number","number","number","number"]),d=e.cwrap("zappar_pipeline_motion_rotation_rate_submit",null,["number","number","number","number","number"]),m=e.cwrap("zappar_pipeline_motion_attitude_submit",null,["number","number","number","number","number"]),h=e.cwrap("zappar_pipeline_motion_attitude_matrix_submit",null,["number","number"]),b=e.cwrap("zappar_camera_source_create","number",["number","string"]),g=e.cwrap("zappar_camera_source_destroy",null,["number"]),y=e.cwrap("zappar_sequence_source_create","number",["number"]),w=e.cwrap("zappar_sequence_source_destroy",null,["number"]),v=e.cwrap("zappar_image_tracker_create","number",["number"]),z=e.cwrap("zappar_image_tracker_destroy",null,["number"]),k=e.cwrap("zappar_image_tracker_target_load_from_memory",null,["number","number","number"]),M=e.cwrap("zappar_image_tracker_target_loaded_version","number",["number"]),A=e.cwrap("zappar_image_tracker_target_count","number",["number"]),x=e.cwrap("zappar_image_tracker_enabled","number",["number"]),O=e.cwrap("zappar_image_tracker_enabled_set",null,["number","number"]),E=e.cwrap("zappar_image_tracker_anchor_count","number",["number"]),P=e.cwrap("zappar_image_tracker_anchor_id","string",["number","number"]),L=e.cwrap("zappar_image_tracker_anchor_pose_raw","number",["number","number"]),F=e.cwrap("zappar_face_tracker_create","number",["number"]),S=e.cwrap("zappar_face_tracker_destroy",null,["number"]),T=e.cwrap("zappar_face_tracker_model_load_from_memory",null,["number","number","number"]),D=e.cwrap("zappar_face_tracker_model_loaded_version","number",["number"]),I=e.cwrap("zappar_face_tracker_enabled_set",null,["number","number"]),V=e.cwrap("zappar_face_tracker_enabled","number",["number"]),j=e.cwrap("zappar_face_tracker_max_faces_set",null,["number","number"]),B=e.cwrap("zappar_face_tracker_max_faces","number",["number"]),R=e.cwrap("zappar_face_tracker_anchor_count","number",["number"]),C=e.cwrap("zappar_face_tracker_anchor_id","string",["number","number"]),U=e.cwrap("zappar_face_tracker_anchor_pose_raw","number",["number","number"]),q=e.cwrap("zappar_face_tracker_anchor_identity_coefficients","number",["number","number"]),Z=e.cwrap("zappar_face_tracker_anchor_expression_coefficients","number",["number","number"]),H=e.cwrap("zappar_face_mesh_create","number",[]),W=e.cwrap("zappar_face_mesh_destroy",null,["number"]),N=e.cwrap("zappar_face_landmark_create","number",["number"]),Y=e.cwrap("zappar_face_landmark_destroy",null,["number"]),K=e.cwrap("zappar_barcode_finder_create","number",["number"]),G=e.cwrap("zappar_barcode_finder_destroy",null,["number"]),J=e.cwrap("zappar_barcode_finder_enabled_set",null,["number","number"]),X=e.cwrap("zappar_barcode_finder_enabled","number",["number"]),$=e.cwrap("zappar_barcode_finder_found_number","number",["number"]),Q=e.cwrap("zappar_barcode_finder_found_text","string",["number","number"]),ee=e.cwrap("zappar_barcode_finder_found_format","number",["number","number"]),te=e.cwrap("zappar_barcode_finder_formats","number",["number"]),re=e.cwrap("zappar_barcode_finder_formats_set",null,["number","number"]),ae=e.cwrap("zappar_instant_world_tracker_create","number",["number"]),ne=e.cwrap("zappar_instant_world_tracker_destroy",null,["number"]),ie=e.cwrap("zappar_instant_world_tracker_enabled_set",null,["number","number"]),se=e.cwrap("zappar_instant_world_tracker_enabled","number",["number"]),_e=e.cwrap("zappar_instant_world_tracker_anchor_pose_raw","number",["number"]),oe=e.cwrap("zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw",null,["number","number","number","number","number"]),ce=32,ue=e._malloc(ce),fe=64,pe=e._malloc(fe);return{log_level:()=>t(),log_level_set:e=>r(e),analytics_project_id_set:e=>a(e),pipeline_create:()=>n(),pipeline_destroy:()=>{i()},pipeline_frame_update:e=>s(e),pipeline_frame_number:e=>_(e),pipeline_camera_model:t=>{let r=o(t),a=new Float32Array(6);return a.set(e.HEAPF32.subarray(r/4,6+r/4)),r=a,r},pipeline_camera_frame_user_data:e=>c(e),pipeline_camera_frame_submit:(t,r,a,n,i,s,_,o)=>{ce<r.byteLength&&(e._free(ue),ce=r.byteLength,ue=e._malloc(ce));let c=ue,f=r.byteLength;e.HEAPU8.set(new Uint8Array(r),ue);let p=a,l=n,d=i;fe<s.byteLength&&(e._free(fe),fe=s.byteLength,pe=e._malloc(fe));let m=pe;e.HEAPF32.set(s,pe/4),fe<_.byteLength&&(e._free(fe),fe=_.byteLength,pe=e._malloc(fe));let h=pe;return e.HEAPF32.set(_,pe/4),u(t,c,f,p,l,d,m,h,o?1:0)},pipeline_camera_frame_camera_attitude:t=>{let r=f(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},pipeline_camera_frame_device_attitude:t=>{let r=p(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},pipeline_motion_accelerometer_submit:(e,t,r,a,n)=>l(e,t,r,a,n),pipeline_motion_rotation_rate_submit:(e,t,r,a,n)=>d(e,t,r,a,n),pipeline_motion_attitude_submit:(e,t,r,a,n)=>m(e,t,r,a,n),pipeline_motion_attitude_matrix_submit:(t,r)=>{fe<r.byteLength&&(e._free(fe),fe=r.byteLength,pe=e._malloc(fe));let a=pe;return e.HEAPF32.set(r,pe/4),h(t,a)},camera_source_create:(e,t)=>b(e,t),camera_source_destroy:()=>{g()},sequence_source_create:e=>y(e),sequence_source_destroy:()=>{w()},image_tracker_create:e=>v(e),image_tracker_destroy:()=>{z()},image_tracker_target_load_from_memory:(t,r)=>{ce<r.byteLength&&(e._free(ue),ce=r.byteLength,ue=e._malloc(ce));let a=ue,n=r.byteLength;return e.HEAPU8.set(new Uint8Array(r),ue),k(t,a,n)},image_tracker_target_loaded_version:e=>M(e),image_tracker_target_count:e=>A(e),image_tracker_enabled:e=>{let t=x(e);return t=1===t,t},image_tracker_enabled_set:(e,t)=>O(e,t?1:0),image_tracker_anchor_count:e=>E(e),image_tracker_anchor_id:(e,t)=>P(e,t),image_tracker_anchor_pose_raw:(t,r)=>{let a=L(t,r),n=new Float32Array(16);return n.set(e.HEAPF32.subarray(a/4,16+a/4)),a=n,a},face_tracker_create:e=>F(e),face_tracker_destroy:()=>{S()},face_tracker_model_load_from_memory:(t,r)=>{ce<r.byteLength&&(e._free(ue),ce=r.byteLength,ue=e._malloc(ce));let a=ue,n=r.byteLength;return e.HEAPU8.set(new Uint8Array(r),ue),T(t,a,n)},face_tracker_model_loaded_version:e=>D(e),face_tracker_enabled_set:(e,t)=>I(e,t?1:0),face_tracker_enabled:e=>{let t=V(e);return t=1===t,t},face_tracker_max_faces_set:(e,t)=>j(e,t),face_tracker_max_faces:e=>B(e),face_tracker_anchor_count:e=>R(e),face_tracker_anchor_id:(e,t)=>C(e,t),face_tracker_anchor_pose_raw:(t,r)=>{let a=U(t,r),n=new Float32Array(16);return n.set(e.HEAPF32.subarray(a/4,16+a/4)),a=n,a},face_tracker_anchor_identity_coefficients:(t,r)=>{let a=q(t,r),n=new Float32Array(50);return n.set(e.HEAPF32.subarray(a/4,50+a/4)),a=n,a},face_tracker_anchor_expression_coefficients:(t,r)=>{let a=Z(t,r),n=new Float32Array(29);return n.set(e.HEAPF32.subarray(a/4,29+a/4)),a=n,a},face_mesh_create:()=>H(),face_mesh_destroy:()=>{W()},face_landmark_create:e=>N(e),face_landmark_destroy:()=>{Y()},barcode_finder_create:e=>K(e),barcode_finder_destroy:()=>{G()},barcode_finder_enabled_set:(e,t)=>J(e,t?1:0),barcode_finder_enabled:e=>{let t=X(e);return t=1===t,t},barcode_finder_found_number:e=>$(e),barcode_finder_found_text:(e,t)=>Q(e,t),barcode_finder_found_format:(e,t)=>ee(e,t),barcode_finder_formats:e=>te(e),barcode_finder_formats_set:(e,t)=>re(e,t),instant_world_tracker_create:e=>ae(e),instant_world_tracker_destroy:()=>{ne()},instant_world_tracker_enabled_set:(e,t)=>ie(e,t?1:0),instant_world_tracker_enabled:e=>{let t=se(e);return t=1===t,t},instant_world_tracker_anchor_pose_raw:t=>{let r=_e(t),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(r/4,16+r/4)),r=a,r},instant_world_tracker_anchor_pose_set_from_camera_offset_raw:(e,t,r,a,n)=>oe(e,t,r,a,n)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.zappar_server=void 0;const a=r(9),n=r(10);t.zappar_server=class{constructor(e,t){this._impl=e,this._sender=t,this._deserializer=new n.MessageDeserializer,this.serializersByPipelineId=new Map,this._pipeline_id_by_pipeline_id=new Map,this._pipeline_by_instance=new Map,this._pipeline_id_by_camera_source_id=new Map,this._camera_source_by_instance=new Map,this._pipeline_id_by_sequence_source_id=new Map,this._sequence_source_by_instance=new Map,this._pipeline_id_by_image_tracker_id=new Map,this._image_tracker_by_instance=new Map,this._pipeline_id_by_face_tracker_id=new Map,this._face_tracker_by_instance=new Map,this._pipeline_id_by_face_mesh_id=new Map,this._face_mesh_by_instance=new Map,this._pipeline_id_by_face_landmark_id=new Map,this._face_landmark_by_instance=new Map,this._pipeline_id_by_barcode_finder_id=new Map,this._barcode_finder_by_instance=new Map,this._pipeline_id_by_instant_world_tracker_id=new Map,this._instant_world_tracker_by_instance=new Map}processBuffer(e){this._deserializer.setData(e),this._deserializer.forMessages((e,t)=>{switch(e){case 34:this._impl.log_level_set(t.logLevel());break;case 31:this._impl.analytics_project_id_set(t.string());break;case 27:{let e=t.type(),r=this._impl.pipeline_create();this._pipeline_by_instance.set(e,r),this._pipeline_id_by_pipeline_id.set(e,e),this.serializersByPipelineId.set(e,new a.MessageSerializer(t=>{this._sender(e,t)}));break}case 28:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_destroy(r),this._pipeline_by_instance.delete(e);break}case 9:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_frame_update(r);break}case 8:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_camera_frame_submit(r,t.dataWithLength(),t.int(),t.int(),t.int(),t.matrix4x4(),t.matrix4x4(),t.bool());break}case 10:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_accelerometer_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 11:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_rotation_rate_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 12:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 13:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_matrix_submit(r,t.matrix4x4());break}case 29:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=t.string(),i=this._impl.camera_source_create(a,n);this._camera_source_by_instance.set(e,i),this._pipeline_id_by_camera_source_id.set(e,r);break}case 30:{let e=t.type(),r=this._camera_source_by_instance.get(e);if(void 0===r)return;this._impl.camera_source_destroy(r),this._camera_source_by_instance.delete(e);break}case 35:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.sequence_source_create(a);this._sequence_source_by_instance.set(e,n),this._pipeline_id_by_sequence_source_id.set(e,r);break}case 36:{let e=t.type(),r=this._sequence_source_by_instance.get(e);if(void 0===r)return;this._impl.sequence_source_destroy(r),this._sequence_source_by_instance.delete(e);break}case 2:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.image_tracker_create(a);this._image_tracker_by_instance.set(e,n),this._pipeline_id_by_image_tracker_id.set(e,r);break}case 14:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_destroy(r),this._image_tracker_by_instance.delete(e);break}case 4:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_target_load_from_memory(r,t.dataWithLength());break}case 3:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_enabled_set(r,t.bool());break}case 20:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.face_tracker_create(a);this._face_tracker_by_instance.set(e,n),this._pipeline_id_by_face_tracker_id.set(e,r);break}case 21:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_destroy(r),this._face_tracker_by_instance.delete(e);break}case 22:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_model_load_from_memory(r,t.dataWithLength());break}case 23:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_enabled_set(r,t.bool());break}case 24:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_max_faces_set(r,t.int());break}case 25:{let e=t.type(),r=this._impl.face_mesh_create();this._face_mesh_by_instance.set(e,r);break}case 26:{let e=t.type(),r=this._face_mesh_by_instance.get(e);if(void 0===r)return;this._impl.face_mesh_destroy(r),this._face_mesh_by_instance.delete(e);break}case 32:{let e=t.type(),r=t.faceLandmarkName(),a=this._impl.face_landmark_create(r);this._face_landmark_by_instance.set(e,a);break}case 33:{let e=t.type(),r=this._face_landmark_by_instance.get(e);if(void 0===r)return;this._impl.face_landmark_destroy(r),this._face_landmark_by_instance.delete(e);break}case 16:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.barcode_finder_create(a);this._barcode_finder_by_instance.set(e,n),this._pipeline_id_by_barcode_finder_id.set(e,r);break}case 17:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_destroy(r),this._barcode_finder_by_instance.delete(e);break}case 18:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_enabled_set(r,t.bool());break}case 19:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_formats_set(r,t.barcodeFormat());break}case 5:{let e=t.type(),r=t.type(),a=this._pipeline_by_instance.get(r),n=this._impl.instant_world_tracker_create(a);this._instant_world_tracker_by_instance.set(e,n),this._pipeline_id_by_instant_world_tracker_id.set(e,r);break}case 15:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_destroy(r),this._instant_world_tracker_by_instance.delete(e);break}case 6:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_enabled_set(r,t.bool());break}case 7:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_anchor_pose_set_from_camera_offset_raw(r,t.float(),t.float(),t.float(),t.instantTrackerTransformOrientation());break}}})}exploreState(){for(let[e,t]of this._pipeline_by_instance){let r=this._pipeline_id_by_pipeline_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);a&&(a.sendMessage(7,r=>{r.type(e),r.int(this._impl.pipeline_frame_number(t))}),a.sendMessage(6,r=>{r.type(e),r.cameraModel(this._impl.pipeline_camera_model(t))}),a.sendMessage(5,r=>{r.type(e),r.int(this._impl.pipeline_camera_frame_user_data(t))}),a.sendMessage(11,r=>{r.type(e),r.matrix4x4(this._impl.pipeline_camera_frame_camera_attitude(t))}),a.sendMessage(12,r=>{r.type(e),r.matrix4x4(this._impl.pipeline_camera_frame_device_attitude(t))}))}for(let[e,t]of this._camera_source_by_instance){let t=this._pipeline_id_by_camera_source_id.get(e);if(!t)continue;this.serializersByPipelineId.get(t)}for(let[e,t]of this._sequence_source_by_instance){let t=this._pipeline_id_by_sequence_source_id.get(e);if(!t)continue;this.serializersByPipelineId.get(t)}for(let[e,t]of this._image_tracker_by_instance){let r=this._pipeline_id_by_image_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(19,r=>{r.type(e),r.int(this._impl.image_tracker_target_loaded_version(t))}),a.sendMessage(21,r=>{r.type(e),r.int(this._impl.image_tracker_target_count(t))}),a.sendMessage(1,r=>{r.type(e),r.int(this._impl.image_tracker_anchor_count(t))});for(let r=0;r<this._impl.image_tracker_anchor_count(t);r++)a.sendMessage(2,a=>{a.type(e),a.int(r),a.string(this._impl.image_tracker_anchor_id(t,r))});for(let r=0;r<this._impl.image_tracker_anchor_count(t);r++)a.sendMessage(3,a=>{a.type(e),a.int(r),a.matrix4x4(this._impl.image_tracker_anchor_pose_raw(t,r))})}}for(let[e,t]of this._face_tracker_by_instance){let r=this._pipeline_id_by_face_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(18,r=>{r.type(e),r.int(this._impl.face_tracker_model_loaded_version(t))}),a.sendMessage(13,r=>{r.type(e),r.int(this._impl.face_tracker_anchor_count(t))});for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(14,a=>{a.type(e),a.int(r),a.string(this._impl.face_tracker_anchor_id(t,r))});for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(15,a=>{a.type(e),a.int(r),a.matrix4x4(this._impl.face_tracker_anchor_pose_raw(t,r))});for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(16,a=>{a.type(e),a.int(r),a.identityCoefficients(this._impl.face_tracker_anchor_identity_coefficients(t,r))});for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)a.sendMessage(17,a=>{a.type(e),a.int(r),a.expressionCoefficients(this._impl.face_tracker_anchor_expression_coefficients(t,r))})}}for(let[e,t]of this._face_mesh_by_instance){let t=this._pipeline_id_by_face_mesh_id.get(e);if(!t)continue;this.serializersByPipelineId.get(t)}for(let[e,t]of this._face_landmark_by_instance){let t=this._pipeline_id_by_face_landmark_id.get(e);if(!t)continue;this.serializersByPipelineId.get(t)}for(let[e,t]of this._barcode_finder_by_instance){let r=this._pipeline_id_by_barcode_finder_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);if(a){a.sendMessage(8,r=>{r.type(e),r.int(this._impl.barcode_finder_found_number(t))});for(let r=0;r<this._impl.barcode_finder_found_number(t);r++)a.sendMessage(9,a=>{a.type(e),a.int(r),a.string(this._impl.barcode_finder_found_text(t,r))});for(let r=0;r<this._impl.barcode_finder_found_number(t);r++)a.sendMessage(10,a=>{a.type(e),a.int(r),a.barcodeFormat(this._impl.barcode_finder_found_format(t,r))})}}for(let[e,t]of this._instant_world_tracker_by_instance){let r=this._pipeline_id_by_instant_world_tracker_id.get(e);if(!r)continue;let a=this.serializersByPipelineId.get(r);a&&a.sendMessage(4,r=>{r.type(e),r.matrix4x4(this._impl.instant_world_tracker_anchor_pose_raw(t))})}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageSerializer=void 0;t.MessageSerializer=class{constructor(e){this._messageSender=e,this._freeBufferPool=[],this._buffer=new ArrayBuffer(16),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1,this._timeoutSet=!1,this._appender={int:e=>this.int(e),bool:e=>this.int(e?1:0),float:e=>this.float(e),string:e=>this.string(e),dataWithLength:e=>this.arrayBuffer(e),type:e=>this.int(e),matrix4x4:e=>this.float32ArrayBuffer(e),matrix3x3:e=>this.float32ArrayBuffer(e),identityCoefficients:e=>this.float32ArrayBuffer(e),expressionCoefficients:e=>this.float32ArrayBuffer(e),cameraModel:e=>this.float32ArrayBuffer(e),timestamp:e=>this.double(e),barcodeFormat:e=>this.int(e),faceLandmarkName:e=>this.int(e),instantTrackerTransformOrientation:e=>this.int(e),logLevel:e=>this.int(e)},this._freeBufferPool.push(new ArrayBuffer(16)),this._freeBufferPool.push(new ArrayBuffer(16))}bufferReturn(e){this._freeBufferPool.push(e)}_ensureArrayBuffer(e){let t=4*(this._offset+e+8);if(this._buffer&&this._buffer.byteLength>=t)return;let r=void 0;if(!r){let e=t;e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e++,r=new ArrayBuffer(e)}let a=this._buffer?this._i32View:void 0;this._buffer=r,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),a&&this._i32View.set(a.subarray(0,this._offset))}sendMessage(e,t){this._ensureArrayBuffer(4),this._startOffset=this._offset,this._i32View[this._offset+1]=e,this._offset+=2,t(this._appender),this._i32View[this._startOffset]=this._offset-this._startOffset,this._startOffset=-1,this._sendOneTime()}_sendOneTime(){!1===this._timeoutSet&&(this._timeoutSet=!0,setTimeout(()=>{this._timeoutSet=!1,this._send()},0))}_send(){0!==this._freeBufferPool.length?(this._i32View[0]=this._offset,this._messageSender(this._buffer),this._buffer=void 0,this._buffer=this._freeBufferPool.pop(),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1):this._sendOneTime()}int(e){this._ensureArrayBuffer(1),this._i32View[this._offset]=e,this._offset++}double(e){this._ensureArrayBuffer(2),this._offset%2==1&&this._offset++,this._f64View[this._offset/2]=e,this._offset+=2}float(e){this._ensureArrayBuffer(1),this._f32View[this._offset]=e,this._offset++}int32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t];this._offset+=e.length}float32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._f32View[this._offset+t]=e[t];this._offset+=e.length}booleanArray(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t]?1:0;this._offset+=e.length}uint8ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8View.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}arrayBuffer(e){let t=new Uint8Array(e);this.uint8ArrayBuffer(t)}uint8ClampedArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8cView.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}float32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._f32View.set(e,this._offset),this._offset+=e.length}uint16ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++;let t=2*this._offset;this._u16View.set(e,t),this._offset+=e.length>>1,0!=(1&e.length)&&this._offset++}int32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._i32View.set(e,this._offset),this._offset+=e.length}uint32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._u32View.set(e,this._offset),this._offset+=e.length}string(e){let t=(new TextEncoder).encode(e);this._ensureArrayBuffer(t.byteLength/4),this._i32View[this._offset]=t.byteLength,this._offset++,this._u8View.set(t,4*this._offset),this._offset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._offset++}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageDeserializer=void 0;t.MessageDeserializer=class{constructor(){this._buffer=new ArrayBuffer(0),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,this._startOffset=-1,this._processor={int:()=>this._i32View[this._startOffset++],bool:()=>1===this._i32View[this._startOffset++],type:()=>this._i32View[this._startOffset++],float:()=>this._f32View[this._startOffset++],timestamp:()=>{this._startOffset%2==1&&this._startOffset++;let e=this._f64View[this._startOffset/2];return this._startOffset+=2,e},string:()=>{let e=this._i32View[this._startOffset++],t=(new TextDecoder).decode(new Uint8Array(this._buffer,4*this._startOffset,e));return this._startOffset+=e>>2,0!=(3&e)&&this._startOffset++,t},dataWithLength:()=>{let e=this._i32View[this._startOffset++],t=new Uint8Array(e);return t.set(this._u8View.subarray(4*this._startOffset,4*this._startOffset+e)),this._startOffset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._startOffset++,t.buffer},matrix4x4:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+16)),this._startOffset+=e,t},matrix3x3:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+9)),this._startOffset+=e,t},identityCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+50)),this._startOffset+=e,t},expressionCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+29)),this._startOffset+=e,t},cameraModel:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+6)),this._startOffset+=e,t},barcodeFormat:()=>this._i32View[this._startOffset++],faceLandmarkName:()=>this._i32View[this._startOffset++],instantTrackerTransformOrientation:()=>this._i32View[this._startOffset++],logLevel:()=>this._i32View[this._startOffset++]}}setData(e){this._buffer=e,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,e.byteLength>=4&&(this._offset=1,this._length=this._i32View[0]),this._startOffset=-1}hasMessage(){return this._offset+1<this._length}forMessages(e){for(;this.hasMessage();){let t=this._i32View[this._offset],r=this._i32View[this._offset+1];this._startOffset=this._offset+2,this._offset+=t,e(r,this._processor)}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MsgManager=void 0;const a=r(12);t.MsgManager=class{constructor(){this.onOutgoingMessage=new a.Event,this.onIncomingMessage=new a.Event1,this._outgoingMessages=[]}postIncomingMessage(e){this.onIncomingMessage.emit(e)}postOutgoingMessage(e,t){this._outgoingMessages.push({msg:e,transferables:t}),this.onOutgoingMessage.emit()}getOutgoingMessages(){let e=this._outgoingMessages;return this._outgoingMessages=[],e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Event5=t.Event3=t.Event2=t.Event1=t.Event=void 0;t.Event=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(){for(var e=0,t=this._funcs.length;e<t;e++)this._funcs[e]()}};t.Event1=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e){for(var t=0,r=this._funcs.length;t<r;t++)this._funcs[t](e)}};t.Event2=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t){for(var r=0,a=this._funcs.length;r<a;r++)this._funcs[r](e,t)}};t.Event3=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t,r){for(var a=0,n=this._funcs.length;a<n;a++)this._funcs[a](e,t,r)}};t.Event5=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t,r,a,n){for(var i=0,s=this._funcs.length;i<s;i++)this._funcs[i](e,t,r,a,n)}}},function(e,t,r){"use strict";r.r(t),t.default=r.p+"a20150d17b0290cadaa6cb9911ab9500.wasm"}]);',"Worker",void 0,r.p+"zappar-cv.worker.js")}},function(e,t,r){"use strict";r.r(t),t.default=r.p+"a20150d17b0290cadaa6cb9911ab9500.wasm"},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function o(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.permissionDeniedUI=t.permissionRequestUI=t.permissionRequestMotion=t.permissionRequestCamera=t.permissionRequestAll=t.permissionGrantedAll=t.permissionDeniedAny=t.permissionDeniedMotion=t.permissionDeniedCamera=t.permissionGrantedMotion=t.permissionGrantedCamera=void 0;let a=new(r(9).UAParser),i=!1,s=!1,o=!1,c=!1;function u(){return n(this,void 0,void 0,(function*(){if(navigator.permissions&&navigator.permissions.query)try{let e=yield navigator.permissions.query({name:"camera"});o="denied"===e.state,i="granted"===e.state}catch(e){}}))}function _(){return o||c}function f(){return i&&s}function l(){return n(this,void 0,void 0,(function*(){yield h(),yield d()}))}function d(){return n(this,void 0,void 0,(function*(){try{(yield navigator.mediaDevices.getUserMedia({video:!0})).getTracks().forEach(e=>e.stop()),i=!0,o=!1}catch(e){i=!1,o=!0}}))}function h(){return n(this,void 0,void 0,(function*(){if(window.DeviceOrientationEvent&&window.DeviceOrientationEvent.requestPermission){if("granted"!==(yield window.DeviceOrientationEvent.requestPermission()))return s=!1,c=!0,!1}s=!0,c=!1}))}window.DeviceOrientationEvent&&window.DeviceOrientationEvent.requestPermission||(s=!0),u(),t.permissionGrantedCamera=function(){return i},t.permissionGrantedMotion=function(){return s},t.permissionDeniedCamera=function(){return o},t.permissionDeniedMotion=function(){return c},t.permissionDeniedAny=_,t.permissionGrantedAll=f,t.permissionRequestAll=l,t.permissionRequestCamera=d,t.permissionRequestMotion=h,t.permissionRequestUI=function(){return n(this,void 0,void 0,(function*(){if(yield u(),f())return!0;let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML='\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n max-width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">Almost there...</div>\n <div class="zappar-text">In order to provide this augmented reality experience, we need access to your device\'s camera and motion sensors.</div>\n <button id="zappar-permission-request-button">Grant Access</button>\n </div>\n',document.body.append(e);let t=e.querySelector("#zappar-permission-request-button");return yield new Promise(r=>{null==t||t.addEventListener("click",()=>n(this,void 0,void 0,(function*(){for(yield l(),e.remove();;){if(yield new Promise(e=>requestAnimationFrame(()=>e())),_())return void r(!1);if(f())return void r(!0)}})))})}))},t.permissionDeniedUI=function(){switch(a.getBrowser().name){case"Chrome":!function(){let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML='\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">Permission is Needed</div>\n <div class="zappar-text">Permission to access your device\'s camera and motion sensors is necessary for this experience.<br/><br/>To grant access, please tap the ! button in the address bar of your browser, then "Site settings", and finally "Clear and reset". You can then reload the page to try again.</div>\n <button id="zappar-permission-reload-button">Reload</button>\n </div>\n',document.body.append(e);let t=e.querySelector("#zappar-permission-reload-button");null==t||t.addEventListener("click",()=>window.location.reload())}();break;default:!function(){let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML='\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n max-width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">Permission is Needed</div>\n <div class="zappar-text">Permission to access your device\'s camera and motion sensors is necessary for this experience. Please reload the page to try again.</div>\n <button id="zappar-permission-reload-button">Reload</button>\n </div>\n',document.body.append(e);let t=e.querySelector("#zappar-permission-reload-button");null==t||t.addEventListener("click",()=>window.location.reload())}()}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FaceMesh=t.getFaceMesh=t.destroyFaceMesh=t.createFaceMesh=void 0;const n=r(1),a=r(0);let i=1,s=new Map;t.createFaceMesh=function(){let e=i++;return s.set(e,new o),a.zcout("face_mesh_t initialized"),e},t.destroyFaceMesh=function(e){s.delete(e)},t.getFaceMesh=function(e){return s.get(e)};class o{constructor(){this.render_mean_=new Float32Array,this.render_identity_=new Float32Array(50),this.render_expression_=new Float32Array(29),this.render_uvs_=new Float32Array,this.render_indices_=new Uint16Array,this.vertices_=new Float32Array,this.normals_=new Float32Array,this.normalsCalculated_=!1,this.modelVersion_=-1,this.mirrored_=!1}loadFromMemory(e,t,r,n,a){let i=0,s=new Uint16Array(e),o=new Int32Array(e),c=new Float32Array(e),u=()=>{let e=o[i++]*o[i++],t=c.subarray(i,i+e);return i+=e,t},_=()=>{let e=o[i++],t=s.subarray(2*i,2*i+e);return i+=e/2,t};this.render_mean_=u(),this.render_identity_=u(),this.render_expression_=u(),this.render_uvs_=u();let f=_(),l=i<o.length?_():new Uint16Array,d=i<o.length?_():new Uint16Array,h=i<o.length?_():new Uint16Array,p=i<o.length?_():new Uint16Array;if(t||r||n||a){let e=f.length;t&&(e+=l.length),r&&(e+=d.length),n&&(e+=h.length),a&&(e+=p.length),this.render_indices_=new Uint16Array(e),this.render_indices_.set(f,0);let i=f.length;t&&(this.render_indices_.set(l,i),i+=l.length),r&&(this.render_indices_.set(d,i),i+=d.length),n&&(this.render_indices_.set(h,i),i+=h.length),a&&(this.render_indices_.set(p,i),i+=p.length)}else this.render_indices_=f;this.vertices_=new Float32Array(this.render_mean_),this.normals_=new Float32Array(this.vertices_.length),this.modelVersion_++}getVertices(){return this.vertices_}getUVs(){return this.render_uvs_}getIndices(){if(this.mirrored_){if(!this.render_indices_reversed){this.render_indices_reversed=new Uint16Array(this.render_indices_.length);for(let e=0;e<this.render_indices_.length;e+=3)this.render_indices_reversed[e]=this.render_indices_[e+2],this.render_indices_reversed[e+1]=this.render_indices_[e+1],this.render_indices_reversed[e+2]=this.render_indices_[e]}return this.render_indices_reversed}return this.render_indices_}getNormals(){return this.normalsCalculated_||this.calculateNormals(),this.normals_}getModelVersion(){return this.modelVersion_}getLandmarkDataForVertex(e){let t=[this.render_mean_[3*e],this.render_mean_[3*e+1],this.render_mean_[3*e+2]],r=[];for(let t=0;t<50;t++)r.push(this.render_identity_[3*e*50+t]),r.push(this.render_identity_[50*(3*e+1)+t]),r.push(this.render_identity_[50*(3*e+2)+t]);let n=[];for(let t=0;t<29;t++)n.push(this.render_expression_[3*e*29+t]),n.push(this.render_expression_[29*(3*e+1)+t]),n.push(this.render_expression_[29*(3*e+2)+t]);return{mean:t,identity:r,expression:n}}update(e,t,r){if(0!==this.render_mean_.length&&0!==this.render_identity_.length&&0!==this.render_expression_.length){this.mirrored_=r,this.vertices_.set(this.render_mean_);for(let t=0;t<e.length;t++)for(let r=0;r<this.vertices_.length;r++)this.vertices_[r]+=e[t]*this.render_identity_[r*e.length+t];for(let e=0;e<t.length;e++)for(let r=0;r<this.vertices_.length;r++)this.vertices_[r]+=t[e]*this.render_expression_[r*t.length+e];if(r)for(let e=0;e<this.vertices_.length;e+=3)this.vertices_[e]*=-1;this.normalsCalculated_=!1}}calculateNormals(){let e=this.getIndices(),t=this.vertices_,r=new Float32Array(e.length);if(!t)return;let a=e.length,i=this.normals_,s=new Float32Array([0,0,0]),o=new Float32Array([0,0,0]),c=new Float32Array([0,0,0]);for(let i=0;i<a;i+=3){let a=3*e[i],u=3*e[i+1],_=3*e[i+2];s[0]=t[u]-t[a],s[1]=t[u+1]-t[a+1],s[2]=t[u+2]-t[a+2],o[0]=t[_]-t[a],o[1]=t[_+1]-t[a+1],o[2]=t[_+2]-t[a+2],n.vec3.cross(c,s,o);let f=n.vec3.length(c);r[i]=c[0]/f,r[i+1]=c[1]/f,r[i+2]=c[2]/f}i.fill(0);for(let t=0;t<a;t+=3){let n=3*e[t],a=3*e[t+1],s=3*e[t+2];i[n]+=r[t],i[n+1]+=r[t+1],i[n+2]+=r[t+2],i[a]+=r[t],i[a+1]+=r[t+1],i[a+2]+=r[t+2],i[s]+=r[t],i[s+1]+=r[t+1],i[s+2]+=r[t+2]}let u=i.length/3;for(let e=0;e<u;e++){let t=3*e;s[0]=i[t],s[1]=i[t+1],s[2]=i[t+2],n.vec3.normalize(o,s),i[t]=o[0],i[t+1]=o[1],i[t+2]=o[2]}this.normalsCalculated_=!0}}t.FaceMesh=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.cameraFrameTextureMatrix=t.CameraDraw=void 0;const n=r(2),a=r(1);t.CameraDraw=class{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._vbo=void 0,this._shader&&this._gl.deleteProgram(this._shader.prog),this._shader=void 0}_generate(e,t){if(this._vbo)return this._vbo;if(this._vbo||(this._vbo=e.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");let r=new Float32Array([-1,-1,0,0,0,-1,1,0,0,1,1,-1,0,1,0,1,-1,0,1,0,-1,1,0,0,1,1,1,0,1,1]);return e.bindBuffer(e.ARRAY_BUFFER,this._vbo),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),this._vbo}drawCameraFrame(e,t,r,n){if(!r.texture)return;let a=this._gl;a.disable(a.DEPTH_TEST),a.disable(a.SCISSOR_TEST),a.disable(a.CULL_FACE),a.disable(a.BLEND);let i=this._getCameraShader(a),s=this._generate(a,r);a.activeTexture(a.TEXTURE0),a.useProgram(i.prog),a.uniformMatrix4fv(i.unif_skinTexTransform,!1,o(r.dataWidth,r.dataHeight,e,t,r.uvTransform,n)),a.uniform1i(i.unif_skinSampler,0),a.bindTexture(a.TEXTURE_2D,r.texture),a.bindBuffer(a.ARRAY_BUFFER,s),a.vertexAttribPointer(i.attr_position,3,a.FLOAT,!1,20,0),a.enableVertexAttribArray(i.attr_position),a.vertexAttribPointer(i.attr_texCoord,2,a.FLOAT,!1,20,12),a.enableVertexAttribArray(i.attr_texCoord),a.drawArrays(a.TRIANGLES,0,6),a.disableVertexAttribArray(i.attr_position),a.disableVertexAttribArray(i.attr_texCoord),a.bindTexture(a.TEXTURE_2D,null),a.bindBuffer(a.ARRAY_BUFFER,null),a.useProgram(null)}_getCameraShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=n.compileShader(e,e.VERTEX_SHADER,i),a=n.compileShader(e,e.FRAGMENT_SHADER,s);e.attachShader(t,r),e.attachShader(t,a),n.linkProgram(e,t);let o=e.getUniformLocation(t,"skinTexTransform");if(!o)throw new Error("Unable to get uniform location skinTexTransform");let c=e.getUniformLocation(t,"skinSampler");if(!c)throw new Error("Unable to get uniform location skinSampler");return this._shader={prog:t,unif_skinTexTransform:o,unif_skinSampler:c,attr_position:e.getAttribLocation(t,"position"),attr_texCoord:e.getAttribLocation(t,"texCoord")},this._shader}};let i="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nattribute vec4 position;\nattribute vec4 texCoord;\nvarying vec4 skinTexVarying;\nuniform mat4 skinTexTransform;\n\nvoid main()\n{\n gl_Position = position;\n skinTexVarying = skinTexTransform * texCoord;\n}",s="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying vec4 skinTexVarying;\nuniform lowp sampler2D skinSampler;\n\nvoid main()\n{\n gl_FragColor = texture2DProj(skinSampler, skinTexVarying);\n}";function o(e,t,r,n,i,s){let o=a.mat4.create(),c=a.mat4.create();a.mat4.fromTranslation(c,[-.5,-.5,0]),a.mat4.multiply(o,c,o),s&&(a.mat4.fromScaling(c,[-1,1,1]),a.mat4.multiply(o,c,o)),a.mat4.fromRotation(c,-1*function(){if(window.screen.orientation)switch(window.screen.orientation.type){case"portrait-primary":return 270;case"landscape-secondary":return 180;case"portrait-secondary":return 90;default:return 0}else if(void 0!==window.orientation)switch(window.orientation){case 0:return 270;case 90:return 0;case 180:return 90;case-90:return 180}return 0}()*Math.PI/180,[0,0,1]),a.mat4.multiply(o,c,o);let u=a.vec3.create();u[0]=r,u[1]=n,u[2]=0,a.vec3.transformMat4(u,u,c);let _=Math.abs(u[0]),f=Math.abs(u[1]);a.mat4.fromScaling(c,[1,-1,1]),a.mat4.multiply(o,c,o);let l=_/f,d=e/t;return l>d?a.mat4.fromScaling(c,[1,d/l,1]):a.mat4.fromScaling(c,[l/d,1,1]),a.mat4.multiply(o,c,o),a.mat4.fromTranslation(c,[.5,.5,0]),a.mat4.multiply(o,c,o),a.mat4.multiply(o,i,o),o}t.cameraFrameTextureMatrix=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FaceDraw=void 0;const n=r(2);t.FaceDraw=class{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._normalbo&&this._gl.deleteBuffer(this._normalbo),this._ibo&&this._gl.deleteBuffer(this._ibo),this._shader&&this._gl.deleteProgram(this._shader.prog),this._vbo=void 0,this._normalbo=void 0,this._ibo=void 0,this._shader=void 0}_generateIBO(e,t){if(this._ibo&&this._lastIndices===e)return this._ibo;if(this._lastIndices=e,this._ibo||(this._ibo=t.createBuffer()),!this._ibo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this._ibo),t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),this._ibo}_generateVBO(e,t){if(this._vbo||(this._vbo=t.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._vbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._vbo}_generateNormalBO(e,t){if(this._normalbo||(this._normalbo=t.createBuffer()),!this._normalbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._normalbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._normalbo}drawFace(e,t){let r=this._gl,n=this._getShader(r),a=this._generateVBO(t.getVertices(),r),i=this._generateNormalBO(t.getNormals(),r),s=this._generateIBO(t.getIndices(),r);r.enable(r.DEPTH_TEST),r.enable(r.CULL_FACE),r.useProgram(n.prog),r.uniformMatrix4fv(n.unif_matrix,!1,e),r.bindBuffer(r.ARRAY_BUFFER,a),r.vertexAttribPointer(n.attr_position,3,r.FLOAT,!1,12,0),r.enableVertexAttribArray(n.attr_position),r.bindBuffer(r.ARRAY_BUFFER,i),r.vertexAttribPointer(n.attr_normal,3,r.FLOAT,!1,12,0),r.enableVertexAttribArray(n.attr_normal),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,s),r.drawElements(r.TRIANGLES,t.getIndices().length,r.UNSIGNED_SHORT,0),r.disableVertexAttribArray(n.attr_position),r.disableVertexAttribArray(n.attr_normal),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,null)}_getShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=n.compileShader(e,e.VERTEX_SHADER,a),s=n.compileShader(e,e.FRAGMENT_SHADER,i);e.attachShader(t,r),e.attachShader(t,s),n.linkProgram(e,t);let o=e.getUniformLocation(t,"matrix");if(!o)throw new Error("Unable to get uniform location mattrix");return this._shader={prog:t,unif_matrix:o,attr_position:e.getAttribLocation(t,"position"),attr_normal:e.getAttribLocation(t,"normal")},this._shader}};let a="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 matrix;\nattribute vec4 position;\nattribute vec3 normal;\nvarying highp vec3 vnormal;\n\nvoid main()\n{\n gl_Position = matrix * position;\n vnormal = normal;\n}",i="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying vec4 skinTexVarying;\nvarying highp vec3 vnormal;\nuniform lowp sampler2D skinSampler;\n\nvoid main()\n{\n vec3 normal2 = 0.5 * vnormal + 0.5;\n gl_FragColor = vec4(normal2.x , normal2.y, normal2.z, 1.0);\n}"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FaceDrawProject=void 0;const n=r(2);t.FaceDrawProject=class{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._uvbo&&this._gl.deleteBuffer(this._uvbo),this._ibo&&this._gl.deleteBuffer(this._ibo),this._shader&&this._gl.deleteProgram(this._shader.prog),this._vbo=void 0,this._uvbo=void 0,this._ibo=void 0,this._shader=void 0}_generateIBO(e,t){if(this._ibo&&this._lastIndices===e)return this._ibo;if(this._lastIndices=e,this._ibo||(this._ibo=t.createBuffer()),!this._ibo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this._ibo),t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),this._ibo}_generateVBO(e,t){if(this._vbo||(this._vbo=t.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._vbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._vbo}_generateUVBO(e,t){if(this._uvbo||(this._uvbo=t.createBuffer()),!this._uvbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._uvbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._uvbo}drawFace(e,t,r,n,a,i){let s=this._gl,o=this._getShader(s),c=this._generateVBO(t,s),u=this._generateUVBO(n,s),_=this._generateIBO(a,s);s.enable(s.DEPTH_TEST),s.enable(s.CULL_FACE),s.useProgram(o.prog),s.uniformMatrix4fv(o.unif_matrix,!1,e),s.uniformMatrix4fv(o.unif_uvmatrix,!1,r),s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,i),s.uniform1i(o.unif_sampler,0),s.bindBuffer(s.ARRAY_BUFFER,c),s.vertexAttribPointer(o.attr_position,3,s.FLOAT,!1,12,0),s.enableVertexAttribArray(o.attr_position),s.bindBuffer(s.ARRAY_BUFFER,u),s.vertexAttribPointer(o.attr_uv,3,s.FLOAT,!1,12,0),s.enableVertexAttribArray(o.attr_uv),s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,_),s.drawElements(s.TRIANGLES,6912,s.UNSIGNED_SHORT,0),s.disableVertexAttribArray(o.attr_position),s.disableVertexAttribArray(o.attr_uv),s.bindBuffer(s.ARRAY_BUFFER,null),s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,null)}_getShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=n.compileShader(e,e.VERTEX_SHADER,a),s=n.compileShader(e,e.FRAGMENT_SHADER,i);e.attachShader(t,r),e.attachShader(t,s),n.linkProgram(e,t);let o=e.getUniformLocation(t,"matrix");if(!o)throw new Error("Unable to get uniform location matrix");let c=e.getUniformLocation(t,"uvmatrix");if(!c)throw new Error("Unable to get uniform location matrix");let u=e.getUniformLocation(t,"uSampler");if(!u)throw new Error("Unable to get uniform location sampler");return this._shader={prog:t,unif_matrix:o,unif_sampler:u,unif_uvmatrix:c,attr_position:e.getAttribLocation(t,"position"),attr_uv:e.getAttribLocation(t,"uv"),attr_texturecoord:e.getAttribLocation(t,"aTextureCoord")},this._shader}};let a="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 matrix;\nuniform mat4 uvmatrix;\nattribute vec4 position;\nattribute vec3 normal;\nattribute vec3 uv;\n\n// varying highp vec3 vnormal;\n\nvarying highp vec2 vTextureCoord;\nvarying highp float vAlpha;\n\nvoid main()\n{\n gl_Position = matrix * position;\n vec4 ret = uvmatrix * vec4(uv.x, uv.y, uv.z, 1.0);\n ret.x /= ret.w * 2.0;\n ret.y /= ret.w * 2.0;\n ret.x += 0.5;\n ret.y += 0.0;\n vAlpha = 1.0;\n vTextureCoord = ret.xy;\n}",i="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying highp vec2 vTextureCoord;\nvarying highp vec3 vnormal;\nvarying highp float vAlpha;\nuniform lowp sampler2D uSampler;\n\nvoid main()\n{\n // vec3 normal2 = 0.5 * vnormal + 0.5;\n vec4 p = texture2D(uSampler, vTextureCoord);\n p.a = vAlpha;\n gl_FragColor = p; // vec4(normal2.x , normal2.y, normal2.z, 1.0);\n}"},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function o(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,o)}c((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.CameraSource=void 0;const a=r(12),i=r(14),s=r(4),o=r(6),c=r(0);let u=1,_=new Map,f=document.createElement("video");f.setAttribute("playsinline",""),f.setAttribute("webkit-playsinline",""),i.profile.videoElementInDOM&&(f.style.width="0px",f.style.height="0px",document.body.appendChild(f));class l extends a.HTMLElementSource{constructor(e,t,r){super(f,t),this._impl=e,this._deviceId=r,this._currentStream=null,this._activeDeviceId=null,this._hasStartedOrientation=!1,this._deviceMotionListener=e=>{let t=s.Pipeline.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.accelerationIncludingGravity&&null!==e.accelerationIncludingGravity.x&&null!==e.accelerationIncludingGravity.y&&null!==e.accelerationIncludingGravity.z&&t.motionAccelerometerSubmit(r,e.accelerationIncludingGravity.x*i.profile.deviceMotionMutliplier,e.accelerationIncludingGravity.y*i.profile.deviceMotionMutliplier,e.accelerationIncludingGravity.z*i.profile.deviceMotionMutliplier),null===e.rotationRate||null===e.rotationRate.alpha||null===e.rotationRate.beta||null===e.rotationRate.gamma||this._hasStartedOrientation?this._hasStartedOrientation||this._startDeviceOrientation():(e.timeStamp,t.motionRotationRateSubmit(r,e.rotationRate.alpha*Math.PI/-180,e.rotationRate.beta*Math.PI/-180,e.rotationRate.gamma*Math.PI/-180))}}static create(e,t){let r=u++;return _.set(r,new l(r,e,t)),c.zcout("camera_source_t initialized"),r}static get(e){return _.get(e)}destroy(){_.delete(this._impl),super.destroy()}_stop(){if(!this._currentStream)return;this._currentStream.getTracks().forEach(e=>e.stop()),this._currentStream=null}pause(){super.pause(),this._stopDeviceMotion(),this._syncCamera()}start(){super.start(),this._startDeviceMotion(),this._syncCamera()}_getConstraints(){return n(this,void 0,void 0,(function*(){let e,t;this._deviceId!==l.DEFAULT_DEVICE_ID&&this._deviceId!==l.USER_DEFAULT_DEVICE_ID?e=this._deviceId:t=this._deviceId===l.DEFAULT_DEVICE_ID?"environment":"user";let r={audio:!1,video:{facingMode:t,width:i.profile.videoWidth,height:i.profile.videoHeight,frameRate:i.profile.requestHighFrameRate?60:void 0,deviceId:e}};if(e)return r;if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return r;let n=yield navigator.mediaDevices.enumerateDevices(),a=!1;return n=n.filter(e=>{if("videoinput"!==e.kind)return!1;if(e.getCapabilities){a=!0;let r=e.getCapabilities();if(r&&r.facingMode&&r.facingMode.indexOf("user"===t?"user":"environment")<0)return!1}return!0}),a&&0!==n.length?("object"==typeof r.video&&(c.zcout("choosing device ID",n[n.length-1].deviceId),r.video.deviceId=n[n.length-1].deviceId),r):r}))}getFrame(e){return this._cameraToScreenRotation=o.cameraRotationForScreenOrientation(!1),super.getFrame(e)}_getUserMedia(){return n(this,void 0,void 0,(function*(){let e=yield this._getConstraints();return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?yield navigator.mediaDevices.getUserMedia(e):yield new Promise((t,r)=>{navigator.getUserMedia(e,t,r)})}))}_syncCamera(){return n(this,void 0,void 0,(function*(){if(this._currentStream&&this._isPaused)this._stop();else if(this._currentStream&&this._activeDeviceId!==this._deviceId&&this._stop(),!this._isPaused){if(this._activeDeviceId=this._deviceId,this._currentStream=yield this._getUserMedia(),this._isPaused)return void(yield this._syncCamera());if(this._isUserFacing=!1,this._currentStream){let e=this._currentStream.getVideoTracks();e.length>0&&(this._isUserFacing="user"===e[0].getSettings().facingMode)}if(!(this._video instanceof HTMLVideoElement))return;this._video.src="",this._video.loop=!1,this._video.muted=!0,this._video.srcObject=this._currentStream,this._video.play()}}))}_startDeviceOrientation(){this._hasStartedOrientation||(this._hasStartedOrientation=!0,this._deviceOrientationListener=e=>{let t=s.Pipeline.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.alpha&&null!==e.beta&&null!==e.gamma&&t.motionAttitudeSubmit(r,e.alpha,e.beta,e.gamma)},window.addEventListener("deviceorientation",this._deviceOrientationListener))}_startDeviceMotion(){window.addEventListener("devicemotion",this._deviceMotionListener,!1)}_stopDeviceMotion(){window.removeEventListener("devicemotion",this._deviceMotionListener),this._deviceOrientationListener&&window.removeEventListener("deviceorientation",this._deviceOrientationListener)}}t.CameraSource=l,l.USER_DEFAULT_DEVICE_ID="Simulated User Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b",l.DEFAULT_DEVICE_ID="Simulated Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FaceLandmark=t.getFaceLandmark=t.destroyFaceLandmark=t.createFaceLandmark=void 0;const n=r(1),a=r(34),i=r(0);let s=1,o=new Map;t.createFaceLandmark=function(e){let t=s++;return o.set(t,new c(e)),i.zcout("face_landmark_t initialized"),t},t.destroyFaceLandmark=function(e){o.delete(e)},t.getFaceLandmark=function(e){return o.get(e)};class c{constructor(e){this._name=e,this.anchor_pose=n.mat4.create()}_getVertex(e,t,r){let n=r.mean.slice();for(let t=0;t<50;t++)n[0]+=e[t]*r.identity[3*t+0],n[1]+=e[t]*r.identity[3*t+1],n[2]+=e[t]*r.identity[3*t+2];for(let e=0;e<29;e++)n[0]+=t[e]*r.expression[3*e+0],n[1]+=t[e]*r.expression[3*e+1],n[2]+=t[e]*r.expression[3*e+2];return n}update(e,t,r){let i,s=a.landmarkData[this._name.toString()];if(s){if(Array.isArray(s)){i=this._getVertex(e,t,s[0]);let r=this._getVertex(e,t,s[1]);i[0]=.5*(i[0]+r[0]),i[1]=.5*(i[1]+r[1]),i[2]=.5*(i[2]+r[2])}else i=this._getVertex(e,t,s);r&&(i[0]*=-1),n.mat4.fromTranslation(this.anchor_pose,i)}}}t.FaceLandmark=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.landmarkData=void 0,t.landmarkData={0:[{mean:[.235,.2344,.7305],identity:[.008,.0087,.0024,-.0026,6e-4,-.0022,5e-4,.0033,.0026,.0017,-.0055,-8e-4,.0011,.0059,0,2e-4,.001,-.001,-.0044,-.0011,-1e-4,.0024,.0019,-9e-4,4e-4,-.0015,0,.0038,.0013,3e-4,.002,-.0021,.0018,.0023,.0011,.0012,-.0011,-.0017,9e-4,-.0012,-8e-4,7e-4,-.0017,.0029,-.0029,8e-4,-.0027,8e-4,-.0017,4e-4,9e-4,-.001,-3e-4,8e-4,-.0016,-3e-4,-7e-4,.0016,-9e-4,.0021,-5e-4,.0011,-.0024,-1e-4,6e-4,1e-4,-.0026,-4e-4,-3e-4,-9e-4,5e-4,3e-4,-8e-4,-.001,-4e-4,-8e-4,.0022,-.0014,-1e-4,-.0023,0,-.0018,7e-4,-.0036,.0017,.0017,-.0018,-2e-4,-4e-4,-9e-4,-8e-4,3e-4,.0012,9e-4,-4e-4,-.0016,5e-4,-.0013,.0011,.0023,.0029,.0024,.0017,-.0027,-4e-4,-.001,-.0018,-.0015,-.001,.001,-.0013,-1e-4,-2e-4,7e-4,3e-4,3e-4,-.0016,9e-4,-.0021,4e-4,.0014,.002,-7e-4,-4e-4,2e-4,-4e-4,-6e-4,-9e-4,.0015,4e-4,-4e-4,5e-4,-.0015,9e-4,3e-4,3e-4,-2e-4,-8e-4,-9e-4,.0023,4e-4,1e-4,-4e-4,-1e-4,7e-4,2e-4,.001,1e-4,-.0029,-5e-4],expression:[0,3e-4,.0052,-7e-4,-.0051,-.0103,0,.0019,.0027,-.0054,.0135,.035,-5e-4,-6e-4,.0025,-.0045,-.0557,-.003,-.0191,-.1199,.0548,-.0036,-.0682,-.0167,2e-4,-.0085,-.0085,.0044,.0041,-.0568,.0044,.179,.0065,-.0017,-.1006,.0036,-.0267,-.3279,.0301,-.0011,-.0173,-.001,.0046,.2808,.0207,.0162,.238,-.0225,.0017,.1041,.0203,5e-4,.0161,.0031,-.0436,.6504,.0873,-.0099,.1039,.0048,-.0254,.2534,-.0042,.003,-.0106,-.0153,-.0118,.0252,9e-4,-.0071,.0099,.007,-.0724,.0461,-.0235,.0833,.004,.0141,-.0219,.0132,-.0042,-.0179,.0045,-.0215,.3638,.0054,-.0445]},{mean:[.2358,.1466,.7183],identity:[.0077,.0093,1e-4,-.0022,0,-.0041,5e-4,.0022,.0028,.0018,-.0038,-.0013,.001,.0044,-2e-4,0,.0017,-.0016,-.0043,-2e-4,-1e-4,.0023,9e-4,5e-4,-7e-4,-4e-4,-.0017,.003,7e-4,6e-4,.0011,-.0018,5e-4,.0018,-8e-4,4e-4,-.0023,-6e-4,-3e-4,-.0015,-.0014,-1e-4,-.0018,.0027,-.0026,3e-4,-.0031,.0011,-.0026,-.0011,.0012,-.0013,-2e-4,7e-4,-.0021,.0021,4e-4,.0012,-.001,.002,-3e-4,2e-4,-.0026,-3e-4,.001,1e-4,-.0018,-.001,9e-4,-.0011,.001,4e-4,-8e-4,-7e-4,-.001,-3e-4,7e-4,-5e-4,-6e-4,-.0019,-5e-4,-.002,7e-4,-.0027,.0014,.0013,6e-4,-5e-4,-3e-4,-3e-4,-.001,0,.0019,1e-4,6e-4,-.0012,4e-4,-9e-4,4e-4,.0025,3e-4,.0024,.0017,-9e-4,-.0015,-.0015,-.001,-.0023,-.001,-5e-4,-4e-4,8e-4,9e-4,7e-4,2e-4,7e-4,-9e-4,9e-4,-.0013,1e-4,9e-4,2e-4,6e-4,-6e-4,-8e-4,-4e-4,-7e-4,8e-4,.0019,3e-4,.0015,2e-4,-.0015,-3e-4,0,6e-4,3e-4,6e-4,-6e-4,2e-4,5e-4,-4e-4,.0012,-4e-4,2e-4,-8e-4,6e-4,-4e-4,2e-4,-.0021],expression:[-.0034,.0054,.0069,.004,6e-4,-.0104,-3e-4,.0036,.0025,.0065,.0296,.0208,-9e-4,.0154,.0029,-.0167,.0124,.004,-.0102,.0351,.028,-.019,.0146,-.0035,-.0023,-.0069,-.0051,-.01,.0262,-.028,.0112,.082,.023,-.0019,-.066,-.0104,-.0408,.0164,.0075,-.0074,.0367,.0041,.0517,-.0207,.0045,.0291,-.0672,-.0129,.0345,-.1558,-.0106,.0037,-.0437,-.0021,.0854,-.1121,.0187,.0041,.0072,.0011,.0193,-.0143,-.0119,.005,-.02,-.0122,-.008,.0527,.0036,-.006,.0222,.007,-.0429,.046,-.0046,.0226,-.0059,.0202,-.0173,.0087,0,-.0067,-.0095,-.0153,.1506,-.0017,.0021]}],1:[{mean:[-.2271,.2323,.7319],identity:[-.0084,.0097,.0018,.0041,2e-4,-.002,-.0012,.0036,.0019,-9e-4,-.0063,-.001,-3e-4,.0053,6e-4,1e-4,5e-4,-.0015,.0044,-.0025,-.0015,-.002,.0016,-6e-4,2e-4,-.0013,0,-.0022,2e-4,2e-4,-.0025,-.0014,.0015,8e-4,2e-4,.0012,6e-4,-6e-4,.0017,0,3e-4,-1e-4,.0024,.0025,-.0029,-.0015,-.0015,1e-4,.0031,-.0016,7e-4,.0019,6e-4,.002,9e-4,.001,-.0014,-.002,-.0015,.0029,1e-4,5e-4,-.0023,8e-4,-.0011,.0019,.0017,-3e-4,-.0011,-3e-4,.0011,-8e-4,.0019,-.0022,1e-4,.0015,.0017,-8e-4,-.0011,-.0022,3e-4,.0022,6e-4,-.003,-2e-4,0,-.0017,-2e-4,0,1e-4,4e-4,.0012,.0019,-.0014,4e-4,-.0017,-.0012,-.0011,.0021,-.0029,.0026,.0018,-.0023,-.0029,1e-4,.0014,-.0019,-4e-4,-4e-4,.0023,-.0016,0,-9e-4,.0014,-.0015,.0015,-.0016,-.0011,-.0022,1e-4,-.0018,.0027,-.0013,4e-4,-1e-4,-5e-4,.0011,-2e-4,.0015,5e-4,-9e-4,-1e-4,.0029,6e-4,0,-3e-4,7e-4,-8e-4,-5e-4,.0025,3e-4,2e-4,-8e-4,-1e-4,3e-4,0,.0014,2e-4,-.0024,1e-4],expression:[-.0025,-9e-4,.006,.004,-.0027,-.0113,-8e-4,.001,.0031,-.0016,.0144,.0382,-3e-4,-5e-4,.0035,-.0044,-.0511,-.0014,-7e-4,-.1007,.0582,-6e-4,-.0606,-.0165,5e-4,-.0087,-.0093,.0036,.0057,-.0576,-.0039,.1488,.0127,.0016,-.0666,-9e-4,-.0153,.3162,-.0445,-.0021,.0023,.0043,-.0033,.2382,.0063,-.0217,.167,-.039,.0097,-.1144,-.0189,-.0145,.6831,.0632,-.0012,-.1959,-.0133,4e-4,.1108,-3e-4,.0062,.2593,-.0161,-.0018,-.0051,-.012,.0162,.016,-.0022,-.0052,-.0201,.0101,.0115,.0365,-.024,-.0059,.0188,-.0336,.0352,.0224,-.0229,.0146,.0086,-.0273,-.0032,.0103,-.0112]},{mean:[-.2288,.1541,.7202],identity:[-.0082,.0101,2e-4,.0036,-7e-4,-.0037,-8e-4,.0024,.0022,-.0013,-.0045,-.0013,-6e-4,.0045,-4e-4,4e-4,.0012,-.0014,.0042,-.001,-7e-4,-.0019,3e-4,-2e-4,.0012,-4e-4,-.0012,-.0018,-4e-4,-1e-4,-.0014,-.0012,1e-4,1e-4,-.0017,.001,.0015,-1e-4,6e-4,1e-4,0,-6e-4,.0028,.0021,-.0025,-.002,-.0015,7e-4,.0028,-.0023,9e-4,.0013,1e-4,.0016,.0012,.0032,-6e-4,-.0013,-.0011,.0021,3e-4,-5e-4,-.0024,4e-4,-4e-4,.0014,.0015,-8e-4,-3e-4,3e-4,.0017,-6e-4,.002,-.0018,-3e-4,9e-4,1e-4,2e-4,-6e-4,-.0015,-4e-4,.0022,7e-4,-.0023,0,-2e-4,-2e-4,-3e-4,-1e-4,6e-4,-2e-4,6e-4,.0022,-3e-4,.0013,-.0014,-5e-4,-3e-4,.0013,-.0027,6e-4,.0025,-.0023,-8e-4,-.0013,.0017,-9e-4,-.0019,1e-4,8e-4,-7e-4,-4e-4,0,.001,-.001,.0019,-8e-4,-.0015,-6e-4,-2e-4,-.0011,8e-4,1e-4,9e-4,-8e-4,-4e-4,6e-4,7e-4,.0021,-4e-4,7e-4,-5e-4,.0021,-7e-4,-4e-4,-9e-4,8e-4,3e-4,1e-4,3e-4,1e-4,9e-4,.001,-5e-4,5e-4,-.001,.001,4e-4,-5e-4,-.0012],expression:[8e-4,.0037,.0078,-4e-4,5e-4,-.012,-2e-4,-.0046,.0033,-.0089,.0295,.0221,-.0024,-.0084,.0013,.0057,.0125,.0049,-.0036,.0373,.0285,.0115,.0135,-.0035,.0048,.0108,-.0033,.0106,.0281,-.0301,-.0082,.0803,.0244,-7e-4,-.0725,-.0105,-.0247,-.0036,-.0143,-.0045,-.029,2e-4,-.0303,.0093,-.0021,-.0196,-.0754,-.0211,.0326,.1246,.006,-.0804,-.1499,.0109,.0182,-.0029,-.0014,-.0035,.0072,-8e-4,-.0152,-.0108,-.0166,-.0073,-.0144,-.0095,.0101,.047,-.0018,-.004,-.0189,.0027,.0104,.0298,-.0042,-.0096,.0191,-.0217,.0228,.0226,-.0105,.0047,-.0048,-.0172,.0061,-.0043,-.0016]}],2:{mean:[.5396,.2028,.2496],identity:[.0204,.0146,-.0182,-.0052,.0158,-.0038,-.0025,-.0108,-.006,.0085,-.0044,.0029,.0042,.001,.0095,.0015,-.0034,-.0064,-.0057,7e-4,.0026,7e-4,.0037,-6e-4,.0037,.0026,.0024,5e-4,-.0019,-.0013,.003,-.0028,.0018,-9e-4,.002,-.0047,.004,-.003,.0031,-.0027,-.0026,-.0017,.0016,.0014,-4e-4,.0021,-.002,0,.0017,7e-4,-4e-4,-7e-4,-.0018,-9e-4,2e-4,-.0012,1e-4,-5e-4,-.0011,4e-4,2e-4,.0011,1e-4,8e-4,.0017,-.0013,.0025,.0017,.001,2e-4,3e-4,5e-4,-4e-4,-1e-4,-5e-4,7e-4,-.0022,-.0029,6e-4,-8e-4,-6e-4,6e-4,-5e-4,5e-4,.0013,3e-4,-5e-4,-.003,7e-4,2e-4,.0016,-4e-4,0,0,4e-4,1e-4,.0014,.0012,1e-4,4e-4,-1e-4,8e-4,9e-4,4e-4,-4e-4,9e-4,-2e-4,.001,9e-4,4e-4,1e-4,7e-4,7e-4,.001,-.0017,-8e-4,2e-4,.0017,-3e-4,-1e-4,4e-4,5e-4,7e-4,5e-4,-1e-4,-6e-4,-1e-4,1e-4,-3e-4,-7e-4,-2e-4,-5e-4,0,-3e-4,3e-4,8e-4,-2e-4,-3e-4,5e-4,1e-4,-7e-4,-.001,-2e-4,3e-4,4e-4,-1e-4,7e-4,0,4e-4,4e-4],expression:[1e-4,-4e-4,1e-4,0,5e-4,2e-4,0,0,3e-4,-2e-4,3e-4,5e-4,-1e-4,2e-4,8e-4,1e-4,-2e-4,-5e-4,-3e-4,6e-4,5e-4,0,1e-4,2e-4,1e-4,-1e-4,-6e-4,-2e-4,5e-4,0,-4e-4,4e-4,.0016,4e-4,-4e-4,-.0015,0,1e-4,1e-4,-3e-4,3e-4,.0019,-2e-4,7e-4,4e-4,4e-4,-8e-4,-.0015,.0013,-.0016,-.0069,4e-4,-6e-4,-.0019,0,-1e-4,5e-4,-3e-4,2e-4,.0014,-3e-4,6e-4,.0011,4e-4,-3e-4,-.0032,-6e-4,8e-4,.0025,-3e-4,3e-4,.0015,-1e-4,1e-4,3e-4,-1e-4,0,0,-3e-4,4e-4,.0019,1e-4,0,-8e-4,-1e-4,1e-4,5e-4]},3:{mean:[-.5464,.2141,.26],identity:[-.0207,.0172,-.0176,.0068,.0148,-.0051,.0042,-.0101,-.0058,-.0087,-.0059,.0045,-.0056,.0017,.0097,-.0048,-.004,-.0044,.0019,2e-4,.0041,-.0052,.0041,2e-4,-.0027,6e-4,.002,-.0027,-.0033,-6e-4,-.004,9e-4,-.0012,-1e-4,-.0026,.0021,-.003,-.0025,.0052,.0025,.0022,-1e-4,-8e-4,.0013,.001,4e-4,.0018,.0014,6e-4,-5e-4,-.0015,-.0039,.0014,-1e-4,8e-4,-2e-4,6e-4,-5e-4,-.0038,-.0012,-.0018,-3e-4,.001,9e-4,.0012,.0024,-.0024,-7e-4,-.0016,-.0016,3e-4,-.001,-.0014,-.0014,.001,-3e-4,-7e-4,-.0012,3e-4,6e-4,3e-4,-5e-4,3e-4,.0012,6e-4,-8e-4,4e-4,4e-4,8e-4,-2e-4,-.0014,3e-4,0,.0023,-3e-4,-.0012,-.0013,.0011,-2e-4,-.0014,-1e-4,.0014,0,3e-4,3e-4,-8e-4,-5e-4,-7e-4,-7e-4,-2e-4,3e-4,5e-4,2e-4,-1e-4,.0011,-.0014,1e-4,-.0015,-1e-4,-3e-4,0,-.001,-1e-4,-8e-4,8e-4,-8e-4,-2e-4,-.0011,-3e-4,-4e-4,1e-4,-2e-4,3e-4,-7e-4,0,3e-4,1e-4,-8e-4,5e-4,1e-4,4e-4,.0014,-6e-4,-.001,-3e-4,-2e-4,1e-4,-1e-4,-1e-4,7e-4],expression:[-3e-4,-1e-4,6e-4,4e-4,0,-7e-4,0,-3e-4,-2e-4,-4e-4,.0012,8e-4,1e-4,-5e-4,-7e-4,-4e-4,0,1e-4,-4e-4,.0017,7e-4,0,1e-4,3e-4,0,4e-4,4e-4,5e-4,1e-4,-.001,-7e-4,.0022,.0026,5e-4,-.0024,-.0023,0,1e-4,3e-4,0,-.0013,-.0015,6e-4,.0014,8e-4,-2e-4,-.0025,-.0023,-3e-4,.0049,.006,-2e-4,-7e-4,-2e-4,0,-.0019,-.0018,-2e-4,.0017,.0017,3e-4,.0015,7e-4,1e-4,-.0023,-.0036,2e-4,.0023,.0017,0,-5e-4,-3e-4,-3e-4,4e-4,2e-4,-1e-4,-3e-4,-5e-4,1e-4,.0018,.0025,1e-4,-6e-4,-.0011,0,1e-4,1e-4]},4:{mean:[.0018,.1864,.853],identity:[-.0011,.0134,.0085,9e-4,-.0025,-7e-4,-3e-4,.0033,4e-4,-5e-4,-.0047,-.002,7e-4,.0026,-.0069,-1e-4,.0036,.0072,5e-4,-8e-4,-.0047,4e-4,-8e-4,-.001,0,2e-4,-.0036,-2e-4,-.001,-.0048,-1e-4,.0018,.0044,-7e-4,-2e-4,.0043,3e-4,.002,-.0031,0,-7e-4,.0013,0,.0037,.0033,-.0016,-.0012,.002,-1e-4,-.0027,.0051,5e-4,8e-4,7e-4,-.0017,.0054,.0023,-3e-4,.0032,1e-4,0,7e-4,-5e-4,-.0011,2e-4,8e-4,0,-.0033,-8e-4,-7e-4,7e-4,.0033,5e-4,-3e-4,.0029,-1e-4,-.0024,-.0011,-.002,-.0015,-.0019,2e-4,7e-4,.0031,6e-4,.0012,0,0,-.0021,0,-9e-4,-.0011,-.0011,-2e-4,.0015,.001,.0013,8e-4,.001,-3e-4,9e-4,.0027,-2e-4,-.0011,-.0011,6e-4,7e-4,2e-4,1e-4,-5e-4,-.0022,.0011,-.0014,9e-4,3e-4,2e-4,0,-6e-4,-4e-4,-.0011,-7e-4,.001,-.0012,6e-4,-.0012,-.0015,3e-4,-9e-4,-.0013,-.0013,7e-4,.001,-.0011,-.0013,.0015,4e-4,1e-4,4e-4,-1e-4,-.0016,-.0016,9e-4,-7e-4,-.0024,5e-4,-1e-4,-.0017,-2e-4,3e-4,-9e-4],expression:[-.0017,.0019,.0097,.003,-.0103,-.0093,9e-4,6e-4,.0023,-.0017,-.0204,.0376,.0033,-.0034,.0033,-.0026,-.0322,.0396,-.0032,-.0947,.0942,-7e-4,-.0175,.0266,-.001,-6e-4,.0016,.0025,.0157,-.0142,-.0022,.037,.015,.0021,-.0102,-.0107,.0036,.0055,-.0051,.0021,3e-4,-3e-4,4e-4,-.0177,.0074,-6e-4,-.0357,.0149,-.0066,9e-4,.0013,-.0031,.0016,.0095,.002,.0052,.0035,-3e-4,.0053,-.0082,.002,.0022,-.0071,-.0011,5e-4,.0055,.0011,3e-4,-.0126,-4e-4,3e-4,-.0023,-.0015,.0059,.0063,-.0042,-.0023,.0055,.0019,.0017,-.0075,6e-4,-8e-4,.0018,.0012,.0012,-5e-4]},5:{mean:[-.002,-.0469,1.0039],identity:[-.0017,.0018,.0156,6e-4,-.0038,5e-4,4e-4,.0013,.002,-4e-4,-.0015,-.0051,5e-4,-7e-4,-.0055,-1e-4,-9e-4,.008,-2e-4,.0036,-.0053,4e-4,-.0026,-.0016,7e-4,9e-4,-.009,-3e-4,7e-4,-.0084,.0015,.0021,.0032,-.0015,.0018,.0046,-3e-4,-4e-4,-1e-4,8e-4,-.0044,-7e-4,-8e-4,7e-4,.0048,-.0024,-3e-4,.0024,2e-4,-.0051,.0058,-6e-4,.0028,.0018,-.0021,.0035,.0057,.0011,.0065,0,-2e-4,.0011,.003,-.0027,8e-4,7e-4,3e-4,-.0039,-.002,-2e-4,-.0015,.0034,.0012,-.0025,.0024,-2e-4,4e-4,-.0042,-.0024,-.001,-.0023,.0016,-7e-4,.0039,1e-4,-5e-4,.0018,3e-4,-2e-4,-9e-4,-.0015,3e-4,-7e-4,-1e-4,-2e-4,.0023,.0032,.002,-.0013,.0013,-.0038,.0045,1e-4,-.0031,1e-4,.0019,-1e-4,.0016,.0013,0,-.002,.0023,2e-4,.0011,.0018,-.0024,6e-4,-.0017,.002,-8e-4,-.0021,7e-4,.0011,8e-4,4e-4,-.001,.0012,2e-4,-6e-4,-.0027,-5e-4,.001,-9e-4,1e-4,-1e-4,8e-4,-.0011,.0022,-.001,-5e-4,-.0011,.0016,-.0015,8e-4,-3e-4,9e-4,.0013,-7e-4,-7e-4,-2e-4],expression:[-.0018,-.0168,.0088,.0389,.1026,.0414,.2201,-.0262,-.0016,-.0017,.0612,-.0298,-.0323,.0093,.0013,-.005,.2207,.1315,-4e-4,.0858,-.0303,-.0133,.015,-.008,.1454,.0114,.0177,-.0077,.1022,.0356,-.0023,.1088,.0232,.003,-.0706,.0347,-1e-4,.004,-.0011,.0397,-.0096,-.0033,.0029,-.01,-.0083,-6e-4,-.0135,.0016,-.0087,-.0019,.0022,-.004,-.0087,.0105,8e-4,-.005,.0069,.0028,.0409,-.0391,.003,.0103,.0051,.0026,.0776,-.0083,-.0062,-.0567,.0268,.0175,.0017,.0156,-.0043,.0299,-.0395,-.0015,.0051,-.0148,.0125,.0035,.0603,.0109,-.0645,-.0257,.002,6e-4,-8e-4]},6:{mean:[-6e-4,-.1542,.8789],identity:[-7e-4,-.0032,.01,0,-.0027,.0031,6e-4,5e-4,-6e-4,-3e-4,.0013,-.0049,-2e-4,-.002,-.0046,8e-4,-.0011,.0054,2e-4,.0043,-.0027,3e-4,-.0022,-.0019,8e-4,.0032,-.0069,0,4e-4,-.0071,.0016,.0027,.0039,-.0017,9e-4,.0031,-1e-4,-5e-4,-4e-4,7e-4,-.0026,-.0012,-5e-4,6e-4,2e-4,-.0014,-.0013,.0019,-2e-4,-.0053,.0031,-6e-4,.0016,.0023,-.0013,.0021,.0029,8e-4,.0052,0,4e-4,0,.0037,-.0026,3e-4,.002,-2e-4,-.0024,4e-4,-4e-4,-.0012,8e-4,7e-4,-.0023,5e-4,0,.0014,-.0022,-.0016,0,-.0012,8e-4,-7e-4,.0014,-6e-4,-.0012,-3e-4,2e-4,.0012,-3e-4,-.002,-1e-4,1e-4,-2e-4,-.0016,9e-4,.002,.0019,0,6e-4,-.0022,.0016,1e-4,-.0017,-.0013,.001,9e-4,-1e-4,.0011,3e-4,-7e-4,.0014,8e-4,.0013,.0011,-.002,0,-.0015,.0014,.001,-.0015,7e-4,3e-4,.001,-1e-4,.0012,7e-4,6e-4,-4e-4,-.0013,-.0012,-9e-4,-.0011,2e-4,-5e-4,5e-4,4e-4,2e-4,1e-4,0,5e-4,5e-4,-.0014,.0015,-9e-4,5e-4,.0014,-8e-4,-8e-4,.0012],expression:[8e-4,.0481,.1653,.0784,.1008,-.3992,.5088,-.02,.0542,.001,.3723,-.0151,-.0986,.0283,-.0033,-.0121,.2634,.1202,.0036,-.0529,-.0245,-.0297,-.1085,.0495,.3264,.0083,4e-4,-.0314,.1459,-.1142,-.003,1e-4,.1154,-.0035,-.0285,-.0184,-1e-4,.0012,.0035,.079,-.0103,.0043,.011,-.004,-.0774,-.0047,-.023,.0284,-.0048,-.001,.0149,-.0039,.0046,.0528,-6e-4,.0063,.0376,.0096,.0558,-.0295,0,-.0311,-.0634,.0062,.0176,-.0154,-.0109,-.1149,.0192,.0326,.0121,.0237,.0034,.0262,-.0778,.0014,-.0045,-.0203,.0077,.0588,.0575,.008,-.0557,-.0095,.0032,.0054,-.0042]},7:{mean:[.0038,-.2927,.833],identity:[6e-4,-.0109,.0073,-6e-4,-.0044,.0017,-1e-4,-.0022,-6e-4,-3e-4,.0065,-.0014,-6e-4,-.0051,-.0046,3e-4,-.0029,.003,2e-4,.0038,-6e-4,0,-.0012,6e-4,-4e-4,.0053,-.0075,-2e-4,-7e-4,-.0063,.0014,.0026,.0019,-.0022,.0018,.0028,-1e-4,-.0012,.0011,9e-4,.0019,-.0019,-1e-4,.0012,-.0022,-3e-4,-.0012,4e-4,-8e-4,3e-4,-3e-4,0,.0017,.0021,-4e-4,.0012,.0022,-3e-4,.0026,-3e-4,4e-4,-.0026,.0032,-.0019,3e-4,.0015,1e-4,-.0015,.0013,-1e-4,1e-4,-.0029,0,-2e-4,-.0028,-7e-4,.0019,-3e-4,-2e-4,.0012,9e-4,4e-4,-.001,-.002,-.0016,.0011,-1e-4,3e-4,.0021,2e-4,-.0014,-9e-4,-1e-4,0,-2e-4,-.001,.0015,.0018,1e-4,7e-4,8e-4,.0017,.001,-9e-4,1e-4,4e-4,.0023,-1e-4,.0012,1e-4,-8e-4,2e-4,.0018,6e-4,3e-4,1e-4,.0012,-3e-4,.002,-6e-4,0,-1e-4,-.0022,4e-4,5e-4,.0011,2e-4,-.0013,-.0023,6e-4,6e-4,-5e-4,-5e-4,9e-4,2e-4,2e-4,.0011,-3e-4,.0011,.0015,.0011,3e-4,2e-4,8e-4,-4e-4,-8e-4,3e-4,0,.0012,-1e-4],expression:[.026,.1107,.3257,.1917,.3206,-1.1348,1.0791,-.035,.1549,-.0103,.6953,1e-4,-.3262,.068,.0219,-.0044,.3643,.2178,.0168,-.2478,-.1321,-.0414,-.3782,-.0617,.5088,-.0031,-.0311,-.0497,.0948,-.385,.0148,-.2224,-.1415,-.0074,.0863,-.203,3e-4,-.0081,.0057,.1164,-.0039,.0015,-.0024,.0505,.1532,.0039,-.0148,-.0753,.0163,.0058,-.0339,.0036,.0252,-.0569,-.0041,.0163,-.0361,.0035,-.018,.1266,0,-.0163,-.0046,.0133,-.1656,.2134,.0191,.0057,.0734,.0681,.0039,-.0144,.029,-.074,-.046,.0122,.0072,-.0162,-.0349,-.1234,.0212,-.0355,.0535,.1218,.0043,-.024,.0016]},8:{mean:[-.0018,-.3037,.8491],identity:[2e-4,-.0112,.0077,-4e-4,-.0044,.0024,1e-4,-.0021,-4e-4,-4e-4,.0066,-.002,-4e-4,-.0052,-.0044,3e-4,-.0032,.0039,4e-4,.0042,-3e-4,2e-4,-.0012,-2e-4,-2e-4,.0052,-.0083,-1e-4,-8e-4,-.0056,.0017,.0024,.0019,-.0023,.002,.0027,-2e-4,-.0013,.002,9e-4,.0017,-.0028,-2e-4,.0012,-.0026,0,-.0016,2e-4,-5e-4,3e-4,-.001,-1e-4,.0016,.0016,-3e-4,.0012,.0012,-3e-4,.0027,-3e-4,3e-4,-.0026,.0037,-.0017,1e-4,.0016,1e-4,-.0015,.0024,1e-4,2e-4,-.0039,0,-3e-4,-.0033,-6e-4,.0017,-4e-4,-4e-4,.0012,.0018,2e-4,-.0012,-.002,-.0017,.0013,-.001,3e-4,.0021,4e-4,-.0012,-6e-4,-2e-4,0,-4e-4,-9e-4,.0016,.0017,4e-4,7e-4,7e-4,.001,9e-4,-8e-4,5e-4,5e-4,.0023,.001,.0013,2e-4,-4e-4,2e-4,.0017,8e-4,3e-4,-1e-4,9e-4,-4e-4,.0019,-5e-4,3e-4,0,-.0025,3e-4,3e-4,.0011,1e-4,-.0015,-.001,7e-4,7e-4,-7e-4,-7e-4,8e-4,0,1e-4,.0013,-4e-4,.0012,.0014,.0017,4e-4,2e-4,3e-4,-3e-4,-9e-4,1e-4,0,.001,-4e-4],expression:[-.0092,2.8809,1.416,.2018,1.1982,-.9351,1.4492,-.1902,.1749,.0305,-.167,-.1572,-.7354,-.0492,.0115,.0608,.2971,.1179,.0046,-.0997,-.0041,-.0104,.3379,-.1854,.009,.0366,-.0583,.0269,-.0029,-.4175,-8e-4,.1794,.0752,-.0135,.1158,.1234,5e-4,.003,-.0032,.1034,-.0504,-.0055,-.0076,-.0772,.224,.0047,.0229,-.1044,.0162,-.0161,-.0241,-.0083,-.1388,-.0434,-.0125,-.0997,-.0327,-.0111,.1576,-.3911,.0199,.2522,.142,.0059,-.0721,-.0045,.031,-.1136,-.1685,.0641,.0142,.0312,.0426,-.1366,.1011,.0101,-.0157,.0018,-.0103,-.0344,.0907,.0016,.1168,-.0806,.0104,-.0057,.0111]},9:[{mean:[.0038,-.2927,.833],identity:[6e-4,-.0109,.0073,-6e-4,-.0044,.0017,-1e-4,-.0022,-6e-4,-3e-4,.0065,-.0014,-6e-4,-.0051,-.0046,3e-4,-.0029,.003,2e-4,.0038,-6e-4,0,-.0012,6e-4,-4e-4,.0053,-.0075,-2e-4,-7e-4,-.0063,.0014,.0026,.0019,-.0022,.0018,.0028,-1e-4,-.0012,.0011,9e-4,.0019,-.0019,-1e-4,.0012,-.0022,-3e-4,-.0012,4e-4,-8e-4,3e-4,-3e-4,0,.0017,.0021,-4e-4,.0012,.0022,-3e-4,.0026,-3e-4,4e-4,-.0026,.0032,-.0019,3e-4,.0015,1e-4,-.0015,.0013,-1e-4,1e-4,-.0029,0,-2e-4,-.0028,-7e-4,.0019,-3e-4,-2e-4,.0012,9e-4,4e-4,-.001,-.002,-.0016,.0011,-1e-4,3e-4,.0021,2e-4,-.0014,-9e-4,-1e-4,0,-2e-4,-.001,.0015,.0018,1e-4,7e-4,8e-4,.0017,.001,-9e-4,1e-4,4e-4,.0023,-1e-4,.0012,1e-4,-8e-4,2e-4,.0018,6e-4,3e-4,1e-4,.0012,-3e-4,.002,-6e-4,0,-1e-4,-.0022,4e-4,5e-4,.0011,2e-4,-.0013,-.0023,6e-4,6e-4,-5e-4,-5e-4,9e-4,2e-4,2e-4,.0011,-3e-4,.0011,.0015,.0011,3e-4,2e-4,8e-4,-4e-4,-8e-4,3e-4,0,.0012,-1e-4],expression:[.026,.1107,.3257,.1917,.3206,-1.1348,1.0791,-.035,.1549,-.0103,.6953,1e-4,-.3262,.068,.0219,-.0044,.3643,.2178,.0168,-.2478,-.1321,-.0414,-.3782,-.0617,.5088,-.0031,-.0311,-.0497,.0948,-.385,.0148,-.2224,-.1415,-.0074,.0863,-.203,3e-4,-.0081,.0057,.1164,-.0039,.0015,-.0024,.0505,.1532,.0039,-.0148,-.0753,.0163,.0058,-.0339,.0036,.0252,-.0569,-.0041,.0163,-.0361,.0035,-.018,.1266,0,-.0163,-.0046,.0133,-.1656,.2134,.0191,.0057,.0734,.0681,.0039,-.0144,.029,-.074,-.046,.0122,.0072,-.0162,-.0349,-.1234,.0212,-.0355,.0535,.1218,.0043,-.024,.0016]},{mean:[-.0018,-.3037,.8491],identity:[2e-4,-.0112,.0077,-4e-4,-.0044,.0024,1e-4,-.0021,-4e-4,-4e-4,.0066,-.002,-4e-4,-.0052,-.0044,3e-4,-.0032,.0039,4e-4,.0042,-3e-4,2e-4,-.0012,-2e-4,-2e-4,.0052,-.0083,-1e-4,-8e-4,-.0056,.0017,.0024,.0019,-.0023,.002,.0027,-2e-4,-.0013,.002,9e-4,.0017,-.0028,-2e-4,.0012,-.0026,0,-.0016,2e-4,-5e-4,3e-4,-.001,-1e-4,.0016,.0016,-3e-4,.0012,.0012,-3e-4,.0027,-3e-4,3e-4,-.0026,.0037,-.0017,1e-4,.0016,1e-4,-.0015,.0024,1e-4,2e-4,-.0039,0,-3e-4,-.0033,-6e-4,.0017,-4e-4,-4e-4,.0012,.0018,2e-4,-.0012,-.002,-.0017,.0013,-.001,3e-4,.0021,4e-4,-.0012,-6e-4,-2e-4,0,-4e-4,-9e-4,.0016,.0017,4e-4,7e-4,7e-4,.001,9e-4,-8e-4,5e-4,5e-4,.0023,.001,.0013,2e-4,-4e-4,2e-4,.0017,8e-4,3e-4,-1e-4,9e-4,-4e-4,.0019,-5e-4,3e-4,0,-.0025,3e-4,3e-4,.0011,1e-4,-.0015,-.001,7e-4,7e-4,-7e-4,-7e-4,8e-4,0,1e-4,.0013,-4e-4,.0012,.0014,.0017,4e-4,2e-4,3e-4,-3e-4,-9e-4,1e-4,0,.001,-4e-4],expression:[-.0092,2.8809,1.416,.2018,1.1982,-.9351,1.4492,-.1902,.1749,.0305,-.167,-.1572,-.7354,-.0492,.0115,.0608,.2971,.1179,.0046,-.0997,-.0041,-.0104,.3379,-.1854,.009,.0366,-.0583,.0269,-.0029,-.4175,-8e-4,.1794,.0752,-.0135,.1158,.1234,5e-4,.003,-.0032,.1034,-.0504,-.0055,-.0076,-.0772,.224,.0047,.0229,-.1044,.0162,-.0161,-.0241,-.0083,-.1388,-.0434,-.0125,-.0997,-.0327,-.0111,.1576,-.3911,.0199,.2522,.142,.0059,-.0721,-.0045,.031,-.1136,-.1685,.0641,.0142,.0312,.0426,-.1366,.1011,.0101,-.0157,.0018,-.0103,-.0344,.0907,.0016,.1168,-.0806,.0104,-.0057,.0111]}],10:{mean:[-.007,-.6338,.7695],identity:[1e-4,-.0296,.0089,-6e-4,-.0073,-.0065,-1e-4,-.0029,-.0031,-2e-4,.0128,.0065,0,-.0116,-.014,-1e-4,-.0037,-.0052,-5e-4,.0028,.003,-4e-4,.0041,.0015,6e-4,.0088,-.0076,-.0011,-.0015,-.0073,7e-4,-.0011,.0019,-.0011,-5e-4,.0031,-1e-4,-.0018,9e-4,.0018,.0038,.0068,-4e-4,-1e-4,.0061,.0024,.0024,-.0066,-6e-4,.0051,.0014,.002,.005,-.0035,1e-4,-.0034,-.004,-7e-4,.001,-8e-4,1e-4,-5e-4,-.0021,2e-4,.0045,-.0043,-.0012,-.0024,-.0014,6e-4,.0034,.0027,-8e-4,-.0053,.0014,1e-4,.0013,-.0018,6e-4,-.0015,.0029,-2e-4,-.0035,1e-4,-.002,.0012,.0048,.0011,1e-4,-2e-4,-3e-4,-.0012,.0033,6e-4,.002,-.0033,4e-4,.0028,2e-4,8e-4,-1e-4,-.0018,8e-4,.0017,1e-4,9e-4,8e-4,3e-4,.0019,-.001,.001,-7e-4,-.0013,0,1e-4,.0032,-1e-4,1e-4,.0011,-4e-4,5e-4,-7e-4,.0018,-3e-4,2e-4,7e-4,8e-4,-.0014,7e-4,.0015,-6e-4,-1e-4,-4e-4,.0019,-9e-4,-6e-4,-6e-4,-.0012,2e-4,-.0012,-8e-4,4e-4,6e-4,-.0011,3e-4,9e-4,-4e-4,6e-4,-7e-4,-4e-4],expression:[-.0603,2.0527,1.9014,.1025,.6143,.3804,.7881,-.1023,-.0764,.0454,-.2487,-.5073,-.6704,-.031,-.0181,.0466,.0651,-.0726,-.0033,-.0022,.2944,.0101,.1669,-.5225,-.4685,.0236,.0079,.011,.2173,.4529,.0121,-.2104,-.0673,.0225,-.4023,.0317,-9e-4,.0076,-.0032,.0333,.0523,.0129,-.001,-.0319,-.0139,.0015,-.0044,.0247,-5e-4,.0161,.0061,.0074,.0776,-.0176,.007,.055,-.017,.0052,-.1819,.0294,-.0161,-.0337,.0226,-.008,-.0297,.1967,-.0095,.0383,.2039,.0434,.0271,-.0064,-.0037,-.0294,-.024,.0024,-.0137,-.0209,-.0031,.0628,.1003,-.0126,-.056,-.0097,-.0012,-.0041,.0162]},11:{mean:[.2505,.3833,.7793],identity:[.0098,.012,.0077,-6e-4,-3e-4,0,1e-4,.0082,-7e-4,.0019,-.0036,-.0012,2e-4,.0119,-.0039,.001,1e-4,.0031,-.0036,-.0059,-7e-4,.0026,.0028,-.0011,9e-4,-.0032,8e-4,.0029,.0043,3e-4,.0025,-9e-4,.0047,.0016,.0022,.0018,-.001,.0025,-.003,-.001,.0033,.0034,4e-4,-.0052,.0024,-2e-4,.001,-.0014,-6e-4,.0038,-.0015,-6e-4,-.001,-.0011,-4e-4,-.001,4e-4,-7e-4,.0036,-8e-4,-2e-4,-.0019,5e-4,3e-4,-6e-4,-.0024,-.0017,-.0014,6e-4,-4e-4,-.0031,-.0013,-6e-4,.0042,2e-4,-2e-4,-.002,-3e-4,8e-4,.0018,-5e-4,-6e-4,-2e-4,-6e-4,.0025,.0019,.001,8e-4,-.0015,-.0012,-1e-4,-6e-4,-4e-4,.0023,-.001,6e-4,-2e-4,-.001,0,-9e-4,-.002,-.0011,1e-4,0,-1e-4,5e-4,6e-4,9e-4,-6e-4,5e-4,8e-4,-1e-4,-2e-4,-.0017,-6e-4,-4e-4,4e-4,-6e-4,.0012,4e-4,3e-4,-7e-4,3e-4,-2e-4,6e-4,1e-4,5e-4,-.0019,-6e-4,4e-4,7e-4,-1e-4,1e-4,5e-4,.001,-6e-4,-.002,-7e-4,-5e-4,5e-4,3e-4,7e-4,.0014,0,5e-4,-5e-4,-2e-4,3e-4,-6e-4,-1e-4],expression:[-9e-4,-3e-4,.0032,-.003,-.0034,-.0031,.0014,0,4e-4,-.0139,-.0764,.0275,-.002,-.0089,.0031,-.0503,-.0771,.038,-.1323,-.3523,.1368,-.0474,-.0564,.0296,-.0045,.007,-.0013,.0153,.1259,-.0464,.0866,.2175,-.0786,-.0413,-.1248,.0448,-.1777,-.4607,.1782,-5e-4,-.005,.0016,.0629,.1506,-.0624,.0545,.2576,-.0864,-.0231,-.0552,.0244,-.0136,-.0359,.0169,-.1158,-.2996,.1214,-.0235,-.0354,.0165,-.0745,-.1079,.0475,-.0116,-.0039,.0012,.0013,-.0108,-8e-4,.0044,-.0027,-1e-4,-.0694,.0363,.0071,.1462,-.136,.0047,.009,-.0177,.0038,-.0271,.0118,.0011,-.0399,-.0111,.0123]},12:{mean:[-.2981,.3828,.7563],identity:[-.0116,.014,.0054,.0018,5e-4,0,-4e-4,.0068,-.0013,-.0019,-.0048,-5e-4,5e-4,.0108,-.0036,-.0029,-.0018,.0029,.0043,-.0077,6e-4,-.0017,.002,-.0011,-.0014,-.0035,.0015,-.0024,.0011,4e-4,-.0048,2e-4,.0029,-1e-4,-1e-4,.003,.0019,.0035,-.0016,-4e-4,.0039,.0019,1e-4,-.0064,.004,3e-4,.002,-.0021,.0017,.0011,-.001,.0026,.0025,-5e-4,2e-4,-3e-4,-5e-4,-7e-4,9e-4,-4e-4,-.001,-.0022,.001,9e-4,-.0014,7e-4,.0011,-.001,-5e-4,-8e-4,-.0017,-.0021,9e-4,.0036,5e-4,4e-4,-.0031,6e-4,-.0015,.0027,2e-4,1e-4,-.0011,2e-4,-.0011,-.0018,4e-4,-.0013,-2e-4,7e-4,9e-4,-3e-4,.001,-.0021,8e-4,6e-4,-9e-4,4e-4,-7e-4,8e-4,-.002,-.0013,0,7e-4,-.0012,-1e-4,.0014,.0014,-1e-4,.0013,6e-4,6e-4,-.0014,-.0015,-9e-4,1e-4,1e-4,9e-4,7e-4,0,1e-4,-.001,-4e-4,0,-5e-4,1e-4,-3e-4,4e-4,-5e-4,-1e-4,-.0011,2e-4,0,1e-4,8e-4,8e-4,0,-7e-4,-8e-4,0,2e-4,-1e-4,.001,3e-4,4e-4,-2e-4,0,5e-4,.0018,-1e-4],expression:[0,-4e-4,.0028,.0036,-8e-4,-.0026,-.0015,-8e-4,3e-4,.0075,-.0608,.025,.0019,-.0076,.0033,.0379,-.0437,.0335,.0964,-.2452,.1233,.0368,-.0251,.0253,.0033,.0097,-.0021,-.0095,.1171,-.0475,-.064,.1548,-.0718,.0228,-.0831,.0343,-.1924,.6206,-.2771,.0021,-.0143,.0056,-.0705,.2522,-.1116,-.0692,.4229,-.1592,-.0093,.05,-.0185,.0948,-.3196,.1437,-.0184,.0194,-.0131,.0205,-.0353,.0201,.0676,-.135,.0672,.0137,-.0311,.0118,3e-4,-.0077,-2e-4,-.0151,4e-4,-.0058,.029,-.0139,.0163,.1324,.1819,-.0039,.0406,.0501,.0017,.0331,.0161,.0062,-.0235,-.0446,.0047]}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={incompatible:()=>!("function"==typeof Promise&&"object"==typeof WebAssembly&&!!(navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices&&navigator.mediaDevices.getUserMedia)),incompatible_ui:()=>{const e=document.createElement("div");e.append(function(){let e=document.createElement("div"),t="a recent web browser";navigator.userAgent.match(/Android/i)?(t="Chrome for Android",window.location.href="googlechrome://navigate?url="+encodeURI(window.location.href),setTimeout(()=>{window.location.href="samsunginternet://open?url="+encodeURI(window.location.href)},2e3)):navigator.userAgent.match(/iPhone|iPod|iPad/i)&&(t="Safari",e.classList.add("zee-launcher-browser-safari")),e.classList.add("zee-launcher-unsupported"),e.innerHTML=`\n <style>.zee-launcher-unsupported {\n display: flex;\n flex-direction: column;\n height: 100%;\n justify-content: center;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n align-items: center;\n }\n .zee-launcher-browser-logo {\n background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 210 211' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-82 -146)' fill-rule='nonzero' stroke='%23ffffff' stroke-width='2'%3E%3Cg transform='translate(83 146.5)'%3E%3Cpath d='m55.146 88.785l-32.039-49.472c19.962-24.947 49.904-38.684 80.517-38.81 17.739-0.12642 35.855 4.4246 52.336 13.99 18.2 10.619 32.039 25.874 40.846 43.404l-86.095-4.5511c-24.365-1.4327-47.556 12.347-55.565 35.439zm13.797 16.224c0 19.468 15.684 35.229 35.059 35.229 19.374 0 35.059-15.76 35.059-35.229 0-19.468-15.684-35.229-35.059-35.229-19.374 0-35.059 15.718-35.059 35.229zm132.06-37.588l-58.585 3.034c15.894 18.668 16.145 45.595 2.7678 66.243l-47.01 72.648c19.5 1.0535 39.588-3.2447 57.788-13.864 45.039-26.126 63.282-80.908 45.039-128.06zm-144.93 57.647l-39.126-77.326c-10.694 16.434-16.942 36.156-16.942 57.267 0 52.253 38.078 95.53 87.856 103.2l26.713-52.59c-24.155 4.5511-47.472-8.765-58.501-30.551z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");\n width: 211px;\n height: 211px;\n margin-bottom: 25%;\n margin-top: -60px;\n background-repeat: no-repeat;\n }\n .zee-launcher-browser-safari .zee-launcher-browser-logo {\n background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 211 211' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-82 -146)' fill-rule='nonzero' stroke='%23fffffft' stroke-width='2'%3E%3Cpath d='m180 251.86c0-4.0385 2.9377-7.855 7.2552-7.855 3.9614 0 7.7448 2.8402 7.7448 7.145 0 4.0385-2.8487 7.855-7.1662 7.855-4.0059 0-7.8338-2.9734-7.8338-7.145zm112-0.35503c0 57.728-46.772 104.5-104.5 104.5s-104.5-46.772-104.5-104.5 46.772-104.5 104.5-104.5 104.5 46.772 104.5 104.5zm-12-1c0-51.649-41.851-93.5-93.5-93.5s-93.5 41.851-93.5 93.5 41.851 93.5 93.5 93.5 93.5-41.851 93.5-93.5zm-30.624 40.983c0 1.5095 5.4495 4.2768 6.8328 5.1154-11.486 17.401-29.26 29.938-49.423 34.928l-1.8444-7.757c-0.12576-1.0482-0.79646-1.174-1.7606-1.174-0.79646 0-1.2576 1.174-1.1737 1.7611l1.8444 7.8828c-5.5753 1.174-11.234 1.7611-16.935 1.7611-15.217 0-30.182-4.2768-43.177-12.202 0.71263-1.174 5.1141-7.5474 5.1141-8.4698 0-0.79666-0.71263-1.5095-1.5091-1.5095-1.6348 0-5.1141 6.9603-6.1621 8.344-17.522-11.615-30.182-29.602-35.044-50.148l8.0066-1.761c0.92222-0.25158 1.1737-0.92246 1.1737-1.7611 0-0.79667-1.1737-1.2579-1.8444-1.174l-7.8389 1.803c-1.048-5.3251-1.6348-10.692-1.6348-16.143 0-15.556 4.4015-30.86 12.66-43.984 1.1737 0.71281 6.749 4.5284 7.6712 4.5284 0.79646 0 1.5091-0.58702 1.5091-1.3837 0-1.6353-6.1621-4.7381-7.5455-5.7024 11.821-17.275 29.805-29.728 50.219-34.34l1.7606 7.757c0.25152 0.92246 0.92222 1.174 1.7606 1.174 0.83838 0 1.2576-1.174 1.1737-1.8449l-1.7606-7.6732c5.1141-0.92246 10.312-1.5095 15.552-1.5095 15.552 0 30.727 4.4026 43.973 12.663-0.79646 1.174-4.5273 6.6249-4.5273 7.5474 0 0.79667 0.58687 1.5095 1.3833 1.5095 1.6348 0 4.7369-6.0379 5.5753-7.4216 17.187 11.615 29.469 29.351 34.248 49.561l-6.4975 1.3837c-1.048 0.25158-1.1737 0.92246-1.1737 1.8449 0 0.79667 1.1737 1.2579 1.7606 1.174l6.6232-1.5095c1.048 5.3251 1.6348 10.776 1.6348 16.227 0 15.221-4.1919 30.189-12.073 43.062-1.1737-0.58702-6.0364-4.0672-6.9586-4.0672-0.8803 0-1.5929 0.71281-1.5929 1.5095zm-14.876-98.483c-5.2178 4.88-53.863 49.48-55.228 51.8l-38.772 64.2c5.0974-4.76 53.863-49.6 55.108-51.72l38.892-64.28z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");\n }\n .zee-launcher-unsupported-message {\n text-align: center;\n width: 250px;\n font-family: sans-serif;\n color: #ffffff;\n }\n .zee-launcher-unsupported-message-copy {\n border: 1px solid #ffffff;\n border-radius: 5px;\n margin-top: 10px;\n }\n #zee-launcher-unsupported-message-input {\n border: none;\n padding: 10px;\n border-radius: 0px;\n border-right: 1px solid #344B60;\n height: 40px;\n color: #ffffff;\n background-color: black;\n box-sizing: border-box;\n width: calc(100% - 65px);\n margin-left: 5px;\n }\n #zee-launcher-unsupported-message-button {\n background: none;\n border: none;\n outline: none;\n text-transform: uppercase;\n color: #ffffff;\n height: 40px;\n display: inline-block;\n width: 59px;\n }\n .zee-launcher-unsupported-message-before-copy {\n height: 100px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: 20px;\n }\n .zee-launcher-unsupported-message-copied .zee-launcher-unsupported-message-before-copy {\n display: none;\n }\n .zee-launcher-unsupported-message-after-copy {\n display: none;\n }\n .zee-launcher-unsupported-message-copied .zee-launcher-unsupported-message-after-copy {\n height: 100px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: 20px;\n }\n </style>\n <div class="zee-launcher-browser-logo"></div>\n <div class="zee-launcher-unsupported-message">Open with ${t} to access this content.</div>\n <div class="zee-launcher-unsupported-message-before-copy">\n <div class="zee-launcher-unsupported-message ">Tap below to copy the address for easy pasting into ${t}.</div>\n <div class="zee-launcher-unsupported-message-copy"><input id="zee-launcher-unsupported-message-input" type="text/"><button id="zee-launcher-unsupported-message-button">Copy</button></div>\n </div>\n <div class="zee-launcher-unsupported-message zee-launcher-unsupported-message-after-copy">COPIED! Now paste into ${t}'s address bar to experience the content.</div>\n `;let r=e.querySelector("#zee-launcher-unsupported-message-input")||document.createElement("input");r.value=window.location.href;let n=()=>{if(navigator.userAgent.match(/iPhone|iPod|iPad/i)){let e=document.createRange();e.selectNodeContents(r);let t=window.getSelection();if(!t)return;t.removeAllRanges(),t.addRange(e),r.setSelectionRange(0,999999999)}else r.select();document.execCommand("copy"),r.blur(),e.classList.toggle("zee-launcher-unsupported-message-copied",!0)};return(e.querySelector("#zee-launcher-unsupported-message-button")||document.createElement("button")).addEventListener("click",n),r.addEventListener("click",n),e}()),Object.assign(e.style,{position:"fixed",width:"100%",height:"100%",top:"0px",left:"0px",zIndex:1001,backgroundColor:"rgba(0, 0, 0, 0.9)",fontFamily:"sans-serif",color:"white",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"}),e.classList.add("zee_launcher_compatibility"),document.body.append(e)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SequenceSource=void 0;const n=r(0),a=r(11),i=r(13),s=r(4),o=r(1);let c=1,u=new Map;class _ extends i.Source{constructor(e,t){super(),this._impl=e,this._pipeline=t,this._packetNumber=0}static create(e){let t=c++;return u.set(t,new _(t,e)),n.zcout("sequence_source_source_t initialized"),t}static get(e){return u.get(e)}loadFromMemory(e){try{this._decoder=new a.SequenceDecoder(e),this._packetNumber=0}catch(e){n.zcerr("Unable to decode sequence:",e)}}getFrame(e){let t=s.Pipeline.get(this._pipeline);if(t&&!e&&this._decoder)for(;this._packetNumber<this._decoder.numberPackets;){let e=this._decoder.dataByPacket.get(this._packetNumber);if(this._packetNumber++,!e)return;switch(e.type){case a.SequenceRecorderPacketType.ACCELEROMETER:t.motionAccelerometerSubmit(e.t,e.x,e.y,e.z);break;case a.SequenceRecorderPacketType.ROTATION_RATE:t.motionRotationRateSubmit(e.t,e.x,e.y,e.z);break;case a.SequenceRecorderPacketType.ATTITUDE:t.motionAttitudeSubmit(e.t,e.x,e.y,e.z);break;case a.SequenceRecorderPacketType.ATTITUDE_MATRIX:t.motionAttitudeMatrix(e.attitude);break;case a.SequenceRecorderPacketType.CAMERA_FRAME:{let r=t.cameraPixelArrays.pop();for(;r&&r.byteLength!==e.greyscale.byteLength;)r=t.cameraPixelArrays.pop();return r||(r=new ArrayBuffer(e.greyscale.byteLength)),new Uint8Array(r).set(e.greyscale),{data:r,cameraSourceData:e.greyscale,cameraModel:e.cameraModel,cameraToDevice:e.cameraToDevice,dataWidth:e.width,dataHeight:e.height,texture:void 0,userFacing:e.userFacing,uvTransform:o.mat4.create(),cameraSource:this}}}}}destroy(){u.delete(this._impl),this.pause()}start(){var e;let t=s.Pipeline.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this)}pause(){let e=s.Pipeline.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0)}uploadGL(e){let t=s.Pipeline.get(this._pipeline);if(!t)return;let r=null==t?void 0:t.glContext;r&&(e.texture||(e.texture=t.getVideoTexture()),e.texture&&e.cameraSourceData&&(r.bindTexture(r.TEXTURE_2D,e.texture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e.dataWidth,e.dataHeight,0,r.LUMINANCE,r.UNSIGNED_BYTE,new Uint8Array(e.cameraSourceData)),r.bindTexture(r.TEXTURE_2D,null)))}}t.SequenceSource=_},function(e,t,r){"use strict";r.r(t),t.default=r.p+"f7b62a3a53b5c9b3222ba8dc53cb8b11.zbin"},function(e,t,r){"use strict";r.r(t),t.default=r.p+"482727c0e7dd40d73f5aae47f238ad61.zbin"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VERSION=void 0,t.VERSION="0.4.0-beta.1"}])}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ZCV=t():e.ZCV=t()}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=18)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.zcwarn=t.zcerr=t.zcout=t.setLogLevel=void 0;const n=r(12);let a=n.log_level_t.LOG_LEVEL_ERROR;t.setLogLevel=function(e){a=e},t.zcout=function(...e){a>=n.log_level_t.LOG_LEVEL_VERBOSE&&console.log("[Zappar] INFO",...e)},t.zcerr=function(...e){a>=n.log_level_t.LOG_LEVEL_ERROR&&console.error("[Zappar] ERROR",...e)},t.zcwarn=function(...e){a>=n.log_level_t.LOG_LEVEL_VERBOSE&&console.log("[Zappar] WARN",...e)}},function(e,t,r){"use strict";r.r(t),r.d(t,"glMatrix",(function(){return n})),r.d(t,"mat2",(function(){return a})),r.d(t,"mat2d",(function(){return i})),r.d(t,"mat3",(function(){return o})),r.d(t,"mat4",(function(){return s})),r.d(t,"quat",(function(){return _})),r.d(t,"quat2",(function(){return f})),r.d(t,"vec2",(function(){return l})),r.d(t,"vec3",(function(){return u})),r.d(t,"vec4",(function(){return c}));var n={};r.r(n),r.d(n,"EPSILON",(function(){return d})),r.d(n,"ARRAY_TYPE",(function(){return h})),r.d(n,"RANDOM",(function(){return m})),r.d(n,"setMatrixArrayType",(function(){return p})),r.d(n,"toRadian",(function(){return g})),r.d(n,"equals",(function(){return v}));var a={};r.r(a),r.d(a,"create",(function(){return w})),r.d(a,"clone",(function(){return y})),r.d(a,"copy",(function(){return M})),r.d(a,"identity",(function(){return x})),r.d(a,"fromValues",(function(){return E})),r.d(a,"set",(function(){return A})),r.d(a,"transpose",(function(){return T})),r.d(a,"invert",(function(){return k})),r.d(a,"adjoint",(function(){return R})),r.d(a,"determinant",(function(){return F})),r.d(a,"multiply",(function(){return S})),r.d(a,"rotate",(function(){return z})),r.d(a,"scale",(function(){return P})),r.d(a,"fromRotation",(function(){return L})),r.d(a,"fromScaling",(function(){return O})),r.d(a,"str",(function(){return I})),r.d(a,"frob",(function(){return U})),r.d(a,"LDU",(function(){return C})),r.d(a,"add",(function(){return D})),r.d(a,"subtract",(function(){return B})),r.d(a,"exactEquals",(function(){return V})),r.d(a,"equals",(function(){return q})),r.d(a,"multiplyScalar",(function(){return N})),r.d(a,"multiplyScalarAndAdd",(function(){return j})),r.d(a,"mul",(function(){return H})),r.d(a,"sub",(function(){return G}));var i={};r.r(i),r.d(i,"create",(function(){return W})),r.d(i,"clone",(function(){return X})),r.d(i,"copy",(function(){return Y})),r.d(i,"identity",(function(){return Z})),r.d(i,"fromValues",(function(){return K})),r.d(i,"set",(function(){return Q})),r.d(i,"invert",(function(){return J})),r.d(i,"determinant",(function(){return $})),r.d(i,"multiply",(function(){return ee})),r.d(i,"rotate",(function(){return te})),r.d(i,"scale",(function(){return re})),r.d(i,"translate",(function(){return ne})),r.d(i,"fromRotation",(function(){return ae})),r.d(i,"fromScaling",(function(){return ie})),r.d(i,"fromTranslation",(function(){return oe})),r.d(i,"str",(function(){return se})),r.d(i,"frob",(function(){return ue})),r.d(i,"add",(function(){return ce})),r.d(i,"subtract",(function(){return _e})),r.d(i,"multiplyScalar",(function(){return fe})),r.d(i,"multiplyScalarAndAdd",(function(){return le})),r.d(i,"exactEquals",(function(){return de})),r.d(i,"equals",(function(){return he})),r.d(i,"mul",(function(){return me})),r.d(i,"sub",(function(){return pe}));var o={};r.r(o),r.d(o,"create",(function(){return be})),r.d(o,"fromMat4",(function(){return ge})),r.d(o,"clone",(function(){return ve})),r.d(o,"copy",(function(){return we})),r.d(o,"fromValues",(function(){return ye})),r.d(o,"set",(function(){return Me})),r.d(o,"identity",(function(){return xe})),r.d(o,"transpose",(function(){return Ee})),r.d(o,"invert",(function(){return Ae})),r.d(o,"adjoint",(function(){return Te})),r.d(o,"determinant",(function(){return ke})),r.d(o,"multiply",(function(){return Re})),r.d(o,"translate",(function(){return Fe})),r.d(o,"rotate",(function(){return Se})),r.d(o,"scale",(function(){return ze})),r.d(o,"fromTranslation",(function(){return Pe})),r.d(o,"fromRotation",(function(){return Le})),r.d(o,"fromScaling",(function(){return Oe})),r.d(o,"fromMat2d",(function(){return Ie})),r.d(o,"fromQuat",(function(){return Ue})),r.d(o,"normalFromMat4",(function(){return Ce})),r.d(o,"projection",(function(){return De})),r.d(o,"str",(function(){return Be})),r.d(o,"frob",(function(){return Ve})),r.d(o,"add",(function(){return qe})),r.d(o,"subtract",(function(){return Ne})),r.d(o,"multiplyScalar",(function(){return je})),r.d(o,"multiplyScalarAndAdd",(function(){return He})),r.d(o,"exactEquals",(function(){return Ge})),r.d(o,"equals",(function(){return We})),r.d(o,"mul",(function(){return Xe})),r.d(o,"sub",(function(){return Ye}));var s={};r.r(s),r.d(s,"create",(function(){return Ze})),r.d(s,"clone",(function(){return Ke})),r.d(s,"copy",(function(){return Qe})),r.d(s,"fromValues",(function(){return Je})),r.d(s,"set",(function(){return $e})),r.d(s,"identity",(function(){return et})),r.d(s,"transpose",(function(){return tt})),r.d(s,"invert",(function(){return rt})),r.d(s,"adjoint",(function(){return nt})),r.d(s,"determinant",(function(){return at})),r.d(s,"multiply",(function(){return it})),r.d(s,"translate",(function(){return ot})),r.d(s,"scale",(function(){return st})),r.d(s,"rotate",(function(){return ut})),r.d(s,"rotateX",(function(){return ct})),r.d(s,"rotateY",(function(){return _t})),r.d(s,"rotateZ",(function(){return ft})),r.d(s,"fromTranslation",(function(){return lt})),r.d(s,"fromScaling",(function(){return dt})),r.d(s,"fromRotation",(function(){return ht})),r.d(s,"fromXRotation",(function(){return mt})),r.d(s,"fromYRotation",(function(){return pt})),r.d(s,"fromZRotation",(function(){return bt})),r.d(s,"fromRotationTranslation",(function(){return gt})),r.d(s,"fromQuat2",(function(){return vt})),r.d(s,"getTranslation",(function(){return wt})),r.d(s,"getScaling",(function(){return yt})),r.d(s,"getRotation",(function(){return Mt})),r.d(s,"fromRotationTranslationScale",(function(){return xt})),r.d(s,"fromRotationTranslationScaleOrigin",(function(){return Et})),r.d(s,"fromQuat",(function(){return At})),r.d(s,"frustum",(function(){return Tt})),r.d(s,"perspective",(function(){return kt})),r.d(s,"perspectiveFromFieldOfView",(function(){return Rt})),r.d(s,"ortho",(function(){return Ft})),r.d(s,"lookAt",(function(){return St})),r.d(s,"targetTo",(function(){return zt})),r.d(s,"str",(function(){return Pt})),r.d(s,"frob",(function(){return Lt})),r.d(s,"add",(function(){return Ot})),r.d(s,"subtract",(function(){return It})),r.d(s,"multiplyScalar",(function(){return Ut})),r.d(s,"multiplyScalarAndAdd",(function(){return Ct})),r.d(s,"exactEquals",(function(){return Dt})),r.d(s,"equals",(function(){return Bt})),r.d(s,"mul",(function(){return Vt})),r.d(s,"sub",(function(){return qt}));var u={};r.r(u),r.d(u,"create",(function(){return Nt})),r.d(u,"clone",(function(){return jt})),r.d(u,"length",(function(){return Ht})),r.d(u,"fromValues",(function(){return Gt})),r.d(u,"copy",(function(){return Wt})),r.d(u,"set",(function(){return Xt})),r.d(u,"add",(function(){return Yt})),r.d(u,"subtract",(function(){return Zt})),r.d(u,"multiply",(function(){return Kt})),r.d(u,"divide",(function(){return Qt})),r.d(u,"ceil",(function(){return Jt})),r.d(u,"floor",(function(){return $t})),r.d(u,"min",(function(){return er})),r.d(u,"max",(function(){return tr})),r.d(u,"round",(function(){return rr})),r.d(u,"scale",(function(){return nr})),r.d(u,"scaleAndAdd",(function(){return ar})),r.d(u,"distance",(function(){return ir})),r.d(u,"squaredDistance",(function(){return or})),r.d(u,"squaredLength",(function(){return sr})),r.d(u,"negate",(function(){return ur})),r.d(u,"inverse",(function(){return cr})),r.d(u,"normalize",(function(){return _r})),r.d(u,"dot",(function(){return fr})),r.d(u,"cross",(function(){return lr})),r.d(u,"lerp",(function(){return dr})),r.d(u,"hermite",(function(){return hr})),r.d(u,"bezier",(function(){return mr})),r.d(u,"random",(function(){return pr})),r.d(u,"transformMat4",(function(){return br})),r.d(u,"transformMat3",(function(){return gr})),r.d(u,"transformQuat",(function(){return vr})),r.d(u,"rotateX",(function(){return wr})),r.d(u,"rotateY",(function(){return yr})),r.d(u,"rotateZ",(function(){return Mr})),r.d(u,"angle",(function(){return xr})),r.d(u,"zero",(function(){return Er})),r.d(u,"str",(function(){return Ar})),r.d(u,"exactEquals",(function(){return Tr})),r.d(u,"equals",(function(){return kr})),r.d(u,"sub",(function(){return Fr})),r.d(u,"mul",(function(){return Sr})),r.d(u,"div",(function(){return zr})),r.d(u,"dist",(function(){return Pr})),r.d(u,"sqrDist",(function(){return Lr})),r.d(u,"len",(function(){return Or})),r.d(u,"sqrLen",(function(){return Ir})),r.d(u,"forEach",(function(){return Ur}));var c={};r.r(c),r.d(c,"create",(function(){return Cr})),r.d(c,"clone",(function(){return Dr})),r.d(c,"fromValues",(function(){return Br})),r.d(c,"copy",(function(){return Vr})),r.d(c,"set",(function(){return qr})),r.d(c,"add",(function(){return Nr})),r.d(c,"subtract",(function(){return jr})),r.d(c,"multiply",(function(){return Hr})),r.d(c,"divide",(function(){return Gr})),r.d(c,"ceil",(function(){return Wr})),r.d(c,"floor",(function(){return Xr})),r.d(c,"min",(function(){return Yr})),r.d(c,"max",(function(){return Zr})),r.d(c,"round",(function(){return Kr})),r.d(c,"scale",(function(){return Qr})),r.d(c,"scaleAndAdd",(function(){return Jr})),r.d(c,"distance",(function(){return $r})),r.d(c,"squaredDistance",(function(){return en})),r.d(c,"length",(function(){return tn})),r.d(c,"squaredLength",(function(){return rn})),r.d(c,"negate",(function(){return nn})),r.d(c,"inverse",(function(){return an})),r.d(c,"normalize",(function(){return on})),r.d(c,"dot",(function(){return sn})),r.d(c,"cross",(function(){return un})),r.d(c,"lerp",(function(){return cn})),r.d(c,"random",(function(){return _n})),r.d(c,"transformMat4",(function(){return fn})),r.d(c,"transformQuat",(function(){return ln})),r.d(c,"zero",(function(){return dn})),r.d(c,"str",(function(){return hn})),r.d(c,"exactEquals",(function(){return mn})),r.d(c,"equals",(function(){return pn})),r.d(c,"sub",(function(){return bn})),r.d(c,"mul",(function(){return gn})),r.d(c,"div",(function(){return vn})),r.d(c,"dist",(function(){return wn})),r.d(c,"sqrDist",(function(){return yn})),r.d(c,"len",(function(){return Mn})),r.d(c,"sqrLen",(function(){return xn})),r.d(c,"forEach",(function(){return En}));var _={};r.r(_),r.d(_,"create",(function(){return An})),r.d(_,"identity",(function(){return Tn})),r.d(_,"setAxisAngle",(function(){return kn})),r.d(_,"getAxisAngle",(function(){return Rn})),r.d(_,"getAngle",(function(){return Fn})),r.d(_,"multiply",(function(){return Sn})),r.d(_,"rotateX",(function(){return zn})),r.d(_,"rotateY",(function(){return Pn})),r.d(_,"rotateZ",(function(){return Ln})),r.d(_,"calculateW",(function(){return On})),r.d(_,"exp",(function(){return In})),r.d(_,"ln",(function(){return Un})),r.d(_,"pow",(function(){return Cn})),r.d(_,"slerp",(function(){return Dn})),r.d(_,"random",(function(){return Bn})),r.d(_,"invert",(function(){return Vn})),r.d(_,"conjugate",(function(){return qn})),r.d(_,"fromMat3",(function(){return Nn})),r.d(_,"fromEuler",(function(){return jn})),r.d(_,"str",(function(){return Hn})),r.d(_,"clone",(function(){return Qn})),r.d(_,"fromValues",(function(){return Jn})),r.d(_,"copy",(function(){return $n})),r.d(_,"set",(function(){return ea})),r.d(_,"add",(function(){return ta})),r.d(_,"mul",(function(){return ra})),r.d(_,"scale",(function(){return na})),r.d(_,"dot",(function(){return aa})),r.d(_,"lerp",(function(){return ia})),r.d(_,"length",(function(){return oa})),r.d(_,"len",(function(){return sa})),r.d(_,"squaredLength",(function(){return ua})),r.d(_,"sqrLen",(function(){return ca})),r.d(_,"normalize",(function(){return _a})),r.d(_,"exactEquals",(function(){return fa})),r.d(_,"equals",(function(){return la})),r.d(_,"rotationTo",(function(){return da})),r.d(_,"sqlerp",(function(){return ha})),r.d(_,"setAxes",(function(){return ma}));var f={};r.r(f),r.d(f,"create",(function(){return pa})),r.d(f,"clone",(function(){return ba})),r.d(f,"fromValues",(function(){return ga})),r.d(f,"fromRotationTranslationValues",(function(){return va})),r.d(f,"fromRotationTranslation",(function(){return wa})),r.d(f,"fromTranslation",(function(){return ya})),r.d(f,"fromRotation",(function(){return Ma})),r.d(f,"fromMat4",(function(){return xa})),r.d(f,"copy",(function(){return Ea})),r.d(f,"identity",(function(){return Aa})),r.d(f,"set",(function(){return Ta})),r.d(f,"getReal",(function(){return ka})),r.d(f,"getDual",(function(){return Ra})),r.d(f,"setReal",(function(){return Fa})),r.d(f,"setDual",(function(){return Sa})),r.d(f,"getTranslation",(function(){return za})),r.d(f,"translate",(function(){return Pa})),r.d(f,"rotateX",(function(){return La})),r.d(f,"rotateY",(function(){return Oa})),r.d(f,"rotateZ",(function(){return Ia})),r.d(f,"rotateByQuatAppend",(function(){return Ua})),r.d(f,"rotateByQuatPrepend",(function(){return Ca})),r.d(f,"rotateAroundAxis",(function(){return Da})),r.d(f,"add",(function(){return Ba})),r.d(f,"multiply",(function(){return Va})),r.d(f,"mul",(function(){return qa})),r.d(f,"scale",(function(){return Na})),r.d(f,"dot",(function(){return ja})),r.d(f,"lerp",(function(){return Ha})),r.d(f,"invert",(function(){return Ga})),r.d(f,"conjugate",(function(){return Wa})),r.d(f,"length",(function(){return Xa})),r.d(f,"len",(function(){return Ya})),r.d(f,"squaredLength",(function(){return Za})),r.d(f,"sqrLen",(function(){return Ka})),r.d(f,"normalize",(function(){return Qa})),r.d(f,"str",(function(){return Ja})),r.d(f,"exactEquals",(function(){return $a})),r.d(f,"equals",(function(){return ei}));var l={};r.r(l),r.d(l,"create",(function(){return ti})),r.d(l,"clone",(function(){return ri})),r.d(l,"fromValues",(function(){return ni})),r.d(l,"copy",(function(){return ai})),r.d(l,"set",(function(){return ii})),r.d(l,"add",(function(){return oi})),r.d(l,"subtract",(function(){return si})),r.d(l,"multiply",(function(){return ui})),r.d(l,"divide",(function(){return ci})),r.d(l,"ceil",(function(){return _i})),r.d(l,"floor",(function(){return fi})),r.d(l,"min",(function(){return li})),r.d(l,"max",(function(){return di})),r.d(l,"round",(function(){return hi})),r.d(l,"scale",(function(){return mi})),r.d(l,"scaleAndAdd",(function(){return pi})),r.d(l,"distance",(function(){return bi})),r.d(l,"squaredDistance",(function(){return gi})),r.d(l,"length",(function(){return vi})),r.d(l,"squaredLength",(function(){return wi})),r.d(l,"negate",(function(){return yi})),r.d(l,"inverse",(function(){return Mi})),r.d(l,"normalize",(function(){return xi})),r.d(l,"dot",(function(){return Ei})),r.d(l,"cross",(function(){return Ai})),r.d(l,"lerp",(function(){return Ti})),r.d(l,"random",(function(){return ki})),r.d(l,"transformMat2",(function(){return Ri})),r.d(l,"transformMat2d",(function(){return Fi})),r.d(l,"transformMat3",(function(){return Si})),r.d(l,"transformMat4",(function(){return zi})),r.d(l,"rotate",(function(){return Pi})),r.d(l,"angle",(function(){return Li})),r.d(l,"zero",(function(){return Oi})),r.d(l,"str",(function(){return Ii})),r.d(l,"exactEquals",(function(){return Ui})),r.d(l,"equals",(function(){return Ci})),r.d(l,"len",(function(){return Di})),r.d(l,"sub",(function(){return Bi})),r.d(l,"mul",(function(){return Vi})),r.d(l,"div",(function(){return qi})),r.d(l,"dist",(function(){return Ni})),r.d(l,"sqrDist",(function(){return ji})),r.d(l,"sqrLen",(function(){return Hi})),r.d(l,"forEach",(function(){return Gi}));var d=1e-6,h="undefined"!=typeof Float32Array?Float32Array:Array,m=Math.random;function p(e){h=e}var b=Math.PI/180;function g(e){return e*b}function v(e,t){return Math.abs(e-t)<=d*Math.max(1,Math.abs(e),Math.abs(t))}function w(){var e=new h(4);return h!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}function y(e){var t=new h(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function M(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function x(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e}function E(e,t,r,n){var a=new h(4);return a[0]=e,a[1]=t,a[2]=r,a[3]=n,a}function A(e,t,r,n,a){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e}function T(e,t){if(e===t){var r=t[1];e[1]=t[2],e[2]=r}else e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3];return e}function k(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=r*i-a*n;return o?(o=1/o,e[0]=i*o,e[1]=-n*o,e[2]=-a*o,e[3]=r*o,e):null}function R(e,t){var r=t[0];return e[0]=t[3],e[1]=-t[1],e[2]=-t[2],e[3]=r,e}function F(e){return e[0]*e[3]-e[2]*e[1]}function S(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=r[0],u=r[1],c=r[2],_=r[3];return e[0]=n*s+i*u,e[1]=a*s+o*u,e[2]=n*c+i*_,e[3]=a*c+o*_,e}function z(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=a*u+o*s,e[2]=n*-s+i*u,e[3]=a*-s+o*u,e}function P(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=r[0],u=r[1];return e[0]=n*s,e[1]=a*s,e[2]=i*u,e[3]=o*u,e}function L(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=-r,e[3]=n,e}function O(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=t[1],e}function I(e){return"mat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}function U(e){return Math.hypot(e[0],e[1],e[2],e[3])}function C(e,t,r,n){return e[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-e[2]*r[1],[e,t,r]}function D(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function B(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e}function V(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function q(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=t[0],s=t[1],u=t[2],c=t[3];return Math.abs(r-o)<=d*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-s)<=d*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(a-u)<=d*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(i-c)<=d*Math.max(1,Math.abs(i),Math.abs(c))}function N(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function j(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var H=S,G=B;function W(){var e=new h(6);return h!=Float32Array&&(e[1]=0,e[2]=0,e[4]=0,e[5]=0),e[0]=1,e[3]=1,e}function X(e){var t=new h(6);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function Y(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function Z(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e}function K(e,t,r,n,a,i){var o=new h(6);return o[0]=e,o[1]=t,o[2]=r,o[3]=n,o[4]=a,o[5]=i,o}function Q(e,t,r,n,a,i,o){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=o,e}function J(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=r*i-n*a;return u?(u=1/u,e[0]=i*u,e[1]=-n*u,e[2]=-a*u,e[3]=r*u,e[4]=(a*s-i*o)*u,e[5]=(n*o-r*s)*u,e):null}function $(e){return e[0]*e[3]-e[1]*e[2]}function ee(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=r[0],_=r[1],f=r[2],l=r[3],d=r[4],h=r[5];return e[0]=n*c+i*_,e[1]=a*c+o*_,e[2]=n*f+i*l,e[3]=a*f+o*l,e[4]=n*d+i*h+s,e[5]=a*d+o*h+u,e}function te(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=Math.sin(r),_=Math.cos(r);return e[0]=n*_+i*c,e[1]=a*_+o*c,e[2]=n*-c+i*_,e[3]=a*-c+o*_,e[4]=s,e[5]=u,e}function re(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=r[0],_=r[1];return e[0]=n*c,e[1]=a*c,e[2]=i*_,e[3]=o*_,e[4]=s,e[5]=u,e}function ne(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=r[0],_=r[1];return e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=n*c+i*_+s,e[5]=a*c+o*_+u,e}function ae(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=-r,e[3]=n,e[4]=0,e[5]=0,e}function ie(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=t[1],e[4]=0,e[5]=0,e}function oe(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=t[0],e[5]=t[1],e}function se(e){return"mat2d("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+")"}function ue(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],1)}function ce(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e}function _e(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e}function fe(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e}function le(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e}function de(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]}function he(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=t[0],c=t[1],_=t[2],f=t[3],l=t[4],h=t[5];return Math.abs(r-u)<=d*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(n-c)<=d*Math.max(1,Math.abs(n),Math.abs(c))&&Math.abs(a-_)<=d*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(i-f)<=d*Math.max(1,Math.abs(i),Math.abs(f))&&Math.abs(o-l)<=d*Math.max(1,Math.abs(o),Math.abs(l))&&Math.abs(s-h)<=d*Math.max(1,Math.abs(s),Math.abs(h))}var me=ee,pe=_e;function be(){var e=new h(9);return h!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function ge(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e}function ve(e){var t=new h(9);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function we(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function ye(e,t,r,n,a,i,o,s,u){var c=new h(9);return c[0]=e,c[1]=t,c[2]=r,c[3]=n,c[4]=a,c[5]=i,c[6]=o,c[7]=s,c[8]=u,c}function Me(e,t,r,n,a,i,o,s,u,c){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e}function xe(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function Ee(e,t){if(e===t){var r=t[1],n=t[2],a=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=a}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Ae(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],c=t[7],_=t[8],f=_*o-s*c,l=-_*i+s*u,d=c*i-o*u,h=r*f+n*l+a*d;return h?(h=1/h,e[0]=f*h,e[1]=(-_*n+a*c)*h,e[2]=(s*n-a*o)*h,e[3]=l*h,e[4]=(_*r-a*u)*h,e[5]=(-s*r+a*i)*h,e[6]=d*h,e[7]=(-c*r+n*u)*h,e[8]=(o*r-n*i)*h,e):null}function Te(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],c=t[7],_=t[8];return e[0]=o*_-s*c,e[1]=a*c-n*_,e[2]=n*s-a*o,e[3]=s*u-i*_,e[4]=r*_-a*u,e[5]=a*i-r*s,e[6]=i*c-o*u,e[7]=n*u-r*c,e[8]=r*o-n*i,e}function ke(e){var t=e[0],r=e[1],n=e[2],a=e[3],i=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*i-o*u)+r*(-c*a+o*s)+n*(u*a-i*s)}function Re(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=t[8],l=r[0],d=r[1],h=r[2],m=r[3],p=r[4],b=r[5],g=r[6],v=r[7],w=r[8];return e[0]=l*n+d*o+h*c,e[1]=l*a+d*s+h*_,e[2]=l*i+d*u+h*f,e[3]=m*n+p*o+b*c,e[4]=m*a+p*s+b*_,e[5]=m*i+p*u+b*f,e[6]=g*n+v*o+w*c,e[7]=g*a+v*s+w*_,e[8]=g*i+v*u+w*f,e}function Fe(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=t[8],l=r[0],d=r[1];return e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=s,e[5]=u,e[6]=l*n+d*o+c,e[7]=l*a+d*s+_,e[8]=l*i+d*u+f,e}function Se(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=t[8],l=Math.sin(r),d=Math.cos(r);return e[0]=d*n+l*o,e[1]=d*a+l*s,e[2]=d*i+l*u,e[3]=d*o-l*n,e[4]=d*s-l*a,e[5]=d*u-l*i,e[6]=c,e[7]=_,e[8]=f,e}function ze(e,t,r){var n=r[0],a=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=a*t[3],e[4]=a*t[4],e[5]=a*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Pe(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=t[0],e[7]=t[1],e[8]=1,e}function Le(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=-r,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function Oe(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=t[1],e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function Ie(e,t){return e[0]=t[0],e[1]=t[1],e[2]=0,e[3]=t[2],e[4]=t[3],e[5]=0,e[6]=t[4],e[7]=t[5],e[8]=1,e}function Ue(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=r+r,s=n+n,u=a+a,c=r*o,_=n*o,f=n*s,l=a*o,d=a*s,h=a*u,m=i*o,p=i*s,b=i*u;return e[0]=1-f-h,e[3]=_-b,e[6]=l+p,e[1]=_+b,e[4]=1-c-h,e[7]=d-m,e[2]=l-p,e[5]=d+m,e[8]=1-c-f,e}function Ce(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],c=t[7],_=t[8],f=t[9],l=t[10],d=t[11],h=t[12],m=t[13],p=t[14],b=t[15],g=r*s-n*o,v=r*u-a*o,w=r*c-i*o,y=n*u-a*s,M=n*c-i*s,x=a*c-i*u,E=_*m-f*h,A=_*p-l*h,T=_*b-d*h,k=f*p-l*m,R=f*b-d*m,F=l*b-d*p,S=g*F-v*R+w*k+y*T-M*A+x*E;return S?(S=1/S,e[0]=(s*F-u*R+c*k)*S,e[1]=(u*T-o*F-c*A)*S,e[2]=(o*R-s*T+c*E)*S,e[3]=(a*R-n*F-i*k)*S,e[4]=(r*F-a*T+i*A)*S,e[5]=(n*T-r*R-i*E)*S,e[6]=(m*x-p*M+b*y)*S,e[7]=(p*w-h*x-b*v)*S,e[8]=(h*M-m*w+b*g)*S,e):null}function De(e,t,r){return e[0]=2/t,e[1]=0,e[2]=0,e[3]=0,e[4]=-2/r,e[5]=0,e[6]=-1,e[7]=1,e[8]=1,e}function Be(e){return"mat3("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+")"}function Ve(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])}function qe(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e}function Ne(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e}function je(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e}function He(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e}function Ge(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]}function We(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],c=e[7],_=e[8],f=t[0],l=t[1],h=t[2],m=t[3],p=t[4],b=t[5],g=t[6],v=t[7],w=t[8];return Math.abs(r-f)<=d*Math.max(1,Math.abs(r),Math.abs(f))&&Math.abs(n-l)<=d*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(a-h)<=d*Math.max(1,Math.abs(a),Math.abs(h))&&Math.abs(i-m)<=d*Math.max(1,Math.abs(i),Math.abs(m))&&Math.abs(o-p)<=d*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(s-b)<=d*Math.max(1,Math.abs(s),Math.abs(b))&&Math.abs(u-g)<=d*Math.max(1,Math.abs(u),Math.abs(g))&&Math.abs(c-v)<=d*Math.max(1,Math.abs(c),Math.abs(v))&&Math.abs(_-w)<=d*Math.max(1,Math.abs(_),Math.abs(w))}var Xe=Re,Ye=Ne;function Ze(){var e=new h(16);return h!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Ke(e){var t=new h(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Qe(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Je(e,t,r,n,a,i,o,s,u,c,_,f,l,d,m,p){var b=new h(16);return b[0]=e,b[1]=t,b[2]=r,b[3]=n,b[4]=a,b[5]=i,b[6]=o,b[7]=s,b[8]=u,b[9]=c,b[10]=_,b[11]=f,b[12]=l,b[13]=d,b[14]=m,b[15]=p,b}function $e(e,t,r,n,a,i,o,s,u,c,_,f,l,d,h,m,p){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=_,e[10]=f,e[11]=l,e[12]=d,e[13]=h,e[14]=m,e[15]=p,e}function et(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function tt(e,t){if(e===t){var r=t[1],n=t[2],a=t[3],i=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=a,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function rt(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],c=t[7],_=t[8],f=t[9],l=t[10],d=t[11],h=t[12],m=t[13],p=t[14],b=t[15],g=r*s-n*o,v=r*u-a*o,w=r*c-i*o,y=n*u-a*s,M=n*c-i*s,x=a*c-i*u,E=_*m-f*h,A=_*p-l*h,T=_*b-d*h,k=f*p-l*m,R=f*b-d*m,F=l*b-d*p,S=g*F-v*R+w*k+y*T-M*A+x*E;return S?(S=1/S,e[0]=(s*F-u*R+c*k)*S,e[1]=(a*R-n*F-i*k)*S,e[2]=(m*x-p*M+b*y)*S,e[3]=(l*M-f*x-d*y)*S,e[4]=(u*T-o*F-c*A)*S,e[5]=(r*F-a*T+i*A)*S,e[6]=(p*w-h*x-b*v)*S,e[7]=(_*x-l*w+d*v)*S,e[8]=(o*R-s*T+c*E)*S,e[9]=(n*T-r*R-i*E)*S,e[10]=(h*M-m*w+b*g)*S,e[11]=(f*w-_*M-d*g)*S,e[12]=(s*A-o*k-u*E)*S,e[13]=(r*k-n*A+a*E)*S,e[14]=(m*v-h*y-p*g)*S,e[15]=(_*y-f*v+l*g)*S,e):null}function nt(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],c=t[7],_=t[8],f=t[9],l=t[10],d=t[11],h=t[12],m=t[13],p=t[14],b=t[15];return e[0]=s*(l*b-d*p)-f*(u*b-c*p)+m*(u*d-c*l),e[1]=-(n*(l*b-d*p)-f*(a*b-i*p)+m*(a*d-i*l)),e[2]=n*(u*b-c*p)-s*(a*b-i*p)+m*(a*c-i*u),e[3]=-(n*(u*d-c*l)-s*(a*d-i*l)+f*(a*c-i*u)),e[4]=-(o*(l*b-d*p)-_*(u*b-c*p)+h*(u*d-c*l)),e[5]=r*(l*b-d*p)-_*(a*b-i*p)+h*(a*d-i*l),e[6]=-(r*(u*b-c*p)-o*(a*b-i*p)+h*(a*c-i*u)),e[7]=r*(u*d-c*l)-o*(a*d-i*l)+_*(a*c-i*u),e[8]=o*(f*b-d*m)-_*(s*b-c*m)+h*(s*d-c*f),e[9]=-(r*(f*b-d*m)-_*(n*b-i*m)+h*(n*d-i*f)),e[10]=r*(s*b-c*m)-o*(n*b-i*m)+h*(n*c-i*s),e[11]=-(r*(s*d-c*f)-o*(n*d-i*f)+_*(n*c-i*s)),e[12]=-(o*(f*p-l*m)-_*(s*p-u*m)+h*(s*l-u*f)),e[13]=r*(f*p-l*m)-_*(n*p-a*m)+h*(n*l-a*f),e[14]=-(r*(s*p-u*m)-o*(n*p-a*m)+h*(n*u-a*s)),e[15]=r*(s*l-u*f)-o*(n*l-a*f)+_*(n*u-a*s),e}function at(e){var t=e[0],r=e[1],n=e[2],a=e[3],i=e[4],o=e[5],s=e[6],u=e[7],c=e[8],_=e[9],f=e[10],l=e[11],d=e[12],h=e[13],m=e[14],p=e[15];return(t*o-r*i)*(f*p-l*m)-(t*s-n*i)*(_*p-l*h)+(t*u-a*i)*(_*m-f*h)+(r*s-n*o)*(c*p-l*d)-(r*u-a*o)*(c*m-f*d)+(n*u-a*s)*(c*h-_*d)}function it(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=t[8],l=t[9],d=t[10],h=t[11],m=t[12],p=t[13],b=t[14],g=t[15],v=r[0],w=r[1],y=r[2],M=r[3];return e[0]=v*n+w*s+y*f+M*m,e[1]=v*a+w*u+y*l+M*p,e[2]=v*i+w*c+y*d+M*b,e[3]=v*o+w*_+y*h+M*g,v=r[4],w=r[5],y=r[6],M=r[7],e[4]=v*n+w*s+y*f+M*m,e[5]=v*a+w*u+y*l+M*p,e[6]=v*i+w*c+y*d+M*b,e[7]=v*o+w*_+y*h+M*g,v=r[8],w=r[9],y=r[10],M=r[11],e[8]=v*n+w*s+y*f+M*m,e[9]=v*a+w*u+y*l+M*p,e[10]=v*i+w*c+y*d+M*b,e[11]=v*o+w*_+y*h+M*g,v=r[12],w=r[13],y=r[14],M=r[15],e[12]=v*n+w*s+y*f+M*m,e[13]=v*a+w*u+y*l+M*p,e[14]=v*i+w*c+y*d+M*b,e[15]=v*o+w*_+y*h+M*g,e}function ot(e,t,r){var n,a,i,o,s,u,c,_,f,l,d,h,m=r[0],p=r[1],b=r[2];return t===e?(e[12]=t[0]*m+t[4]*p+t[8]*b+t[12],e[13]=t[1]*m+t[5]*p+t[9]*b+t[13],e[14]=t[2]*m+t[6]*p+t[10]*b+t[14],e[15]=t[3]*m+t[7]*p+t[11]*b+t[15]):(n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=t[8],l=t[9],d=t[10],h=t[11],e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=s,e[5]=u,e[6]=c,e[7]=_,e[8]=f,e[9]=l,e[10]=d,e[11]=h,e[12]=n*m+s*p+f*b+t[12],e[13]=a*m+u*p+l*b+t[13],e[14]=i*m+c*p+d*b+t[14],e[15]=o*m+_*p+h*b+t[15]),e}function st(e,t,r){var n=r[0],a=r[1],i=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*a,e[5]=t[5]*a,e[6]=t[6]*a,e[7]=t[7]*a,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function ut(e,t,r,n){var a,i,o,s,u,c,_,f,l,h,m,p,b,g,v,w,y,M,x,E,A,T,k,R,F=n[0],S=n[1],z=n[2],P=Math.hypot(F,S,z);return P<d?null:(F*=P=1/P,S*=P,z*=P,a=Math.sin(r),o=1-(i=Math.cos(r)),s=t[0],u=t[1],c=t[2],_=t[3],f=t[4],l=t[5],h=t[6],m=t[7],p=t[8],b=t[9],g=t[10],v=t[11],w=F*F*o+i,y=S*F*o+z*a,M=z*F*o-S*a,x=F*S*o-z*a,E=S*S*o+i,A=z*S*o+F*a,T=F*z*o+S*a,k=S*z*o-F*a,R=z*z*o+i,e[0]=s*w+f*y+p*M,e[1]=u*w+l*y+b*M,e[2]=c*w+h*y+g*M,e[3]=_*w+m*y+v*M,e[4]=s*x+f*E+p*A,e[5]=u*x+l*E+b*A,e[6]=c*x+h*E+g*A,e[7]=_*x+m*E+v*A,e[8]=s*T+f*k+p*R,e[9]=u*T+l*k+b*R,e[10]=c*T+h*k+g*R,e[11]=_*T+m*k+v*R,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function ct(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[4],o=t[5],s=t[6],u=t[7],c=t[8],_=t[9],f=t[10],l=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*a+c*n,e[5]=o*a+_*n,e[6]=s*a+f*n,e[7]=u*a+l*n,e[8]=c*a-i*n,e[9]=_*a-o*n,e[10]=f*a-s*n,e[11]=l*a-u*n,e}function _t(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[0],o=t[1],s=t[2],u=t[3],c=t[8],_=t[9],f=t[10],l=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a-c*n,e[1]=o*a-_*n,e[2]=s*a-f*n,e[3]=u*a-l*n,e[8]=i*n+c*a,e[9]=o*n+_*a,e[10]=s*n+f*a,e[11]=u*n+l*a,e}function ft(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[0],o=t[1],s=t[2],u=t[3],c=t[4],_=t[5],f=t[6],l=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a+c*n,e[1]=o*a+_*n,e[2]=s*a+f*n,e[3]=u*a+l*n,e[4]=c*a-i*n,e[5]=_*a-o*n,e[6]=f*a-s*n,e[7]=l*a-u*n,e}function lt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function dt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ht(e,t,r){var n,a,i,o=r[0],s=r[1],u=r[2],c=Math.hypot(o,s,u);return c<d?null:(o*=c=1/c,s*=c,u*=c,n=Math.sin(t),i=1-(a=Math.cos(t)),e[0]=o*o*i+a,e[1]=s*o*i+u*n,e[2]=u*o*i-s*n,e[3]=0,e[4]=o*s*i-u*n,e[5]=s*s*i+a,e[6]=u*s*i+o*n,e[7]=0,e[8]=o*u*i+s*n,e[9]=s*u*i-o*n,e[10]=u*u*i+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function mt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function pt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function bt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function gt(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=n+n,u=a+a,c=i+i,_=n*s,f=n*u,l=n*c,d=a*u,h=a*c,m=i*c,p=o*s,b=o*u,g=o*c;return e[0]=1-(d+m),e[1]=f+g,e[2]=l-b,e[3]=0,e[4]=f-g,e[5]=1-(_+m),e[6]=h+p,e[7]=0,e[8]=l+b,e[9]=h-p,e[10]=1-(_+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function vt(e,t){var r=new h(3),n=-t[0],a=-t[1],i=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=n*n+a*a+i*i+o*o;return f>0?(r[0]=2*(s*o+_*n+u*i-c*a)/f,r[1]=2*(u*o+_*a+c*n-s*i)/f,r[2]=2*(c*o+_*i+s*a-u*n)/f):(r[0]=2*(s*o+_*n+u*i-c*a),r[1]=2*(u*o+_*a+c*n-s*i),r[2]=2*(c*o+_*i+s*a-u*n)),gt(e,t,r),e}function wt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function yt(e,t){var r=t[0],n=t[1],a=t[2],i=t[4],o=t[5],s=t[6],u=t[8],c=t[9],_=t[10];return e[0]=Math.hypot(r,n,a),e[1]=Math.hypot(i,o,s),e[2]=Math.hypot(u,c,_),e}function Mt(e,t){var r=new h(3);yt(r,t);var n=1/r[0],a=1/r[1],i=1/r[2],o=t[0]*n,s=t[1]*a,u=t[2]*i,c=t[4]*n,_=t[5]*a,f=t[6]*i,l=t[8]*n,d=t[9]*a,m=t[10]*i,p=o+_+m,b=0;return p>0?(b=2*Math.sqrt(p+1),e[3]=.25*b,e[0]=(f-d)/b,e[1]=(l-u)/b,e[2]=(s-c)/b):o>_&&o>m?(b=2*Math.sqrt(1+o-_-m),e[3]=(f-d)/b,e[0]=.25*b,e[1]=(s+c)/b,e[2]=(l+u)/b):_>m?(b=2*Math.sqrt(1+_-o-m),e[3]=(l-u)/b,e[0]=(s+c)/b,e[1]=.25*b,e[2]=(f+d)/b):(b=2*Math.sqrt(1+m-o-_),e[3]=(s-c)/b,e[0]=(l+u)/b,e[1]=(f+d)/b,e[2]=.25*b),e}function xt(e,t,r,n){var a=t[0],i=t[1],o=t[2],s=t[3],u=a+a,c=i+i,_=o+o,f=a*u,l=a*c,d=a*_,h=i*c,m=i*_,p=o*_,b=s*u,g=s*c,v=s*_,w=n[0],y=n[1],M=n[2];return e[0]=(1-(h+p))*w,e[1]=(l+v)*w,e[2]=(d-g)*w,e[3]=0,e[4]=(l-v)*y,e[5]=(1-(f+p))*y,e[6]=(m+b)*y,e[7]=0,e[8]=(d+g)*M,e[9]=(m-b)*M,e[10]=(1-(f+h))*M,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Et(e,t,r,n,a){var i=t[0],o=t[1],s=t[2],u=t[3],c=i+i,_=o+o,f=s+s,l=i*c,d=i*_,h=i*f,m=o*_,p=o*f,b=s*f,g=u*c,v=u*_,w=u*f,y=n[0],M=n[1],x=n[2],E=a[0],A=a[1],T=a[2],k=(1-(m+b))*y,R=(d+w)*y,F=(h-v)*y,S=(d-w)*M,z=(1-(l+b))*M,P=(p+g)*M,L=(h+v)*x,O=(p-g)*x,I=(1-(l+m))*x;return e[0]=k,e[1]=R,e[2]=F,e[3]=0,e[4]=S,e[5]=z,e[6]=P,e[7]=0,e[8]=L,e[9]=O,e[10]=I,e[11]=0,e[12]=r[0]+E-(k*E+S*A+L*T),e[13]=r[1]+A-(R*E+z*A+O*T),e[14]=r[2]+T-(F*E+P*A+I*T),e[15]=1,e}function At(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=r+r,s=n+n,u=a+a,c=r*o,_=n*o,f=n*s,l=a*o,d=a*s,h=a*u,m=i*o,p=i*s,b=i*u;return e[0]=1-f-h,e[1]=_+b,e[2]=l-p,e[3]=0,e[4]=_-b,e[5]=1-c-h,e[6]=d+m,e[7]=0,e[8]=l+p,e[9]=d-m,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Tt(e,t,r,n,a,i,o){var s=1/(r-t),u=1/(a-n),c=1/(i-o);return e[0]=2*i*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*i*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(a+n)*u,e[10]=(o+i)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*c,e[15]=0,e}function kt(e,t,r,n,a){var i,o=1/Math.tan(t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=a&&a!==1/0?(i=1/(n-a),e[10]=(a+n)*i,e[14]=2*a*n*i):(e[10]=-1,e[14]=-2*n),e}function Rt(e,t,r,n){var a=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(a+i);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-(o-s)*u*.5,e[9]=(a-i)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Ft(e,t,r,n,a,i,o){var s=1/(t-r),u=1/(n-a),c=1/(i-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(a+n)*u,e[14]=(o+i)*c,e[15]=1,e}function St(e,t,r,n){var a,i,o,s,u,c,_,f,l,h,m=t[0],p=t[1],b=t[2],g=n[0],v=n[1],w=n[2],y=r[0],M=r[1],x=r[2];return Math.abs(m-y)<d&&Math.abs(p-M)<d&&Math.abs(b-x)<d?et(e):(_=m-y,f=p-M,l=b-x,a=v*(l*=h=1/Math.hypot(_,f,l))-w*(f*=h),i=w*(_*=h)-g*l,o=g*f-v*_,(h=Math.hypot(a,i,o))?(a*=h=1/h,i*=h,o*=h):(a=0,i=0,o=0),s=f*o-l*i,u=l*a-_*o,c=_*i-f*a,(h=Math.hypot(s,u,c))?(s*=h=1/h,u*=h,c*=h):(s=0,u=0,c=0),e[0]=a,e[1]=s,e[2]=_,e[3]=0,e[4]=i,e[5]=u,e[6]=f,e[7]=0,e[8]=o,e[9]=c,e[10]=l,e[11]=0,e[12]=-(a*m+i*p+o*b),e[13]=-(s*m+u*p+c*b),e[14]=-(_*m+f*p+l*b),e[15]=1,e)}function zt(e,t,r,n){var a=t[0],i=t[1],o=t[2],s=n[0],u=n[1],c=n[2],_=a-r[0],f=i-r[1],l=o-r[2],d=_*_+f*f+l*l;d>0&&(_*=d=1/Math.sqrt(d),f*=d,l*=d);var h=u*l-c*f,m=c*_-s*l,p=s*f-u*_;return(d=h*h+m*m+p*p)>0&&(h*=d=1/Math.sqrt(d),m*=d,p*=d),e[0]=h,e[1]=m,e[2]=p,e[3]=0,e[4]=f*p-l*m,e[5]=l*h-_*p,e[6]=_*m-f*h,e[7]=0,e[8]=_,e[9]=f,e[10]=l,e[11]=0,e[12]=a,e[13]=i,e[14]=o,e[15]=1,e}function Pt(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}function Lt(e){return Math.hypot(e[0],e[1],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}function Ot(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function It(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function Ut(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function Ct(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function Dt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function Bt(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],c=e[7],_=e[8],f=e[9],l=e[10],h=e[11],m=e[12],p=e[13],b=e[14],g=e[15],v=t[0],w=t[1],y=t[2],M=t[3],x=t[4],E=t[5],A=t[6],T=t[7],k=t[8],R=t[9],F=t[10],S=t[11],z=t[12],P=t[13],L=t[14],O=t[15];return Math.abs(r-v)<=d*Math.max(1,Math.abs(r),Math.abs(v))&&Math.abs(n-w)<=d*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(a-y)<=d*Math.max(1,Math.abs(a),Math.abs(y))&&Math.abs(i-M)<=d*Math.max(1,Math.abs(i),Math.abs(M))&&Math.abs(o-x)<=d*Math.max(1,Math.abs(o),Math.abs(x))&&Math.abs(s-E)<=d*Math.max(1,Math.abs(s),Math.abs(E))&&Math.abs(u-A)<=d*Math.max(1,Math.abs(u),Math.abs(A))&&Math.abs(c-T)<=d*Math.max(1,Math.abs(c),Math.abs(T))&&Math.abs(_-k)<=d*Math.max(1,Math.abs(_),Math.abs(k))&&Math.abs(f-R)<=d*Math.max(1,Math.abs(f),Math.abs(R))&&Math.abs(l-F)<=d*Math.max(1,Math.abs(l),Math.abs(F))&&Math.abs(h-S)<=d*Math.max(1,Math.abs(h),Math.abs(S))&&Math.abs(m-z)<=d*Math.max(1,Math.abs(m),Math.abs(z))&&Math.abs(p-P)<=d*Math.max(1,Math.abs(p),Math.abs(P))&&Math.abs(b-L)<=d*Math.max(1,Math.abs(b),Math.abs(L))&&Math.abs(g-O)<=d*Math.max(1,Math.abs(g),Math.abs(O))}var Vt=it,qt=It;function Nt(){var e=new h(3);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function jt(e){var t=new h(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Ht(e){var t=e[0],r=e[1],n=e[2];return Math.hypot(t,r,n)}function Gt(e,t,r){var n=new h(3);return n[0]=e,n[1]=t,n[2]=r,n}function Wt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Xt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function Yt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function Zt(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Kt(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Qt(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function Jt(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function $t(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function er(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function tr(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function rr(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e}function nr(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function ar(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function ir(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2];return Math.hypot(r,n,a)}function or(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2];return r*r+n*n+a*a}function sr(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function ur(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function cr(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function _r(e,t){var r=t[0],n=t[1],a=t[2],i=r*r+n*n+a*a;return i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e}function fr(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function lr(e,t,r){var n=t[0],a=t[1],i=t[2],o=r[0],s=r[1],u=r[2];return e[0]=a*u-i*s,e[1]=i*o-n*u,e[2]=n*s-a*o,e}function dr(e,t,r,n){var a=t[0],i=t[1],o=t[2];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e[2]=o+n*(r[2]-o),e}function hr(e,t,r,n,a,i){var o=i*i,s=o*(2*i-3)+1,u=o*(i-2)+i,c=o*(i-1),_=o*(3-2*i);return e[0]=t[0]*s+r[0]*u+n[0]*c+a[0]*_,e[1]=t[1]*s+r[1]*u+n[1]*c+a[1]*_,e[2]=t[2]*s+r[2]*u+n[2]*c+a[2]*_,e}function mr(e,t,r,n,a,i){var o=1-i,s=o*o,u=i*i,c=s*o,_=3*i*s,f=3*u*o,l=u*i;return e[0]=t[0]*c+r[0]*_+n[0]*f+a[0]*l,e[1]=t[1]*c+r[1]*_+n[1]*f+a[1]*l,e[2]=t[2]*c+r[2]*_+n[2]*f+a[2]*l,e}function pr(e,t){t=t||1;var r=2*m()*Math.PI,n=2*m()-1,a=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*a,e[1]=Math.sin(r)*a,e[2]=n*t,e}function br(e,t,r){var n=t[0],a=t[1],i=t[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,e[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,e[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,e}function gr(e,t,r){var n=t[0],a=t[1],i=t[2];return e[0]=n*r[0]+a*r[3]+i*r[6],e[1]=n*r[1]+a*r[4]+i*r[7],e[2]=n*r[2]+a*r[5]+i*r[8],e}function vr(e,t,r){var n=r[0],a=r[1],i=r[2],o=r[3],s=t[0],u=t[1],c=t[2],_=a*c-i*u,f=i*s-n*c,l=n*u-a*s,d=a*l-i*f,h=i*_-n*l,m=n*f-a*_,p=2*o;return _*=p,f*=p,l*=p,d*=2,h*=2,m*=2,e[0]=s+_+d,e[1]=u+f+h,e[2]=c+l+m,e}function wr(e,t,r,n){var a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function yr(e,t,r,n){var a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function Mr(e,t,r,n){var a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function xr(e,t){var r=Gt(e[0],e[1],e[2]),n=Gt(t[0],t[1],t[2]);_r(r,r),_r(n,n);var a=fr(r,n);return a>1?0:a<-1?Math.PI:Math.acos(a)}function Er(e){return e[0]=0,e[1]=0,e[2]=0,e}function Ar(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"}function Tr(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function kr(e,t){var r=e[0],n=e[1],a=e[2],i=t[0],o=t[1],s=t[2];return Math.abs(r-i)<=d*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-o)<=d*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(a-s)<=d*Math.max(1,Math.abs(a),Math.abs(s))}var Rr,Fr=Zt,Sr=Kt,zr=Qt,Pr=ir,Lr=or,Or=Ht,Ir=sr,Ur=(Rr=Nt(),function(e,t,r,n,a,i){var o,s;for(t||(t=3),r||(r=0),s=n?Math.min(n*t+r,e.length):e.length,o=r;o<s;o+=t)Rr[0]=e[o],Rr[1]=e[o+1],Rr[2]=e[o+2],a(Rr,Rr,i),e[o]=Rr[0],e[o+1]=Rr[1],e[o+2]=Rr[2];return e});function Cr(){var e=new h(4);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Dr(e){var t=new h(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Br(e,t,r,n){var a=new h(4);return a[0]=e,a[1]=t,a[2]=r,a[3]=n,a}function Vr(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function qr(e,t,r,n,a){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e}function Nr(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function jr(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e}function Hr(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e}function Gr(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e[3]=t[3]/r[3],e}function Wr(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e[3]=Math.ceil(t[3]),e}function Xr(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e[3]=Math.floor(t[3]),e}function Yr(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e[3]=Math.min(t[3],r[3]),e}function Zr(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e[3]=Math.max(t[3],r[3]),e}function Kr(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e[3]=Math.round(t[3]),e}function Qr(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function Jr(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e}function $r(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2],i=t[3]-e[3];return Math.hypot(r,n,a,i)}function en(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2],i=t[3]-e[3];return r*r+n*n+a*a+i*i}function tn(e){var t=e[0],r=e[1],n=e[2],a=e[3];return Math.hypot(t,r,n,a)}function rn(e){var t=e[0],r=e[1],n=e[2],a=e[3];return t*t+r*r+n*n+a*a}function nn(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e}function an(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e}function on(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=r*r+n*n+a*a+i*i;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=a*o,e[3]=i*o,e}function sn(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function un(e,t,r,n){var a=r[0]*n[1]-r[1]*n[0],i=r[0]*n[2]-r[2]*n[0],o=r[0]*n[3]-r[3]*n[0],s=r[1]*n[2]-r[2]*n[1],u=r[1]*n[3]-r[3]*n[1],c=r[2]*n[3]-r[3]*n[2],_=t[0],f=t[1],l=t[2],d=t[3];return e[0]=f*c-l*u+d*s,e[1]=-_*c+l*o-d*i,e[2]=_*u-f*o+d*a,e[3]=-_*s+f*i-l*a,e}function cn(e,t,r,n){var a=t[0],i=t[1],o=t[2],s=t[3];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function _n(e,t){var r,n,a,i,o,s;t=t||1;do{o=(r=2*m()-1)*r+(n=2*m()-1)*n}while(o>=1);do{s=(a=2*m()-1)*a+(i=2*m()-1)*i}while(s>=1);var u=Math.sqrt((1-o)/s);return e[0]=t*r,e[1]=t*n,e[2]=t*a*u,e[3]=t*i*u,e}function fn(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3];return e[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,e[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,e[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,e[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,e}function ln(e,t,r){var n=t[0],a=t[1],i=t[2],o=r[0],s=r[1],u=r[2],c=r[3],_=c*n+s*i-u*a,f=c*a+u*n-o*i,l=c*i+o*a-s*n,d=-o*n-s*a-u*i;return e[0]=_*c+d*-o+f*-u-l*-s,e[1]=f*c+d*-s+l*-o-_*-u,e[2]=l*c+d*-u+_*-s-f*-o,e[3]=t[3],e}function dn(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e}function hn(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}function mn(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function pn(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=t[0],s=t[1],u=t[2],c=t[3];return Math.abs(r-o)<=d*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-s)<=d*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(a-u)<=d*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(i-c)<=d*Math.max(1,Math.abs(i),Math.abs(c))}var bn=jr,gn=Hr,vn=Gr,wn=$r,yn=en,Mn=tn,xn=rn,En=function(){var e=Cr();return function(t,r,n,a,i,o){var s,u;for(r||(r=4),n||(n=0),u=a?Math.min(a*r+n,t.length):t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],i(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();function An(){var e=new h(4);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Tn(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function kn(e,t,r){r*=.5;var n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function Rn(e,t){var r=2*Math.acos(t[3]),n=Math.sin(r/2);return n>d?(e[0]=t[0]/n,e[1]=t[1]/n,e[2]=t[2]/n):(e[0]=1,e[1]=0,e[2]=0),r}function Fn(e,t){var r=aa(e,t);return Math.acos(2*r*r-1)}function Sn(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=r[0],u=r[1],c=r[2],_=r[3];return e[0]=n*_+o*s+a*c-i*u,e[1]=a*_+o*u+i*s-n*c,e[2]=i*_+o*c+n*u-a*s,e[3]=o*_-n*s-a*u-i*c,e}function zn(e,t,r){r*=.5;var n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=a*u+i*s,e[2]=i*u-a*s,e[3]=o*u-n*s,e}function Pn(e,t,r){r*=.5;var n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-i*s,e[1]=a*u+o*s,e[2]=i*u+n*s,e[3]=o*u-a*s,e}function Ln(e,t,r){r*=.5;var n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+a*s,e[1]=a*u-n*s,e[2]=i*u+o*s,e[3]=o*u-i*s,e}function On(e,t){var r=t[0],n=t[1],a=t[2];return e[0]=r,e[1]=n,e[2]=a,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),e}function In(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=Math.sqrt(r*r+n*n+a*a),s=Math.exp(i),u=o>0?s*Math.sin(o)/o:0;return e[0]=r*u,e[1]=n*u,e[2]=a*u,e[3]=s*Math.cos(o),e}function Un(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=Math.sqrt(r*r+n*n+a*a),s=o>0?Math.atan2(o,i)/o:0;return e[0]=r*s,e[1]=n*s,e[2]=a*s,e[3]=.5*Math.log(r*r+n*n+a*a+i*i),e}function Cn(e,t,r){return Un(e,t),na(e,e,r),In(e,e),e}function Dn(e,t,r,n){var a,i,o,s,u,c=t[0],_=t[1],f=t[2],l=t[3],h=r[0],m=r[1],p=r[2],b=r[3];return(i=c*h+_*m+f*p+l*b)<0&&(i=-i,h=-h,m=-m,p=-p,b=-b),1-i>d?(a=Math.acos(i),o=Math.sin(a),s=Math.sin((1-n)*a)/o,u=Math.sin(n*a)/o):(s=1-n,u=n),e[0]=s*c+u*h,e[1]=s*_+u*m,e[2]=s*f+u*p,e[3]=s*l+u*b,e}function Bn(e){var t=m(),r=m(),n=m(),a=Math.sqrt(1-t),i=Math.sqrt(t);return e[0]=a*Math.sin(2*Math.PI*r),e[1]=a*Math.cos(2*Math.PI*r),e[2]=i*Math.sin(2*Math.PI*n),e[3]=i*Math.cos(2*Math.PI*n),e}function Vn(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=r*r+n*n+a*a+i*i,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-a*s,e[3]=i*s,e}function qn(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function Nn(e,t){var r,n=t[0]+t[4]+t[8];if(n>0)r=Math.sqrt(n+1),e[3]=.5*r,r=.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{var a=0;t[4]>t[0]&&(a=1),t[8]>t[3*a+a]&&(a=2);var i=(a+1)%3,o=(a+2)%3;r=Math.sqrt(t[3*a+a]-t[3*i+i]-t[3*o+o]+1),e[a]=.5*r,r=.5/r,e[3]=(t[3*i+o]-t[3*o+i])*r,e[i]=(t[3*i+a]+t[3*a+i])*r,e[o]=(t[3*o+a]+t[3*a+o])*r}return e}function jn(e,t,r,n){var a=.5*Math.PI/180;t*=a,r*=a,n*=a;var i=Math.sin(t),o=Math.cos(t),s=Math.sin(r),u=Math.cos(r),c=Math.sin(n),_=Math.cos(n);return e[0]=i*u*_-o*s*c,e[1]=o*s*_+i*u*c,e[2]=o*u*c-i*s*_,e[3]=o*u*_+i*s*c,e}function Hn(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}var Gn,Wn,Xn,Yn,Zn,Kn,Qn=Dr,Jn=Br,$n=Vr,ea=qr,ta=Nr,ra=Sn,na=Qr,aa=sn,ia=cn,oa=tn,sa=oa,ua=rn,ca=ua,_a=on,fa=mn,la=pn,da=(Gn=Nt(),Wn=Gt(1,0,0),Xn=Gt(0,1,0),function(e,t,r){var n=fr(t,r);return n<-.999999?(lr(Gn,Wn,t),Or(Gn)<1e-6&&lr(Gn,Xn,t),_r(Gn,Gn),kn(e,Gn,Math.PI),e):n>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):(lr(Gn,t,r),e[0]=Gn[0],e[1]=Gn[1],e[2]=Gn[2],e[3]=1+n,_a(e,e))}),ha=(Yn=An(),Zn=An(),function(e,t,r,n,a,i){return Dn(Yn,t,a,i),Dn(Zn,r,n,i),Dn(e,Yn,Zn,2*i*(1-i)),e}),ma=(Kn=be(),function(e,t,r,n){return Kn[0]=r[0],Kn[3]=r[1],Kn[6]=r[2],Kn[1]=n[0],Kn[4]=n[1],Kn[7]=n[2],Kn[2]=-t[0],Kn[5]=-t[1],Kn[8]=-t[2],_a(e,Nn(e,Kn))});function pa(){var e=new h(8);return h!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0),e[3]=1,e}function ba(e){var t=new h(8);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t}function ga(e,t,r,n,a,i,o,s){var u=new h(8);return u[0]=e,u[1]=t,u[2]=r,u[3]=n,u[4]=a,u[5]=i,u[6]=o,u[7]=s,u}function va(e,t,r,n,a,i,o){var s=new h(8);s[0]=e,s[1]=t,s[2]=r,s[3]=n;var u=.5*a,c=.5*i,_=.5*o;return s[4]=u*n+c*r-_*t,s[5]=c*n+_*e-u*r,s[6]=_*n+u*t-c*e,s[7]=-u*e-c*t-_*r,s}function wa(e,t,r){var n=.5*r[0],a=.5*r[1],i=.5*r[2],o=t[0],s=t[1],u=t[2],c=t[3];return e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=n*c+a*u-i*s,e[5]=a*c+i*o-n*u,e[6]=i*c+n*s-a*o,e[7]=-n*o-a*s-i*u,e}function ya(e,t){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=.5*t[0],e[5]=.5*t[1],e[6]=.5*t[2],e[7]=0,e}function Ma(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=0,e[5]=0,e[6]=0,e[7]=0,e}function xa(e,t){var r=An();Mt(r,t);var n=new h(3);return wt(n,t),wa(e,r,n),e}function Ea(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e}function Aa(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e}function Ta(e,t,r,n,a,i,o,s,u){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=o,e[6]=s,e[7]=u,e}var ka=$n;function Ra(e,t){return e[0]=t[4],e[1]=t[5],e[2]=t[6],e[3]=t[7],e}var Fa=$n;function Sa(e,t){return e[4]=t[0],e[5]=t[1],e[6]=t[2],e[7]=t[3],e}function za(e,t){var r=t[4],n=t[5],a=t[6],i=t[7],o=-t[0],s=-t[1],u=-t[2],c=t[3];return e[0]=2*(r*c+i*o+n*u-a*s),e[1]=2*(n*c+i*s+a*o-r*u),e[2]=2*(a*c+i*u+r*s-n*o),e}function Pa(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=.5*r[0],u=.5*r[1],c=.5*r[2],_=t[4],f=t[5],l=t[6],d=t[7];return e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=o*s+a*c-i*u+_,e[5]=o*u+i*s-n*c+f,e[6]=o*c+n*u-a*s+l,e[7]=-n*s-a*u-i*c+d,e}function La(e,t,r){var n=-t[0],a=-t[1],i=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=s*o+_*n+u*i-c*a,l=u*o+_*a+c*n-s*i,d=c*o+_*i+s*a-u*n,h=_*o-s*n-u*a-c*i;return zn(e,t,r),n=e[0],a=e[1],i=e[2],o=e[3],e[4]=f*o+h*n+l*i-d*a,e[5]=l*o+h*a+d*n-f*i,e[6]=d*o+h*i+f*a-l*n,e[7]=h*o-f*n-l*a-d*i,e}function Oa(e,t,r){var n=-t[0],a=-t[1],i=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=s*o+_*n+u*i-c*a,l=u*o+_*a+c*n-s*i,d=c*o+_*i+s*a-u*n,h=_*o-s*n-u*a-c*i;return Pn(e,t,r),n=e[0],a=e[1],i=e[2],o=e[3],e[4]=f*o+h*n+l*i-d*a,e[5]=l*o+h*a+d*n-f*i,e[6]=d*o+h*i+f*a-l*n,e[7]=h*o-f*n-l*a-d*i,e}function Ia(e,t,r){var n=-t[0],a=-t[1],i=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=s*o+_*n+u*i-c*a,l=u*o+_*a+c*n-s*i,d=c*o+_*i+s*a-u*n,h=_*o-s*n-u*a-c*i;return Ln(e,t,r),n=e[0],a=e[1],i=e[2],o=e[3],e[4]=f*o+h*n+l*i-d*a,e[5]=l*o+h*a+d*n-f*i,e[6]=d*o+h*i+f*a-l*n,e[7]=h*o-f*n-l*a-d*i,e}function Ua(e,t,r){var n=r[0],a=r[1],i=r[2],o=r[3],s=t[0],u=t[1],c=t[2],_=t[3];return e[0]=s*o+_*n+u*i-c*a,e[1]=u*o+_*a+c*n-s*i,e[2]=c*o+_*i+s*a-u*n,e[3]=_*o-s*n-u*a-c*i,s=t[4],u=t[5],c=t[6],_=t[7],e[4]=s*o+_*n+u*i-c*a,e[5]=u*o+_*a+c*n-s*i,e[6]=c*o+_*i+s*a-u*n,e[7]=_*o-s*n-u*a-c*i,e}function Ca(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=r[0],u=r[1],c=r[2],_=r[3];return e[0]=n*_+o*s+a*c-i*u,e[1]=a*_+o*u+i*s-n*c,e[2]=i*_+o*c+n*u-a*s,e[3]=o*_-n*s-a*u-i*c,s=r[4],u=r[5],c=r[6],_=r[7],e[4]=n*_+o*s+a*c-i*u,e[5]=a*_+o*u+i*s-n*c,e[6]=i*_+o*c+n*u-a*s,e[7]=o*_-n*s-a*u-i*c,e}function Da(e,t,r,n){if(Math.abs(n)<d)return Ea(e,t);var a=Math.hypot(r[0],r[1],r[2]);n*=.5;var i=Math.sin(n),o=i*r[0]/a,s=i*r[1]/a,u=i*r[2]/a,c=Math.cos(n),_=t[0],f=t[1],l=t[2],h=t[3];e[0]=_*c+h*o+f*u-l*s,e[1]=f*c+h*s+l*o-_*u,e[2]=l*c+h*u+_*s-f*o,e[3]=h*c-_*o-f*s-l*u;var m=t[4],p=t[5],b=t[6],g=t[7];return e[4]=m*c+g*o+p*u-b*s,e[5]=p*c+g*s+b*o-m*u,e[6]=b*c+g*u+m*s-p*o,e[7]=g*c-m*o-p*s-b*u,e}function Ba(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e}function Va(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=r[4],u=r[5],c=r[6],_=r[7],f=t[4],l=t[5],d=t[6],h=t[7],m=r[0],p=r[1],b=r[2],g=r[3];return e[0]=n*g+o*m+a*b-i*p,e[1]=a*g+o*p+i*m-n*b,e[2]=i*g+o*b+n*p-a*m,e[3]=o*g-n*m-a*p-i*b,e[4]=n*_+o*s+a*c-i*u+f*g+h*m+l*b-d*p,e[5]=a*_+o*u+i*s-n*c+l*g+h*p+d*m-f*b,e[6]=i*_+o*c+n*u-a*s+d*g+h*b+f*p-l*m,e[7]=o*_-n*s-a*u-i*c+h*g-f*m-l*p-d*b,e}var qa=Va;function Na(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e}var ja=aa;function Ha(e,t,r,n){var a=1-n;return ja(t,r)<0&&(n=-n),e[0]=t[0]*a+r[0]*n,e[1]=t[1]*a+r[1]*n,e[2]=t[2]*a+r[2]*n,e[3]=t[3]*a+r[3]*n,e[4]=t[4]*a+r[4]*n,e[5]=t[5]*a+r[5]*n,e[6]=t[6]*a+r[6]*n,e[7]=t[7]*a+r[7]*n,e}function Ga(e,t){var r=Za(t);return e[0]=-t[0]/r,e[1]=-t[1]/r,e[2]=-t[2]/r,e[3]=t[3]/r,e[4]=-t[4]/r,e[5]=-t[5]/r,e[6]=-t[6]/r,e[7]=t[7]/r,e}function Wa(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e[4]=-t[4],e[5]=-t[5],e[6]=-t[6],e[7]=t[7],e}var Xa=oa,Ya=Xa,Za=ua,Ka=Za;function Qa(e,t){var r=Za(t);if(r>0){r=Math.sqrt(r);var n=t[0]/r,a=t[1]/r,i=t[2]/r,o=t[3]/r,s=t[4],u=t[5],c=t[6],_=t[7],f=n*s+a*u+i*c+o*_;e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=(s-n*f)/r,e[5]=(u-a*f)/r,e[6]=(c-i*f)/r,e[7]=(_-o*f)/r}return e}function Ja(e){return"quat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+")"}function $a(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]}function ei(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],c=e[7],_=t[0],f=t[1],l=t[2],h=t[3],m=t[4],p=t[5],b=t[6],g=t[7];return Math.abs(r-_)<=d*Math.max(1,Math.abs(r),Math.abs(_))&&Math.abs(n-f)<=d*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(a-l)<=d*Math.max(1,Math.abs(a),Math.abs(l))&&Math.abs(i-h)<=d*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(o-m)<=d*Math.max(1,Math.abs(o),Math.abs(m))&&Math.abs(s-p)<=d*Math.max(1,Math.abs(s),Math.abs(p))&&Math.abs(u-b)<=d*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(c-g)<=d*Math.max(1,Math.abs(c),Math.abs(g))}function ti(){var e=new h(2);return h!=Float32Array&&(e[0]=0,e[1]=0),e}function ri(e){var t=new h(2);return t[0]=e[0],t[1]=e[1],t}function ni(e,t){var r=new h(2);return r[0]=e,r[1]=t,r}function ai(e,t){return e[0]=t[0],e[1]=t[1],e}function ii(e,t,r){return e[0]=t,e[1]=r,e}function oi(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e}function si(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e}function ui(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e}function ci(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e}function _i(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e}function fi(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e}function li(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e}function di(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e}function hi(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e}function mi(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e}function pi(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e}function bi(e,t){var r=t[0]-e[0],n=t[1]-e[1];return Math.hypot(r,n)}function gi(e,t){var r=t[0]-e[0],n=t[1]-e[1];return r*r+n*n}function vi(e){var t=e[0],r=e[1];return Math.hypot(t,r)}function wi(e){var t=e[0],r=e[1];return t*t+r*r}function yi(e,t){return e[0]=-t[0],e[1]=-t[1],e}function Mi(e,t){return e[0]=1/t[0],e[1]=1/t[1],e}function xi(e,t){var r=t[0],n=t[1],a=r*r+n*n;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e}function Ei(e,t){return e[0]*t[0]+e[1]*t[1]}function Ai(e,t,r){var n=t[0]*r[1]-t[1]*r[0];return e[0]=e[1]=0,e[2]=n,e}function Ti(e,t,r,n){var a=t[0],i=t[1];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e}function ki(e,t){t=t||1;var r=2*m()*Math.PI;return e[0]=Math.cos(r)*t,e[1]=Math.sin(r)*t,e}function Ri(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a,e[1]=r[1]*n+r[3]*a,e}function Fi(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a+r[4],e[1]=r[1]*n+r[3]*a+r[5],e}function Si(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[3]*a+r[6],e[1]=r[1]*n+r[4]*a+r[7],e}function zi(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[4]*a+r[12],e[1]=r[1]*n+r[5]*a+r[13],e}function Pi(e,t,r,n){var a=t[0]-r[0],i=t[1]-r[1],o=Math.sin(n),s=Math.cos(n);return e[0]=a*s-i*o+r[0],e[1]=a*o+i*s+r[1],e}function Li(e,t){var r=e[0],n=e[1],a=t[0],i=t[1],o=r*r+n*n;o>0&&(o=1/Math.sqrt(o));var s=a*a+i*i;s>0&&(s=1/Math.sqrt(s));var u=(r*a+n*i)*o*s;return u>1?0:u<-1?Math.PI:Math.acos(u)}function Oi(e){return e[0]=0,e[1]=0,e}function Ii(e){return"vec2("+e[0]+", "+e[1]+")"}function Ui(e,t){return e[0]===t[0]&&e[1]===t[1]}function Ci(e,t){var r=e[0],n=e[1],a=t[0],i=t[1];return Math.abs(r-a)<=d*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-i)<=d*Math.max(1,Math.abs(n),Math.abs(i))}var Di=vi,Bi=si,Vi=ui,qi=ci,Ni=bi,ji=gi,Hi=wi,Gi=function(){var e=ti();return function(t,r,n,a,i,o){var s,u;for(r||(r=2),n||(n=0),u=a?Math.min(a*r+n,t.length):t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],i(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.applyScreenCounterRotation=t.Pipeline=void 0;const n=r(30),a=r(1),i=r(5),o=r(31),s=r(32),u=r(9),c=r(10),_=r(0),f=r(13),l=r(7);let d=new Map,h=a.mat4.create();class m{constructor(e,t,r){this._client=e,this._impl=t,this._mgr=r,this.pendingMessages=[],this.cameraTokens=new Map,this.nextCameraToken=1,this.tokensInFlight=0,this.videoTextures=[],this.cameraPixelArrays=[],this._sequenceRecordDeviceAttitudeMatrices=!0,this._sequenceRecorderFirstCameraToken=0,this.onGLContextReset=new c.Event}static create(e,t){let r=e.pipeline_create();return d.set(r,new m(e,r,t)),r}static get(e){return d.get(e)}frameUpdate(e){for(let t of this.pendingMessages)e.processMessages(t),this._mgr.postOutgoingMessage({t:"buf",p:this._impl,d:t},[t]);this.pendingMessages=[],this.cleanOldFrames()}cleanOldFrames(){var e,t;let r=this._client.pipeline_camera_frame_user_data(this._impl);if(r)for(let n of this.cameraTokens)n[0]<r&&(n[1].texture&&this.videoTextures.push(n[1].texture),null===(t=null===(e=n[1].frame)||void 0===e?void 0:e.close)||void 0===t||t.call(e),this.cameraTokens.delete(n[0]))}cameraTokenReturn(e){if(this._sequenceRecorder&&this._sequenceRecordDeviceAttitudeMatrices&&e.token>=this._sequenceRecorderFirstCameraToken){let t=this.cameraTokens.get(e.token);t&&(e.att&&this._sequenceRecorder.appendAttitudeMatrix(e.att),t.data=e.d,this._sequenceRecorder.appendCameraFrame(t))}this.cameraPixelArrays.push(e.d),this.tokensInFlight--}sequenceRecordStart(e){this._sequenceRecorder||(this._sequenceRecorder=new f.SequenceRecorder(e)),this._sequenceRecorder.start(),this._sequenceRecorderFirstCameraToken=this.nextCameraToken}sequenceRecordStop(){var e;null===(e=this._sequenceRecorder)||void 0===e||e.stop()}sequenceRecordData(){var e;return(null===(e=this._sequenceRecorder)||void 0===e?void 0:e.data())||new Uint8Array(0)}sequenceRecordClear(){delete this._sequenceRecorder}sequenceRecordDeviceAttitudeMatrices(e){this._sequenceRecordDeviceAttitudeMatrices=e}getVideoTexture(){return this.videoTextures.pop()}destroy(){this._client.pipeline_destroy(this._impl),d.delete(this._impl)}getCurrentCameraInfo(){let e=this._client.pipeline_camera_frame_user_data(this._impl);if(e)return this.cameraTokens.get(e)}cameraFrameDrawGL(e,t,r){if(!this.glContext)return;let a=this.getCurrentCameraInfo();a&&(this._cameraDraw||(this._cameraDraw=new n.CameraDraw(this.glContext)),this._cameraDraw.drawCameraFrame(e,t,a,!0===r))}glContextLost(){this._cameraDraw&&this._cameraDraw.dispose(),this._faceDraw&&this._faceDraw.dispose(),this._faceProjectDraw&&this._faceProjectDraw.dispose(),delete this._cameraDraw,delete this._faceDraw,delete this._faceProjectDraw,u.disposeDrawPlane(),this.onGLContextReset.emit();for(let e of this.videoTextures)this.glContext&&this.glContext.deleteTexture(e);this.videoTextures=[];for(let e of this.cameraTokens)this.glContext&&e[1].texture&&this.glContext.deleteTexture(e[1].texture),e[1].texture=void 0;this.glContext=void 0}glContextSet(e,t){this.glContextLost(),this.glContext=e,t=t||[];for(let r=0;r<4;r++){let n=t[r]||e.createTexture();n&&(e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),this.videoTextures.push(n))}e.bindTexture(e.TEXTURE_2D,null)}drawFace(e,t,r,n){if(!this.glContext)return;this._faceDraw||(this._faceDraw=new o.FaceDraw(this.glContext));let i=a.mat4.create();a.mat4.multiply(i,e,t),a.mat4.multiply(i,i,r),this._faceDraw.drawFace(i,n)}drawFaceProject(e,t,r,n,a,i){this.glContext&&(this._faceProjectDraw||(this._faceProjectDraw=new s.FaceDrawProject(this.glContext)),this._faceProjectDraw.drawFace(e,t,r,n,a,i))}cameraFrameTexture(){var e;return null===(e=this.getCurrentCameraInfo())||void 0===e?void 0:e.texture}cameraFrameTextureMatrix(e,t,r){let i=this.getCurrentCameraInfo();return i?n.cameraFrameTextureMatrix(i.dataWidth,i.dataHeight,e,t,i.uvTransform||h,r):a.mat4.create()}cameraFrameUserFacing(){var e;return(null===(e=this.getCurrentCameraInfo())||void 0===e?void 0:e.userFacing)||!1}cameraPoseWithAttitude(e){let t=p(this.getCurrentCameraInfo(),this._client.pipeline_camera_frame_camera_attitude(this._impl));if(e){let e=a.mat4.create();a.mat4.fromScaling(e,[-1,1,1]),a.mat4.multiply(t,e,t),a.mat4.multiply(t,t,e)}return a.mat4.invert(t,t),t}videoFrameFromWorker(e){let t=this.nextCameraToken++;const r=l.getCameraSource(e.source);r&&(this.cameraTokens.set(t,{dataWidth:e.w,dataHeight:e.h,texture:void 0,frame:e.d,userFacing:e.userFacing,uvTransform:e.uvTransform,cameraModel:e.cameraModel,cameraToDevice:e.cameraToDevice,cameraSource:r}),this.cleanOldFrames())}imageBitmapFromWorker(e){let t=this.cameraTokens.get(e.tokenId);t&&(t.dataWidth=e.dataWidth,t.dataHeight=e.dataHeight,t.frame=e.frame,t.userFacing=e.userFacing,t.uvTransform=e.uvTransform,this.tokensInFlight--,this.cleanOldFrames())}uploadGL(){var e,t;let r=this.getCurrentCameraInfo();null===(t=null===(e=null==r?void 0:r.cameraSource)||void 0===e?void 0:e.uploadGL)||void 0===t||t.call(e,r)}registerToken(e){let t=this.nextCameraToken++;return this.cameraTokens.set(t,e),this.tokensInFlight++,t}processGL(){this.glContext?this.currentCameraSource&&(this.tokensInFlight>0?this.currentCameraSource.getFrame(!0):this.currentCameraSource.getFrame(!1)):_.zcerr("no GL context for camera frames - please call pipeline_gl_context_set")}motionAccelerometerSubmit(e,t,r,n){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendAccelerometer(e,t,r,n),this._client.pipeline_motion_accelerometer_submit(this._impl,e,t,r,n)}motionRotationRateSubmit(e,t,r,n){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendRotationRate(e,t,r,n),this._client.pipeline_motion_rotation_rate_submit(this._impl,e,t,r,n)}motionAttitudeSubmit(e,t,r,n){var a;this._sequenceRecordDeviceAttitudeMatrices||null===(a=this._sequenceRecorder)||void 0===a||a.appendAttitude(e,t,r,n),this._client.pipeline_motion_attitude_submit(this._impl,e,t,r,n)}motionAttitudeMatrix(e){this._client.pipeline_motion_attitude_matrix_submit(this._impl,e)}sendCameraStreamToWorker(e,t,r){let n={t:"streamC2S",p:this._impl,s:t,userFacing:r,source:e};this._mgr.postOutgoingMessage(n,[n.s])}sendCameraToScreenRotationToWorker(e){let t={p:this._impl,t:"cameraToScreenC2S",r:e};this._mgr.postOutgoingMessage(t,[])}sendImageBitmapToWorker(e,t,r,n,a,i){let o={p:this._impl,t:"imageBitmapC2S",i:e,r:t,tokenId:n,userFacing:r,cameraModel:a,cameraToDevice:i};this._mgr.postOutgoingMessage(o,[e])}sendDataToWorker(e,t,r,n,a,i,o){let s={d:e,p:this._impl,width:r,height:n,token:t,userFacing:a,c2d:i,cm:o,t:"cameraFrameC2S"};this._mgr.postOutgoingMessage(s,[e])}}function p(e,t){let r=!1;r=!!e&&e.userFacing;let n=a.mat4.create();return a.mat4.fromRotation(n,i.cameraRotationForScreenOrientation(r)*Math.PI/180,[0,0,1]),a.mat4.multiply(n,n,t),n}t.Pipeline=m,t.applyScreenCounterRotation=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.profile=t.EmbeddedVideoImplementation=void 0;const n=r(11);!function(e){e[e.OBJECT_URL=0]="OBJECT_URL",e[e.SRC_OBJECT=1]="SRC_OBJECT"}(t.EmbeddedVideoImplementation||(t.EmbeddedVideoImplementation={})),t.profile={deviceMotionMutliplier:-1,blacklisted:!1,showGyroPermissionsWarningIfNecessary:!1,showSafariPermissionsResetIfNecessary:!1,requestHighFrameRate:!1,videoWidth:640,videoHeight:480,dataWidth:320,dataHeight:240,videoElementInDOM:!1,preferMediaStreamTrackProcessorCamera:!1,preferImageBitmapCamera:!1},"undefined"!=typeof window&&(window.zeeProfile=t.profile,window.location.href.indexOf("_mstppipeline")>=0&&(console.log("Configuring for MSTP camera pipeline (if supported)"),t.profile.preferMediaStreamTrackProcessorCamera=!0),window.location.href.indexOf("_imagebitmappipeline")>=0&&(console.log("Configuring for ImageBitmap camera pipeline (if supported)"),t.profile.preferImageBitmapCamera=!0));let a=new n.UAParser,i=(a.getOS().name||"unknown").toLowerCase(),o=(a.getEngine().name||"unknown").toLowerCase();function s(){let e=a.getOS().version;if(e){let r=e.split(".");if(r.length>=2){const e=parseInt(r[0]),n=parseInt(r[1]);(e<11||11===e&&n<3)&&(t.profile.blacklisted=!0),(e<12||12===e&&n<2)&&(t.profile.videoElementInDOM=!0),(12===e&&n>=2||e>=13)&&(t.profile.showGyroPermissionsWarningIfNecessary=!0),e>=13&&(t.profile.showSafariPermissionsResetIfNecessary=!0),(e>=12&&n>1||e>=13)&&navigator.mediaDevices&&navigator.mediaDevices.getSupportedConstraints&&navigator.mediaDevices.getSupportedConstraints().frameRate&&(t.profile.requestHighFrameRate=!0,e<14&&(t.profile.videoHeight=360,t.profile.dataHeight=180))}}}"webkit"===o&&"ios"!==i&&(t.profile.deviceMotionMutliplier=1,"undefined"!=typeof window&&void 0!==window.orientation&&s()),"webkit"===o&&"ios"===i&&(t.profile.deviceMotionMutliplier=1,s())},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.linkProgram=t.compileShader=void 0,t.compileShader=function(e,t,r){let n=e.createShader(t);if(!n)throw new Error("Unable to create shader");e.shaderSource(n,r),e.compileShader(n);let a=e.getShaderInfoLog(n);if(a&&a.trim().length>0)throw new Error("Shader compile error: "+a);return n},t.linkProgram=function(e,t){e.linkProgram(t);let r=e.getProgramInfoLog(t);if(r&&r.trim().length>0)throw new Error("Unable to link: "+r)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.cameraRotationForScreenOrientation=t.projectionMatrix=void 0;const n=r(1);function a(e){if(window.screen.orientation)switch(window.screen.orientation.type){case"portrait-primary":return e?90:270;case"landscape-secondary":return 180;case"portrait-secondary":return e?270:90;default:return 0}else if(void 0!==window.orientation)switch(window.orientation){case 0:return e?90:270;case 90:return 0;case 180:return e?270:90;case-90:return 180}return 0}t.projectionMatrix=function(e,t,r,i=.01,o=100){let s=2*e[2],u=2*e[3],c=n.mat4.create();n.mat4.frustum(c,i*(-.5-e[2])/e[0],i*(s-.5-e[2])/e[0],i*(u-.5-e[3])/e[1],i*(-.5-e[3])/e[1],i,o),c[4]*=-1,c[5]*=-1,c[6]*=-1,c[7]*=-1;let _=n.mat4.create();n.mat4.fromScaling(_,[.5*s,.5*u,1]),n.mat4.multiply(c,_,c),n.mat4.fromRotation(_,a(!1)*Math.PI/180,[0,0,1]),n.mat4.multiply(c,_,c);let f=n.vec3.create();f[0]=s,f[1]=u,f[2]=0,n.vec3.transformMat4(f,f,_);let l=Math.abs(f[0]),d=Math.abs(f[1]),h=1;return h=l/t>d/r?r/d:t/l,n.mat4.fromScaling(_,[h,h,1]),n.mat4.multiply(c,_,c),n.mat4.fromScaling(_,[2/t,2/r,1]),n.mat4.multiply(c,_,c),n.mat4.fromRotation(_,a(!1)*Math.PI/-180,[0,0,1]),n.mat4.multiply(c,c,_),c},t.cameraRotationForScreenOrientation=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.frame_pixel_format_t=t.log_level_t=t.instant_world_tracker_transform_orientation_t=t.face_landmark_name_t=t.barcode_format_t=void 0,function(e){e[e.UNKNOWN=131072]="UNKNOWN",e[e.AZTEC=1]="AZTEC",e[e.CODABAR=2]="CODABAR",e[e.CODE_39=4]="CODE_39",e[e.CODE_93=8]="CODE_93",e[e.CODE_128=16]="CODE_128",e[e.DATA_MATRIX=32]="DATA_MATRIX",e[e.EAN_8=64]="EAN_8",e[e.EAN_13=128]="EAN_13",e[e.ITF=256]="ITF",e[e.MAXICODE=512]="MAXICODE",e[e.PDF_417=1024]="PDF_417",e[e.QR_CODE=2048]="QR_CODE",e[e.RSS_14=4096]="RSS_14",e[e.RSS_EXPANDED=8192]="RSS_EXPANDED",e[e.UPC_A=16384]="UPC_A",e[e.UPC_E=32768]="UPC_E",e[e.UPC_EAN_EXTENSION=65536]="UPC_EAN_EXTENSION",e[e.ALL=131071]="ALL"}(t.barcode_format_t||(t.barcode_format_t={})),function(e){e[e.EYE_LEFT=0]="EYE_LEFT",e[e.EYE_RIGHT=1]="EYE_RIGHT",e[e.EAR_LEFT=2]="EAR_LEFT",e[e.EAR_RIGHT=3]="EAR_RIGHT",e[e.NOSE_BRIDGE=4]="NOSE_BRIDGE",e[e.NOSE_TIP=5]="NOSE_TIP",e[e.NOSE_BASE=6]="NOSE_BASE",e[e.LIP_TOP=7]="LIP_TOP",e[e.LIP_BOTTOM=8]="LIP_BOTTOM",e[e.MOUTH_CENTER=9]="MOUTH_CENTER",e[e.CHIN=10]="CHIN",e[e.EYEBROW_LEFT=11]="EYEBROW_LEFT",e[e.EYEBROW_RIGHT=12]="EYEBROW_RIGHT"}(t.face_landmark_name_t||(t.face_landmark_name_t={})),function(e){e[e.WORLD=3]="WORLD",e[e.MINUS_Z_AWAY_FROM_USER=4]="MINUS_Z_AWAY_FROM_USER",e[e.MINUS_Z_HEADING=5]="MINUS_Z_HEADING",e[e.UNCHANGED=6]="UNCHANGED"}(t.instant_world_tracker_transform_orientation_t||(t.instant_world_tracker_transform_orientation_t={})),function(e){e[e.LOG_LEVEL_NONE=0]="LOG_LEVEL_NONE",e[e.LOG_LEVEL_ERROR=1]="LOG_LEVEL_ERROR",e[e.LOG_LEVEL_WARNING=2]="LOG_LEVEL_WARNING",e[e.LOG_LEVEL_VERBOSE=3]="LOG_LEVEL_VERBOSE"}(t.log_level_t||(t.log_level_t={})),function(e){e[e.FRAME_PIXEL_FORMAT_I420=0]="FRAME_PIXEL_FORMAT_I420",e[e.FRAME_PIXEL_FORMAT_I420A=1]="FRAME_PIXEL_FORMAT_I420A",e[e.FRAME_PIXEL_FORMAT_I422=2]="FRAME_PIXEL_FORMAT_I422",e[e.FRAME_PIXEL_FORMAT_I444=3]="FRAME_PIXEL_FORMAT_I444",e[e.FRAME_PIXEL_FORMAT_NV12=4]="FRAME_PIXEL_FORMAT_NV12",e[e.FRAME_PIXEL_FORMAT_RGBA=5]="FRAME_PIXEL_FORMAT_RGBA",e[e.FRAME_PIXEL_FORMAT_BGRA=6]="FRAME_PIXEL_FORMAT_BGRA",e[e.FRAME_PIXEL_FORMAT_Y=7]="FRAME_PIXEL_FORMAT_Y"}(t.frame_pixel_format_t||(t.frame_pixel_format_t={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createCameraSource=t.deleteCameraSource=t.getCameraSource=t.setCameraSourceId=t.getNextCameraSourceId=void 0;const n=r(14),a=r(34),i=r(0),o=r(35),s=r(3);let u=1,c=new Map;function _(){return u++}function f(e,t){c.set(e,t)}t.getNextCameraSourceId=_,t.setCameraSourceId=f,t.getCameraSource=function(e){return c.get(e)},t.deleteCameraSource=function(e){c.delete(e)},t.createCameraSource=function(e,t){let r=_();return s.profile.preferMediaStreamTrackProcessorCamera&&"MediaStreamTrackProcessor"in window&&"MediaStreamTrackGenerator"in window?f(r,new o.MSTPCameraSource(r,e,t)):s.profile.preferImageBitmapCamera&&"undefined"!=typeof OffscreenCanvas?f(r,new a.ImageBitmapCameraSource(r,e,t)):f(r,new n.CameraSource(r,e,t)),i.zcout("camera_source_t initialized"),r}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Source=void 0;t.Source=class{}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.drawPlane=t.disposeDrawPlane=void 0;const n=r(4);let a,i,o,s={};function u(e){if(o)return o;if(o=e.createBuffer(),!o)throw new Error("Unable to create buffer object");return e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,1,1,0]),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),o}t.disposeDrawPlane=function(){a=void 0,i=void 0,o=void 0,s={}},t.drawPlane=function(e,t,r,n,a){let o=c(e),_=function(e){if(i)return i;if(i=e.createBuffer(),!i)throw new Error("Unable to create buffer object");return e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-.5,.125,0,-.5,-.125,0,.5,.125,0,.5,-.125,0]),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),i}(e),f=u(e);e.disable(e.DEPTH_TEST),e.useProgram(o.prog),e.uniformMatrix4fv(o.unif_proj,!1,t),e.uniformMatrix4fv(o.unif_camera,!1,r),e.uniformMatrix4fv(o.unif_matrix,!1,n),e.bindBuffer(e.ARRAY_BUFFER,_),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,function(e,t){if(s[t])return s[t];let r=e.createTexture();if(!r)throw new Error("Unable to create texture");s[t]=r,e.bindTexture(e.TEXTURE_2D,r);const n=e.RGBA,a=e.RGBA,i=e.UNSIGNED_BYTE,o=new Uint8Array([0,0,255,255]);e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,n,1,1,0,a,i,o);const u=new Image;return u.onload=function(){e.bindTexture(e.TEXTURE_2D,r),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,n,a,i,u),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR)},u.src=t,r}(e,a)),e.uniform1i(o.unif_skinSampler,0),e.vertexAttribPointer(o.attr_position,3,e.FLOAT,!1,12,0),e.enableVertexAttribArray(o.attr_position),e.bindBuffer(e.ARRAY_BUFFER,f),e.vertexAttribPointer(o.attr_textureCoord,2,e.FLOAT,!1,8,0),e.enableVertexAttribArray(o.attr_textureCoord),e.drawArrays(e.TRIANGLE_STRIP,0,4),e.disableVertexAttribArray(o.attr_position),e.bindBuffer(e.ARRAY_BUFFER,null)};function c(e){if(a)return a;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=n.compileShader(e,e.VERTEX_SHADER,"\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 projMatrix;\nuniform mat4 cameraMatrix;\nuniform mat4 modelViewMatrix;\nattribute vec4 position;\nattribute vec2 textureCoord;\n\nvarying highp vec2 vTextureCoord;\n\nvoid main()\n{\n gl_Position = projMatrix * cameraMatrix * modelViewMatrix * position;\n vTextureCoord = textureCoord;\n}"),i=n.compileShader(e,e.FRAGMENT_SHADER,"\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying highp vec2 vTextureCoord;\nuniform sampler2D skinSampler;\n\nvoid main()\n{\n gl_FragColor = texture2D(skinSampler, vTextureCoord);\n}");e.attachShader(t,r),e.attachShader(t,i),n.linkProgram(e,t);let o=e.getUniformLocation(t,"projMatrix");if(!o)throw new Error("Unable to get uniform location projMatrix");let s=e.getUniformLocation(t,"modelViewMatrix");if(!s)throw new Error("Unable to get uniform location modelViewMatrix");let u=e.getUniformLocation(t,"cameraMatrix");if(!u)throw new Error("Unable to get uniform location cameraMatrix");let c=e.getUniformLocation(t,"skinSampler");if(!c)throw new Error("Unable to get uniform location skinSampler");return a={prog:t,unif_matrix:s,unif_proj:o,unif_camera:u,unif_skinSampler:c,attr_position:e.getAttribLocation(t,"position"),attr_textureCoord:e.getAttribLocation(t,"textureCoord")},a}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Event5=t.Event3=t.Event2=t.Event1=t.Event=void 0;t.Event=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(){for(var e=0,t=this._funcs.length;e<t;e++)this._funcs[e]()}};t.Event1=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e){for(var t=0,r=this._funcs.length;t<r;t++)this._funcs[t](e)}};t.Event2=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t){for(var r=0,n=this._funcs.length;r<n;r++)this._funcs[r](e,t)}};t.Event3=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t,r){for(var n=0,a=this._funcs.length;n<a;n++)this._funcs[n](e,t,r)}};t.Event5=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t,r,n,a){for(var i=0,o=this._funcs.length;i<o;i++)this._funcs[i](e,t,r,n,a)}}},function(e,t,r){var n;!function(a,i){"use strict";var o="model",s="name",u="type",c="vendor",_="version",f="mobile",l="tablet",d="smarttv",h=function(e){var t={};for(var r in e)t[e[r].toUpperCase()]=e[r];return t},m=function(e,t){return"string"==typeof e&&-1!==p(t).indexOf(p(e))},p=function(e){return e.toLowerCase()},b=function(e,t){if("string"==typeof e)return e=e.replace(/^\s\s*/,"").replace(/\s\s*$/,""),void 0===t?e:e.substring(0,255)},g=function(e,t){for(var r,n,a,i,o,s,u=0;u<t.length&&!o;){var c=t[u],_=t[u+1];for(r=n=0;r<c.length&&!o;)if(o=c[r++].exec(e))for(a=0;a<_.length;a++)s=o[++n],"object"==typeof(i=_[a])&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,s):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i[0]]=s?s.replace(i[1],i[2]):void 0:this[i[0]]=s?i[1].call(this,s,i[2]):void 0:4==i.length&&(this[i[0]]=s?i[3].call(this,s.replace(i[1],i[2])):void 0):this[i]=s||void 0;u+=2}},v=function(e,t){for(var r in t)if("object"==typeof t[r]&&t[r].length>0){for(var n=0;n<t[r].length;n++)if(m(t[r][n],e))return"?"===r?void 0:r}else if(m(t[r],e))return"?"===r?void 0:r;return e},w={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},y={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[_,[s,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[_,[s,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[s,_],[/opios[\/ ]+([\w\.]+)/i],[_,[s,"Opera Mini"]],[/\bopr\/([\w\.]+)/i],[_,[s,"Opera"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[s,_],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[_,[s,"UCBrowser"]],[/\bqbcore\/([\w\.]+)/i],[_,[s,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[_,[s,"WeChat"]],[/konqueror\/([\w\.]+)/i],[_,[s,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[_,[s,"IE"]],[/yabrowser\/([\w\.]+)/i],[_,[s,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[s,/(.+)/,"$1 Secure Browser"],_],[/\bfocus\/([\w\.]+)/i],[_,[s,"Firefox Focus"]],[/\bopt\/([\w\.]+)/i],[_,[s,"Opera Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[_,[s,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[_,[s,"Dolphin"]],[/coast\/([\w\.]+)/i],[_,[s,"Opera Coast"]],[/miuibrowser\/([\w\.]+)/i],[_,[s,"MIUI Browser"]],[/fxios\/([-\w\.]+)/i],[_,[s,"Firefox"]],[/\bqihu|(qi?ho?o?|360)browser/i],[[s,"360 Browser"]],[/(oculus|samsung|sailfish)browser\/([\w\.]+)/i],[[s,/(.+)/,"$1 Browser"],_],[/(comodo_dragon)\/([\w\.]+)/i],[[s,/_/g," "],_],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[s,_],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i],[s],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[s,"Facebook"],_],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[s,_],[/\bgsa\/([\w\.]+) .*safari\//i],[_,[s,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[_,[s,"Chrome Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[s,"Chrome WebView"],_],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[_,[s,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[s,_],[/version\/([\w\.]+) .*mobile\/\w+ (safari)/i],[_,[s,"Mobile Safari"]],[/version\/([\w\.]+) .*(mobile ?safari|safari)/i],[_,s],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[s,[_,v,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[s,_],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[s,"Netscape"],_],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[_,[s,"Firefox Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[s,_]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[["architecture","amd64"]],[/(ia32(?=;))/i],[["architecture",p]],[/((?:i[346]|x)86)[;\)]/i],[["architecture","ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[["architecture","arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[["architecture","armhf"]],[/windows (ce|mobile); ppc;/i],[["architecture","arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[["architecture",/ower/,"",p]],[/(sun4\w)[;\)]/i],[["architecture","sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[["architecture",p]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[o,[c,"Samsung"],[u,l]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[o,[c,"Samsung"],[u,f]],[/\((ip(?:hone|od)[\w ]*);/i],[o,[c,"Apple"],[u,f]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[o,[c,"Apple"],[u,l]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[o,[c,"Huawei"],[u,l]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i],[o,[c,"Huawei"],[u,f]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[o,/_/g," "],[c,"Xiaomi"],[u,f]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[o,/_/g," "],[c,"Xiaomi"],[u,l]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007)\b/i],[o,[c,"OPPO"],[u,f]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[o,[c,"Vivo"],[u,f]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[o,[c,"Realme"],[u,f]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[o,[c,"Motorola"],[u,f]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[o,[c,"Motorola"],[u,l]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[o,[c,"LG"],[u,l]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[o,[c,"LG"],[u,f]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[o,[c,"Lenovo"],[u,l]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[o,/_/g," "],[c,"Nokia"],[u,f]],[/(pixel c)\b/i],[o,[c,"Google"],[u,l]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[o,[c,"Google"],[u,f]],[/droid.+ ([c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[o,[c,"Sony"],[u,f]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[o,"Xperia Tablet"],[c,"Sony"],[u,l]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[o,[c,"OnePlus"],[u,f]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[o,[c,"Amazon"],[u,l]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[o,/(.+)/g,"Fire Phone $1"],[c,"Amazon"],[u,f]],[/(playbook);[-\w\),; ]+(rim)/i],[o,c,[u,l]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[o,[c,"BlackBerry"],[u,f]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[o,[c,"ASUS"],[u,l]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[o,[c,"ASUS"],[u,f]],[/(nexus 9)/i],[o,[c,"HTC"],[u,l]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i],[c,[o,/_/g," "],[u,f]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[o,[c,"Acer"],[u,l]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[o,[c,"Meizu"],[u,f]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[o,[c,"Sharp"],[u,f]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[c,o,[u,f]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[c,o,[u,l]],[/(surface duo)/i],[o,[c,"Microsoft"],[u,l]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[o,[c,"Fairphone"],[u,f]],[/(u304aa)/i],[o,[c,"AT&T"],[u,f]],[/\bsie-(\w*)/i],[o,[c,"Siemens"],[u,f]],[/\b(rct\w+) b/i],[o,[c,"RCA"],[u,l]],[/\b(venue[\d ]{2,7}) b/i],[o,[c,"Dell"],[u,l]],[/\b(q(?:mv|ta)\w+) b/i],[o,[c,"Verizon"],[u,l]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[o,[c,"Barnes & Noble"],[u,l]],[/\b(tm\d{3}\w+) b/i],[o,[c,"NuVision"],[u,l]],[/\b(k88) b/i],[o,[c,"ZTE"],[u,l]],[/\b(nx\d{3}j) b/i],[o,[c,"ZTE"],[u,f]],[/\b(gen\d{3}) b.+49h/i],[o,[c,"Swiss"],[u,f]],[/\b(zur\d{3}) b/i],[o,[c,"Swiss"],[u,l]],[/\b((zeki)?tb.*\b) b/i],[o,[c,"Zeki"],[u,l]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[c,"Dragon Touch"],o,[u,l]],[/\b(ns-?\w{0,9}) b/i],[o,[c,"Insignia"],[u,l]],[/\b((nxa|next)-?\w{0,9}) b/i],[o,[c,"NextBook"],[u,l]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[c,"Voice"],o,[u,f]],[/\b(lvtel\-)?(v1[12]) b/i],[[c,"LvTel"],o,[u,f]],[/\b(ph-1) /i],[o,[c,"Essential"],[u,f]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[o,[c,"Envizen"],[u,l]],[/\b(trio[-\w\. ]+) b/i],[o,[c,"MachSpeed"],[u,l]],[/\btu_(1491) b/i],[o,[c,"Rotor"],[u,l]],[/(shield[\w ]+) b/i],[o,[c,"Nvidia"],[u,l]],[/(sprint) (\w+)/i],[c,o,[u,f]],[/(kin\.[onetw]{3})/i],[[o,/\./g," "],[c,"Microsoft"],[u,f]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[o,[c,"Zebra"],[u,l]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[o,[c,"Zebra"],[u,f]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[c,o,[u,"console"]],[/droid.+; (shield) bui/i],[o,[c,"Nvidia"],[u,"console"]],[/(playstation [345portablevi]+)/i],[o,[c,"Sony"],[u,"console"]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[o,[c,"Microsoft"],[u,"console"]],[/smart-tv.+(samsung)/i],[c,[u,d]],[/hbbtv.+maple;(\d+)/i],[[o,/^/,"SmartTV"],[c,"Samsung"],[u,d]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[c,"LG"],[u,d]],[/(apple) ?tv/i],[c,[o,"Apple TV"],[u,d]],[/crkey/i],[[o,"Chromecast"],[c,"Google"],[u,d]],[/droid.+aft(\w)( bui|\))/i],[o,[c,"Amazon"],[u,d]],[/\(dtv[\);].+(aquos)/i],[o,[c,"Sharp"],[u,d]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[c,b],[o,b],[u,d]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[u,d]],[/((pebble))app/i],[c,o,[u,"wearable"]],[/droid.+; (glass) \d/i],[o,[c,"Google"],[u,"wearable"]],[/droid.+; (wt63?0{2,3})\)/i],[o,[c,"Zebra"],[u,"wearable"]],[/(quest( 2)?)/i],[o,[c,"Facebook"],[u,"wearable"]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[c,[u,"embedded"]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[o,[u,f]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[o,[u,l]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[u,l]],[/(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i],[[u,f]],[/(android[-\w\. ]{0,9});.+buil/i],[o,[c,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[_,[s,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[_,[s,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[s,_],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[_,s]],os:[[/microsoft (windows) (vista|xp)/i],[s,_],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[s,[_,v,w]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[s,"Windows"],[_,v,w]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[_,/_/g,"."],[s,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[s,"Mac OS"],[_,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[_,s],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[s,_],[/\(bb(10);/i],[_,[s,"BlackBerry"]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[_,[s,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[_,[s,"Firefox OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[_,[s,"webOS"]],[/crkey\/([\d\.]+)/i],[_,[s,"Chromecast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[s,"Chromium OS"],_],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[s,_],[/(sunos) ?([\w\.\d]*)/i],[[s,"Solaris"],_],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[s,_]]},M=function(e,t){if("object"==typeof e&&(t=e,e=void 0),!(this instanceof M))return new M(e,t).getResult();var r=e||(void 0!==a&&a.navigator&&a.navigator.userAgent?a.navigator.userAgent:""),n=t?function(e,t){var r={};for(var n in e)t[n]&&t[n].length%2==0?r[n]=t[n].concat(e[n]):r[n]=e[n];return r}(y,t):y;return this.getBrowser=function(){var e,t={};return t[s]=void 0,t[_]=void 0,g.call(t,r,n.browser),t.major="string"==typeof(e=t.version)?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0,t},this.getCPU=function(){var e={architecture:void 0};return g.call(e,r,n.cpu),e},this.getDevice=function(){var e={vendor:void 0,model:void 0,type:void 0};return g.call(e,r,n.device),e},this.getEngine=function(){var e={name:void 0,version:void 0};return g.call(e,r,n.engine),e},this.getOS=function(){var e={name:void 0,version:void 0};return g.call(e,r,n.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r="string"==typeof e&&e.length>255?b(e,255):e,this},this.setUA(r),this};M.VERSION="0.7.30",M.BROWSER=h([s,_,"major"]),M.CPU=h(["architecture"]),M.DEVICE=h([o,c,u,"console",f,d,l,"wearable","embedded"]),M.ENGINE=M.OS=h([s,_]),void 0!==t?(void 0!==e&&e.exports&&(t=e.exports=M),t.UAParser=M):r(28)?void 0===(n=function(){return M}.call(t,r,t,e))||(e.exports=n):void 0!==a&&(a.UAParser=M);var x=void 0!==a&&(a.jQuery||a.Zepto);if(x&&!x.ua){var E=new M;x.ua=E.getResult(),x.ua.get=function(){return E.getUA()},x.ua.set=function(e){E.setUA(e);var t=E.getResult();for(var r in t)x.ua[r]=t[r]}}}("object"==typeof window?window:this)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.log_level_t=t.instant_world_tracker_transform_orientation_t=t.frame_pixel_format_t=t.face_landmark_name_t=t.barcode_format_t=void 0;var n=r(6);Object.defineProperty(t,"barcode_format_t",{enumerable:!0,get:function(){return n.barcode_format_t}});var a=r(6);Object.defineProperty(t,"face_landmark_name_t",{enumerable:!0,get:function(){return a.face_landmark_name_t}});var i=r(6);Object.defineProperty(t,"frame_pixel_format_t",{enumerable:!0,get:function(){return i.frame_pixel_format_t}});var o=r(6);Object.defineProperty(t,"instant_world_tracker_transform_orientation_t",{enumerable:!0,get:function(){return o.instant_world_tracker_transform_orientation_t}});var s=r(6);Object.defineProperty(t,"log_level_t",{enumerable:!0,get:function(){return s.log_level_t}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SequenceDecoder=t.SequenceRecorder=t.SequenceRecorderPacketType=void 0;const n=r(0);var a;!function(e){e[e.CAMERA_FRAME=0]="CAMERA_FRAME",e[e.ACCELEROMETER=1]="ACCELEROMETER",e[e.ROTATION_RATE=2]="ROTATION_RATE",e[e.ATTITUDE=3]="ATTITUDE",e[e.ATTITUDE_MATRIX=4]="ATTITUDE_MATRIX"}(a=t.SequenceRecorderPacketType||(t.SequenceRecorderPacketType={}));class i{constructor(e){this._insertionByte=0,this._numberPackets=0,this._started=!1,this._hasLoggedUnsuppored=!1,this._data=new ArrayBuffer(this._estimatedSize(e,320,240)),this._dataView=new DataView(this._data),this._dataUint8=new Uint8Array(this._data),this._dataFloat32=new Float32Array(this._data)}_estimatedSize(e,t,r){return i.headerSizeBytes+(i.psbPacketType+i.cameraPacketSizeBytes+t*r)*e}start(){this._started=!0,this._insertionByte=0,this._numberPackets=0,this._growArrayBuffer(i.headerSizeBytes);let e=(new TextEncoder).encode("UAR1");this._dataUint8.set(e),this._dataView.setUint32(4,0,!0),this._insertionByte+=8}stop(){this._started=!1;let e=this._data.slice(0,this._insertionByte);this._data=e,this._dataUint8=new Uint8Array(this._data),this._dataFloat32=new Float32Array(this._data),this._dataView=new DataView(this._data)}data(){return this._dataUint8}appendCameraFrame(e){if(!this._started)return;if(!e.data){if(this._hasLoggedUnsuppored)return;return this._hasLoggedUnsuppored=!0,void n.zcerr("Unable to record frames from this camera source")}if(e.data.byteLength!==e.dataWidth*e.dataHeight)return void n.zcerr("Unable to record frame to sequence: greyscale array doesn't match dimensions");let t=i.psbPacketType+i.cameraPacketSizeBytes+e.dataWidth*e.dataHeight;this._growArrayBuffer(t),this._dataView.setUint32(this._insertionByte,a.CAMERA_FRAME,!0),this._insertionByte+=i.psbPacketType,this._dataView.setUint32(this._insertionByte,e.dataWidth,!0),this._insertionByte+=i.psbCameraFrameWidth,this._dataView.setUint32(this._insertionByte,e.dataHeight,!0),this._insertionByte+=i.psbCameraFrameHeight,this._dataFloat32.set(e.cameraToDevice,this._insertionByte/4),this._insertionByte+=i.psbCameraToDeviceTransform,this._dataFloat32.set(e.cameraModel,this._insertionByte/4),this._insertionByte+=i.psbCameraModel,this._dataView.setUint32(this._insertionByte,e.userFacing?1:0,!0),this._insertionByte+=i.psbFlags,this._dataUint8.set(new Uint8Array(e.data),this._insertionByte),this._insertionByte+=e.data.byteLength,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}appendAccelerometer(e,t,r,n){this._appendTimestampedVec3(a.ACCELEROMETER,e,t,r,n)}appendRotationRate(e,t,r,n){this._appendTimestampedVec3(a.ROTATION_RATE,e,t,r,n)}appendAttitude(e,t,r,n){this._appendTimestampedVec3(a.ATTITUDE,e,t,r,n)}_appendTimestampedVec3(e,t,r,n,a){if(!this._started)return;let o=i.psbPacketType+i.accelerometerPacketSizeBytes;this._growArrayBuffer(o),this._dataView.setUint32(this._insertionByte,e,!0),this._insertionByte+=i.psbPacketType,this._dataView.setUint32(this._insertionByte,t,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,r,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,n,!0),this._insertionByte+=4,this._dataView.setFloat32(this._insertionByte,a,!0),this._insertionByte+=4,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}appendAttitudeMatrix(e){if(!this._started)return;let t=i.psbPacketType+i.attitudeMatrixPacketSizeBytes;this._growArrayBuffer(t),this._dataView.setUint32(this._insertionByte,a.ATTITUDE_MATRIX,!0),this._insertionByte+=i.psbPacketType,this._dataFloat32.set(e,this._insertionByte/4),this._insertionByte+=i.attitudeMatrixPacketSizeBytes,this._numberPackets++,this._dataView.setUint32(4,this._numberPackets,!0)}_growArrayBuffer(e){for(;this._insertionByte+e>this._data.byteLength;){let e=Math.max(2*this._data.byteLength,this._estimatedSize(50,320,240)),t=new ArrayBuffer(e),r=new Uint8Array(t);r.set(this._dataUint8),this._data=t,this._dataUint8=r,this._dataFloat32=new Float32Array(this._data),this._dataView=new DataView(this._data)}}}t.SequenceRecorder=i,i.headerSizeBytes=8,i.psbPacketType=4,i.psbCameraFrameWidth=4,i.psbCameraFrameHeight=4,i.psbFlags=4,i.psbCameraToDeviceTransform=64,i.psbCameraModel=24,i.cameraPacketSizeBytes=i.psbCameraFrameWidth+i.psbCameraFrameHeight+i.psbCameraToDeviceTransform+i.psbCameraModel+i.psbFlags,i.accelerometerPacketSizeBytes=16,i.rotationRatePacketSizeBytes=16,i.attitudePacketSizeBytes=16,i.attitudeMatrixPacketSizeBytes=64;t.SequenceDecoder=class{constructor(e){this._data=e,this.dataByPacket=new Map,this.dataByCameraFrame=new Map,this.numberPackets=0,this.numberCameraFrames=0,this.numberAccelerometerPackets=0,this.numberRotationRatePackets=0,this.numberAttitudePackets=0,this.numberAttitudeMatrixPackets=0;let t=new TextDecoder,r="";try{r=t.decode(this._data.slice(0,4))}catch(e){throw new Error("Unable to decode header - perhaps this isn't a sequence file?")}if("UAR1"!==r)throw new Error("Invalid - perhaps this isn't a sequence file: "+r);let n=0,o=new DataView(this._data);this.numberPackets=o.getUint32(4,!0),n+=i.headerSizeBytes;for(let e=0;e<this.numberPackets;e++){let t=o.getUint32(n,!0);switch(n+=i.psbPacketType,t){case a.CAMERA_FRAME:{let t=o.getUint32(n,!0);n+=i.psbCameraFrameWidth;let r=o.getUint32(n,!0);n+=i.psbCameraFrameHeight;let s=new Float32Array(this._data,n,i.psbCameraToDeviceTransform/4);n+=i.psbCameraToDeviceTransform;let u=new Float32Array(this._data,n,i.psbCameraModel/4);n+=i.psbCameraModel;let c=o.getUint32(n,!0);n+=i.psbFlags;let _=1===c,f=new Uint8Array(this._data,n,t*r);n+=t*r;let l={type:a.CAMERA_FRAME,width:t,height:r,cameraToDevice:s,cameraModel:u,userFacing:_,greyscale:f};this.dataByPacket.set(e,l),this.dataByCameraFrame.set(this.numberCameraFrames,l),this.numberCameraFrames++;break}case a.ACCELEROMETER:{let t=o.getUint32(n,!0);n+=4;let r=o.getFloat32(n,!0);n+=4;let i=o.getFloat32(n,!0);n+=4;let s=o.getFloat32(n,!0);n+=4,this.dataByPacket.set(e,{type:a.ACCELEROMETER,t:t,x:r,y:i,z:s}),this.numberAccelerometerPackets++;break}case a.ROTATION_RATE:{let t=o.getUint32(n,!0);n+=4;let r=o.getFloat32(n,!0);n+=4;let i=o.getFloat32(n,!0);n+=4;let s=o.getFloat32(n,!0);n+=4,this.dataByPacket.set(e,{type:a.ROTATION_RATE,t:t,x:r,y:i,z:s}),this.numberRotationRatePackets++;break}case a.ATTITUDE:{let t=o.getUint32(n,!0);n+=4;let r=o.getFloat32(n,!0);n+=4;let i=o.getFloat32(n,!0);n+=4;let s=o.getFloat32(n,!0);n+=4,this.dataByPacket.set(e,{type:a.ATTITUDE,t:t,x:r,y:i,z:s}),this.numberAttitudePackets++;break}case a.ATTITUDE_MATRIX:{let t=new Float32Array(this._data,n,i.attitudeMatrixPacketSizeBytes/4);n+=i.attitudeMatrixPacketSizeBytes,this.dataByPacket.set(e,{type:a.ATTITUDE_MATRIX,attitude:t}),this.numberAttitudeMatrixPackets++;break}}}}}},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.CameraSource=void 0;const a=r(15),i=r(3),o=r(2),s=r(5),u=r(0),c=r(7);let _=document.createElement("video");_.setAttribute("playsinline",""),_.setAttribute("webkit-playsinline",""),i.profile.videoElementInDOM&&(_.style.width="0px",_.style.height="0px",document.body.appendChild(_));class f extends a.HTMLElementSource{constructor(e,t,r){super(_,t),this._impl=e,this._deviceId=r,this._currentStream=null,this._activeDeviceId=null,this._hasStartedOrientation=!1,this._deviceMotionListener=e=>{let t=o.Pipeline.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.accelerationIncludingGravity&&null!==e.accelerationIncludingGravity.x&&null!==e.accelerationIncludingGravity.y&&null!==e.accelerationIncludingGravity.z&&t.motionAccelerometerSubmit(r,e.accelerationIncludingGravity.x*i.profile.deviceMotionMutliplier,e.accelerationIncludingGravity.y*i.profile.deviceMotionMutliplier,e.accelerationIncludingGravity.z*i.profile.deviceMotionMutliplier),null===e.rotationRate||null===e.rotationRate.alpha||null===e.rotationRate.beta||null===e.rotationRate.gamma||this._hasStartedOrientation?this._hasStartedOrientation||this._startDeviceOrientation():(e.timeStamp,t.motionRotationRateSubmit(r,e.rotationRate.alpha*Math.PI/-180,e.rotationRate.beta*Math.PI/-180,e.rotationRate.gamma*Math.PI/-180))}}destroy(){c.deleteCameraSource(this._impl),super.destroy()}_stop(){if(!this._currentStream)return;this._currentStream.getTracks().forEach(e=>e.stop()),this._currentStream=null}pause(){super.pause(),this._stopDeviceMotion(),this._syncCamera()}start(){super.start(),this._startDeviceMotion(),this._syncCamera()}_getConstraints(){return n(this,void 0,void 0,(function*(){let e,t;this._deviceId!==f.DEFAULT_DEVICE_ID&&this._deviceId!==f.USER_DEFAULT_DEVICE_ID?e=this._deviceId:t=this._deviceId===f.DEFAULT_DEVICE_ID?"environment":"user";let r={audio:!1,video:{facingMode:t,width:i.profile.videoWidth,height:i.profile.videoHeight,frameRate:i.profile.requestHighFrameRate?60:void 0,deviceId:e}};if(e)return r;if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return r;let n=yield navigator.mediaDevices.enumerateDevices(),a=!1;return n=n.filter(e=>{if("videoinput"!==e.kind)return!1;if(e.getCapabilities){a=!0;let r=e.getCapabilities();if(r&&r.facingMode&&r.facingMode.indexOf("user"===t?"user":"environment")<0)return!1}return!0}),a&&0!==n.length?("object"==typeof r.video&&(u.zcout("choosing device ID",n[n.length-1].deviceId),r.video.deviceId=n[n.length-1].deviceId),r):r}))}getFrame(e){this._cameraToScreenRotation=s.cameraRotationForScreenOrientation(!1),super.getFrame(e)}_getUserMedia(){return n(this,void 0,void 0,(function*(){let e=yield this._getConstraints();return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?yield navigator.mediaDevices.getUserMedia(e):yield new Promise((t,r)=>{navigator.getUserMedia(e,t,r)})}))}_syncCamera(){return n(this,void 0,void 0,(function*(){if(this._currentStream&&this._isPaused)this._stop();else if(this._currentStream&&this._activeDeviceId!==this._deviceId&&this._stop(),!this._isPaused){if(this._activeDeviceId=this._deviceId,this._currentStream=yield this._getUserMedia(),this._isPaused)return void(yield this._syncCamera());if(this._isUserFacing=!1,this._currentStream){let e=this._currentStream.getVideoTracks();e.length>0&&(this._isUserFacing="user"===e[0].getSettings().facingMode)}if(!(this._video instanceof HTMLVideoElement))return;this._video.src="",this._video.loop=!1,this._video.muted=!0,this._video.srcObject=this._currentStream,this._video.play()}}))}_startDeviceOrientation(){this._hasStartedOrientation||(this._hasStartedOrientation=!0,this._deviceOrientationListener=e=>{let t=o.Pipeline.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.alpha&&null!==e.beta&&null!==e.gamma&&t.motionAttitudeSubmit(r,e.alpha,e.beta,e.gamma)},window.addEventListener("deviceorientation",this._deviceOrientationListener))}_startDeviceMotion(){window.addEventListener("devicemotion",this._deviceMotionListener,!1)}_stopDeviceMotion(){window.removeEventListener("devicemotion",this._deviceMotionListener),this._deviceOrientationListener&&window.removeEventListener("deviceorientation",this._deviceOrientationListener)}}t.CameraSource=f,f.USER_DEFAULT_DEVICE_ID="Simulated User Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b",f.DEFAULT_DEVICE_ID="Simulated Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HTMLElementSource=void 0;const n=r(2),a=r(8),i=r(3),o=r(1),s=r(0),u=r(33);let c=1,_=new Map;class f extends a.Source{constructor(e,t){super(),this._video=e,this._pipeline=t,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._cameraToDeviceTransform=o.mat4.create(),this._cameraToDeviceTransformUserFacing=o.mat4.create(),this._cameraModel=new Float32Array([300,300,160,120,0,0]),o.mat4.fromScaling(this._cameraToDeviceTransformUserFacing,[-1,1,-1]);let r=this._video;this._video instanceof HTMLVideoElement?r.addEventListener("loadedmetadata",()=>{this._hadFrames=!0}):this._hadFrames=!0,this._resetGLContext=this._resetGLContext.bind(this);let a=n.Pipeline.get(this._pipeline);a&&a.onGLContextReset.bind(this._resetGLContext)}static createVideoElementSource(e,t){let r=c++;return _.set(r,new f(t,e)),s.zcout("html_element_source_t initialized"),r}static getVideoElementSource(e){return _.get(e)}_resetGLContext(){var e,t;this._currentVideoTexture=void 0,null===(t=null===(e=this._imageProcessor)||void 0===e?void 0:e.resetGLContext)||void 0===t||t.call(e)}destroy(){let e=n.Pipeline.get(this._pipeline);e&&e.onGLContextReset.unbind(this._resetGLContext),this.pause(),this._resetGLContext()}pause(){this._isPaused=!0;let e=n.Pipeline.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0)}start(){var e;this._isPaused&&(this._isUploadFrame=!0,this._video instanceof HTMLVideoElement&&(this._hadFrames=!1)),this._isPaused=!1;let t=n.Pipeline.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this)}getFrame(e){let t=n.Pipeline.get(this._pipeline);if(!t)return;let r=t.glContext;if(r&&!this._isPaused&&this._hadFrames)try{let n=this._processFrame(r,this._cameraToScreenRotation,e);if(n){let e=t.registerToken(n);t.sendDataToWorker(n.data||new ArrayBuffer(0),e,n.dataWidth,n.dataHeight,n.userFacing,n.cameraToDevice,n.cameraModel)}}catch(e){console.log("Unable to process frame")}}_processFrame(e,t,r){let a=n.Pipeline.get(this._pipeline);if(!a)return;if(this._imageProcessor||(this._imageProcessor=new u.ImageProcessGL(e)),this._isUploadFrame){if(this._currentVideoTexture||(this._currentVideoTexture=a.getVideoTexture()),!this._currentVideoTexture)return;return this._imageProcessor.uploadFrame(this._currentVideoTexture,this._video,t,this._isUserFacing),void(this._isUploadFrame=!this._isUploadFrame)}if(r||!this._currentVideoTexture)return;this._isUploadFrame=!this._isUploadFrame;let o=i.profile.dataWidth*i.profile.dataHeight,s=a.cameraPixelArrays.pop();for(;s&&s.byteLength!==o;)s=a.cameraPixelArrays.pop();s||(s=new ArrayBuffer(o));let c=this._currentVideoTexture;this._currentVideoTexture=void 0;let _=300*i.profile.dataWidth/320;return this._cameraModel[0]=_,this._cameraModel[1]=_,this._cameraModel[2]=.5*i.profile.dataWidth,this._cameraModel[3]=.5*i.profile.dataHeight,Object.assign(Object.assign({},this._imageProcessor.readFrame(c,s)),{cameraModel:this._cameraModel,cameraSource:this,cameraToDevice:this._isUserFacing?this._cameraToDeviceTransformUserFacing:this._cameraToDeviceTransform})}uploadGL(){}}t.HTMLElementSource=f},function(e,t,r){"use strict";r.r(t),t.default=r.p+"b4f46e148a3b3b5aef90717d8d60e3fc.zbin"},function(e,t,r){"use strict";e.exports=function(e,t,r,n){try{try{var a;try{a=new window.Blob([e])}catch(t){(a=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(e),a=a.getBlob()}var i=window.URL||window.webkitURL,o=i.createObjectURL(a),s=new window[t](o,r);return i.revokeObjectURL(o),s}catch(n){return new window[t]("data:application/javascript,".concat(encodeURIComponent(e)),r)}}catch(e){if(!n)throw Error("Inline worker is not supported");return new window[t](n,r)}}},function(e,t,r){"use strict";if(Object.defineProperty(t,"__esModule",{value:!0}),t.log_level_t=t.instant_world_tracker_transform_orientation_t=t.face_landmark_name_t=t.barcode_format_t=t.initialize=void 0,document.currentScript){const e=new URL(document.currentScript.src);let t=e.toString();if(e.pathname){let e=t.split("/");e.pop(),t=e.join("/")+"/"}r.p=t}const n=r(19),a=r(43);t.initialize=function(){return console.log("Zappar CV v"+a.VERSION),n.initialize()};var i=r(12);Object.defineProperty(t,"barcode_format_t",{enumerable:!0,get:function(){return i.barcode_format_t}}),Object.defineProperty(t,"face_landmark_name_t",{enumerable:!0,get:function(){return i.face_landmark_name_t}}),Object.defineProperty(t,"instant_world_tracker_transform_orientation_t",{enumerable:!0,get:function(){return i.instant_world_tracker_transform_orientation_t}}),Object.defineProperty(t,"log_level_t",{enumerable:!0,get:function(){return i.log_level_t}})},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.initialize=void 0;const a=r(20),i=r(9),o=r(5),s=r(1),u=r(23),c=r(27),_=r(29),f=r(2),l=r(14),d=r(15),h=r(36),m=r(38),p=r(0),b=r(39),g=r(7),v=r(40);let w;t.initialize=function(){if(w)return w;let e=!1;u.launchWorker().then(()=>{p.zcout("Fully loaded"),e=!0});let t=new a.zappar_client(e=>{u.messageManager.postOutgoingMessage({t:"zappar",d:e},[e])});if(window.location.hostname.toLowerCase().indexOf(".zappar.io")>0){let e=window.location.pathname.split("/");e.length>1&&e[1].length>0&&t.impl.analytics_project_id_set(".wiz"+e[1])}return u.messageManager.onIncomingMessage.bind(e=>{var r,n,a,i,o,s,u;switch(e.t){case"zappar":null===(r=f.Pipeline.get(e.p))||void 0===r||r.pendingMessages.push(e.d);break;case"buf":t.serializer.bufferReturn(e.d);break;case"cameraFrameRecycleS2C":{let t=e;null===(a=null===(n=f.Pipeline.get(t.p))||void 0===n?void 0:n.cameraTokenReturn)||void 0===a||a.call(n,e);break}case"videoFrameS2C":{let t=e;null===(o=null===(i=f.Pipeline.get(t.p))||void 0===i?void 0:i.videoFrameFromWorker)||void 0===o||o.call(i,t);break}case"imageBitmapS2C":{let t=e;null===(u=null===(s=f.Pipeline.get(t.p))||void 0===s?void 0:s.imageBitmapFromWorker)||void 0===u||u.call(s,t);break}case"licerr":{let e=document.createElement("div");e.innerHTML="Visit <a href='https://docs.zap.works/universal-ar/licensing/' style='color: white;'>our licensing page</a> to find out about hosting on your own domain.",e.style.position="absolute",e.style.bottom="20px",e.style.width="80%",e.style.backgroundColor="black",e.style.color="white",e.style.borderRadius="10px",e.style.padding="10px",e.style.fontFamily="sans-serif",e.style.textAlign="center",e.style.left="10%",e.style.zIndex=Number.MAX_SAFE_INTEGER.toString();let t=document.createElement("span");t.innerText=" (30)",e.append(t);let r=30;setInterval((function(){r--,r>=0&&(t.innerText=" ("+r.toString()+")")}),1e3),document.body.append(e)}case"gfx":{let e=document.createElement("div");e.innerHTML=v.gfx,e.style.position="absolute",e.style.bottom="20px",e.style.width="250px",e.style.left="50%",e.style.marginLeft="-125px",e.style.zIndex=Number.MAX_SAFE_INTEGER.toString(),e.style.opacity="0",e.style.transition="opacity 0.5s",document.body.append(e),setTimeout((function(){e.style.opacity="1"}),500),setTimeout((function(){e.style.opacity="0"}),3e3),setTimeout((function(){e.remove()}),4e3)}}}),w=Object.assign(Object.assign({},t.impl),{loaded:()=>e,camera_default_device_id:e=>e?l.CameraSource.USER_DEFAULT_DEVICE_ID:l.CameraSource.DEFAULT_DEVICE_ID,camera_source_create:(e,t)=>g.createCameraSource(e,t),camera_source_destroy:e=>{var t;return null===(t=g.getCameraSource(e))||void 0===t?void 0:t.destroy()},camera_source_pause:e=>{var t;return null===(t=g.getCameraSource(e))||void 0===t?void 0:t.pause()},camera_source_start:e=>{var t;return null===(t=g.getCameraSource(e))||void 0===t?void 0:t.start()},pipeline_create:()=>f.Pipeline.create(t.impl,u.messageManager),pipeline_frame_update:e=>{var r;return null===(r=f.Pipeline.get(e))||void 0===r?void 0:r.frameUpdate(t)},pipeline_camera_frame_draw_gl:(e,t,r,n)=>{var a;null===(a=f.Pipeline.get(e))||void 0===a||a.cameraFrameDrawGL(t,r,n)},draw_plane:(e,t,r,n,a)=>{i.drawPlane(e,t,r,n,a)},pipeline_draw_face:(e,t,r,n,a)=>{var i;let o=_.getFaceMesh(a);if(!o)return p.zcwarn("attempting to call draw_face on a destroyed zappar_face_mesh_t"),new Uint16Array;null===(i=f.Pipeline.get(e))||void 0===i||i.drawFace(t,r,n,o)},pipeline_draw_face_project:(e,t,r,n,a,i,o)=>{var s;null===(s=f.Pipeline.get(e))||void 0===s||s.drawFaceProject(t,r,n,a,i,o)},projection_matrix_from_camera_model:o.projectionMatrix,projection_matrix_from_camera_model_ext:o.projectionMatrix,pipeline_process_gl:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.processGL()},pipeline_gl_context_set:(e,t,r)=>{var n;return null===(n=f.Pipeline.get(e))||void 0===n?void 0:n.glContextSet(t,r)},pipeline_gl_context_lost:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.glContextLost()},pipeline_camera_frame_upload_gl:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.uploadGL()},pipeline_camera_frame_texture_gl:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.cameraFrameTexture()},pipeline_camera_frame_texture_matrix:(e,t,r,n)=>{var a;return(null===(a=f.Pipeline.get(e))||void 0===a?void 0:a.cameraFrameTextureMatrix(t,r,n))||s.mat4.create()},pipeline_camera_frame_user_facing:e=>{var t;return(null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.cameraFrameUserFacing())||!1},pipeline_camera_pose_default:()=>s.mat4.create(),pipeline_camera_pose_with_attitude:(e,t)=>{var r;return(null===(r=f.Pipeline.get(e))||void 0===r?void 0:r.cameraPoseWithAttitude(t))||s.mat4.create()},pipeline_camera_pose_with_origin:(e,t)=>{let r=s.mat4.create();return s.mat4.invert(r,t),r},pipeline_sequence_record_clear:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.sequenceRecordClear()},pipeline_sequence_record_start:(e,t)=>{var r;return null===(r=f.Pipeline.get(e))||void 0===r?void 0:r.sequenceRecordStart(t)},pipeline_sequence_record_stop:e=>{var t;return null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.sequenceRecordStop()},pipeline_sequence_record_device_attitude_matrices_set:(e,t)=>{var r;return null===(r=f.Pipeline.get(e))||void 0===r?void 0:r.sequenceRecordDeviceAttitudeMatrices(t)},pipeline_sequence_record_data:e=>{var t;return(null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.sequenceRecordData())||new Uint8Array(0)},pipeline_sequence_record_data_size:e=>{var t;return(null===(t=f.Pipeline.get(e))||void 0===t?void 0:t.sequenceRecordData().byteLength)||0},instant_world_tracker_anchor_pose_camera_relative:(e,r)=>{let n=f.applyScreenCounterRotation(void 0,t.impl.instant_world_tracker_anchor_pose_raw(e));if(r){let e=s.mat4.create();s.mat4.fromScaling(e,[-1,1,1]),s.mat4.multiply(n,e,n),s.mat4.multiply(n,n,e)}return n},instant_world_tracker_anchor_pose:(e,r,n)=>{let a=f.applyScreenCounterRotation(void 0,t.impl.instant_world_tracker_anchor_pose_raw(e));if(n){let e=s.mat4.create();s.mat4.fromScaling(e,[-1,1,1]),s.mat4.multiply(a,e,a),s.mat4.multiply(a,a,e)}return s.mat4.multiply(a,r,a),a},instant_world_tracker_anchor_pose_set_from_camera_offset:(e,r,n,a,i)=>{let u=o.cameraRotationForScreenOrientation(!1)*Math.PI/180,c=s.mat4.create();s.mat4.fromRotation(c,-u,[0,0,1]);let _=s.vec3.create();s.vec3.transformMat4(_,[r,n,a],c),t.impl.instant_world_tracker_anchor_pose_set_from_camera_offset_raw(e,_[0],_[1],_[2],i)},image_tracker_anchor_pose_camera_relative:(e,r,n)=>{let a=f.applyScreenCounterRotation(void 0,t.impl.image_tracker_anchor_pose_raw(e,r));if(n){let e=s.mat4.create();s.mat4.fromScaling(e,[-1,1,1]),s.mat4.multiply(a,e,a),s.mat4.multiply(a,a,e)}return a},image_tracker_anchor_pose:(e,r,n,a)=>{let i=f.applyScreenCounterRotation(void 0,t.impl.image_tracker_anchor_pose_raw(e,r));if(a){let e=s.mat4.create();s.mat4.fromScaling(e,[-1,1,1]),s.mat4.multiply(i,e,i),s.mat4.multiply(i,i,e)}return s.mat4.multiply(i,n,i),i},face_tracker_anchor_pose_camera_relative:(e,r,n)=>{let a=f.applyScreenCounterRotation(void 0,t.impl.face_tracker_anchor_pose_raw(e,r));if(n){let e=s.mat4.create();s.mat4.fromScaling(e,[-1,1,1]),s.mat4.multiply(a,e,a),s.mat4.multiply(a,a,e)}return a},face_tracker_anchor_pose:(e,r,n,a)=>{let i=f.applyScreenCounterRotation(void 0,t.impl.face_tracker_anchor_pose_raw(e,r));if(a){let e=s.mat4.create();s.mat4.fromScaling(e,[-1,1,1]),s.mat4.multiply(i,e,i),s.mat4.multiply(i,i,e)}return s.mat4.multiply(i,n,i),i},face_tracker_model_load_default:e=>n(this,void 0,void 0,(function*(){yield function(e){return n(this,void 0,void 0,(function*(){let t=r(42);void 0!==t.default&&(t=t.default);let n=yield fetch(t),a=yield n.arrayBuffer();null==w||w.face_tracker_model_load_from_memory(e,a)}))}(e)})),face_mesh_create:()=>_.createFaceMesh(),face_mesh_destroy:e=>{_.destroyFaceMesh(e)},face_mesh_indices:e=>{let t=_.getFaceMesh(e);return t?t.getIndices():(p.zcwarn("attempting to call face_mesh_indices on a destroyed zappar_face_mesh_t"),new Uint16Array)},face_mesh_indices_size:e=>{let t=_.getFaceMesh(e);return t?t.getIndices().length:(p.zcwarn("attempting to call face_mesh_indices_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_uvs:e=>{let t=_.getFaceMesh(e);return t?t.getUVs():(p.zcwarn("attempting to call face_mesh_uvs on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_uvs_size:e=>{let t=_.getFaceMesh(e);return t?t.getUVs().length:(p.zcwarn("attempting to call face_mesh_uvs_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_vertices:e=>{let t=_.getFaceMesh(e);return t?t.getVertices():(p.zcwarn("attempting to call face_mesh_vertices on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_vertices_size:e=>{let t=_.getFaceMesh(e);return t?t.getVertices().length:(p.zcwarn("attempting to call face_mesh_vertices_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_normals:e=>{let t=_.getFaceMesh(e);return t?t.getNormals():(p.zcwarn("attempting to call face_mesh_normals on a destroyed zappar_face_mesh_t"),new Float32Array)},face_mesh_normals_size:e=>{let t=_.getFaceMesh(e);return t?t.getNormals().length:(p.zcwarn("attempting to call face_mesh_normals_size on a destroyed zappar_face_mesh_t"),0)},face_mesh_load_from_memory:(e,t,r,n,a,i)=>{let o=_.getFaceMesh(e);o?o.loadFromMemory(t,r,n,a,i):p.zcwarn("attempting to call face_mesh_load_from_memory on a destroyed zappar_face_mesh_t")},face_mesh_update:(e,t,r,n)=>{let a=_.getFaceMesh(e);a?a.update(t,r,n):p.zcwarn("attempting to call face_mesh_update on a destroyed zappar_face_mesh_t")},face_mesh_load_default:e=>n(this,void 0,void 0,(function*(){let t=_.getFaceMesh(e);if(!t)return void p.zcwarn("attempting to call face_mesh_load_default on a destroyed zappar_face_mesh_t");let n=r(16);void 0!==n.default&&(n=n.default);let a=yield fetch(n);t.loadFromMemory(yield a.arrayBuffer(),!1,!1,!1,!1)})),face_mesh_load_default_face:(e,t,a,i)=>n(this,void 0,void 0,(function*(){let n=_.getFaceMesh(e);if(!n)return void p.zcwarn("attempting to call face_mesh_load_default_face on a destroyed zappar_face_mesh_t");let o=r(16);void 0!==o.default&&(o=o.default);let s=yield fetch(o);n.loadFromMemory(yield s.arrayBuffer(),t,a,i,!1)})),face_mesh_load_default_full_head_simplified:(e,t,a,i,o)=>n(this,void 0,void 0,(function*(){let n=_.getFaceMesh(e);if(!n)return void p.zcwarn("attempting to call face_mesh_load_default_full_head_simplified on a destroyed zappar_face_mesh_t");let s=r(41);void 0!==s.default&&(s=s.default);let u=yield fetch(s);n.loadFromMemory(yield u.arrayBuffer(),t,a,i,o)})),face_mesh_loaded_version:e=>{let t=_.getFaceMesh(e);return t?t.getModelVersion():(p.zcwarn("attempting to call face_mesh_load_default on a destroyed zappar_face_mesh_t"),-1)},face_landmark_create:e=>h.createFaceLandmark(e),face_landmark_destroy:e=>{h.destroyFaceLandmark(e)},face_landmark_update:(e,t,r,n)=>{let a=h.getFaceLandmark(e);a?a.update(t,r,n):p.zcwarn("attempting to call face_landmark_update on a destroyed zappar_face_landmark_t")},face_landmark_anchor_pose:e=>{let t=h.getFaceLandmark(e);return t?t.anchor_pose:(p.zcwarn("attempting to call face_landmark_anchor_pose on a destroyed zappar_face_landmark_t"),s.mat4.create())},html_element_source_create:(e,t)=>d.HTMLElementSource.createVideoElementSource(e,t),html_element_source_start:e=>{var t;return null===(t=d.HTMLElementSource.getVideoElementSource(e))||void 0===t?void 0:t.start()},html_element_source_pause:e=>{var t;return null===(t=d.HTMLElementSource.getVideoElementSource(e))||void 0===t?void 0:t.pause()},html_element_source_destroy:e=>{var t;return null===(t=d.HTMLElementSource.getVideoElementSource(e))||void 0===t?void 0:t.destroy()},sequence_source_create:e=>b.SequenceSource.create(e),sequence_source_load_from_memory:(e,t)=>{var r;return null===(r=b.SequenceSource.get(e))||void 0===r?void 0:r.loadFromMemory(t)},sequence_source_pause:e=>{var t;return null===(t=b.SequenceSource.get(e))||void 0===t?void 0:t.pause()},sequence_source_start:e=>{var t;return null===(t=b.SequenceSource.get(e))||void 0===t?void 0:t.start()},sequence_source_max_playback_fps_set:(e,t)=>{var r;return null===(r=b.SequenceSource.get(e))||void 0===r?void 0:r.maxPlaybackFpsSet(t)},sequence_source_destroy:e=>{var t;return null===(t=b.SequenceSource.get(e))||void 0===t?void 0:t.destroy()},permission_granted_all:c.permissionGrantedAll,permission_granted_camera:c.permissionGrantedCamera,permission_granted_motion:c.permissionGrantedMotion,permission_denied_any:c.permissionDeniedAny,permission_denied_camera:c.permissionDeniedCamera,permission_denied_motion:c.permissionDeniedMotion,permission_request_motion:c.permissionRequestMotion,permission_request_camera:c.permissionRequestCamera,permission_request_all:c.permissionRequestAll,permission_request_ui:c.permissionRequestUI,permission_request_ui_promise:c.permissionRequestUI,permission_denied_ui:c.permissionDeniedUI,browser_incompatible:m.default.incompatible,browser_incompatible_ui:m.default.incompatible_ui,log_level_set:e=>{p.setLogLevel(e),t.impl.log_level_set(e)}}),w}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.zappar_client=void 0;const n=r(21),a=r(22);t.zappar_client=class{constructor(e){this._messageSender=e,this._globalState={log_level:1},this.serializer=new n.MessageSerializer(e=>{this._messageSender(e)}),this.deserializer=new a.MessageDeserializer,this._latestId=1,this._pipeline_state_by_instance=new Map,this._camera_source_state_by_instance=new Map,this._sequence_source_state_by_instance=new Map,this._image_tracker_state_by_instance=new Map,this._face_tracker_state_by_instance=new Map,this._face_mesh_state_by_instance=new Map,this._face_landmark_state_by_instance=new Map,this._barcode_finder_state_by_instance=new Map,this._instant_world_tracker_state_by_instance=new Map,this.impl={log_level:()=>this._globalState.log_level,log_level_set:e=>{this.serializer.sendMessage(34,t=>{t.logLevel(e)})},analytics_project_id_set:e=>{this.serializer.sendMessage(31,t=>{t.string(e)})},pipeline_create:()=>{let e=this._latestId++,t={current_frame_user_data:0,camera_model:new Float32Array([300,300,160,120,0,0]),camera_pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),camera_frame_camera_attitude:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),camera_frame_device_attitude:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),frame_number:0};return this._pipeline_state_by_instance.set(e,t),this.serializer.sendMessage(27,t=>{t.type(e)}),e},pipeline_destroy:e=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this._pipeline_state_by_instance.delete(e),this.serializer.sendMessage(28,t=>{t.type(e)})},pipeline_frame_update:e=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(9,t=>{t.type(e)})},pipeline_frame_number:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.frame_number},pipeline_camera_model:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_model},pipeline_camera_frame_user_data:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.current_frame_user_data},pipeline_camera_frame_submit:(e,t,r,n,a,i,o,s)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(8,u=>{u.type(e),u.dataWithLength(t),u.int(r),u.int(n),u.int(a),u.matrix4x4(i),u.cameraModel(o),u.bool(s)})},pipeline_camera_frame_submit_raw_pointer:(e,t,r,n,a,i,o,s,u,c,_)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed")},pipeline_camera_frame_camera_attitude:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_frame_camera_attitude},pipeline_camera_frame_device_attitude:e=>{let t=this._pipeline_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.camera_frame_device_attitude},pipeline_motion_accelerometer_submit:(e,t,r,n,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(10,i=>{i.type(e),i.timestamp(t),i.float(r),i.float(n),i.float(a)})},pipeline_motion_rotation_rate_submit:(e,t,r,n,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(11,i=>{i.type(e),i.timestamp(t),i.float(r),i.float(n),i.float(a)})},pipeline_motion_attitude_submit:(e,t,r,n,a)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(12,i=>{i.type(e),i.timestamp(t),i.float(r),i.float(n),i.float(a)})},pipeline_motion_attitude_matrix_submit:(e,t)=>{if(!this._pipeline_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(13,r=>{r.type(e),r.matrix4x4(t)})},camera_source_create:(e,t)=>{let r=this._latestId++;return this._camera_source_state_by_instance.set(r,{}),this.serializer.sendMessage(29,n=>{n.type(r),n.type(e),n.string(t)}),r},camera_source_destroy:e=>{if(!this._camera_source_state_by_instance.get(e))throw new Error("This object has been destroyed");this._camera_source_state_by_instance.delete(e),this.serializer.sendMessage(30,t=>{t.type(e)})},sequence_source_create:e=>{let t=this._latestId++;return this._sequence_source_state_by_instance.set(t,{}),this.serializer.sendMessage(35,r=>{r.type(t),r.type(e)}),t},sequence_source_destroy:e=>{if(!this._sequence_source_state_by_instance.get(e))throw new Error("This object has been destroyed");this._sequence_source_state_by_instance.delete(e),this.serializer.sendMessage(36,t=>{t.type(e)})},image_tracker_create:e=>{let t=this._latestId++;return this._image_tracker_state_by_instance.set(t,{enabled:!0,target_loaded_version:-1,target_count:0,anchor_count:0,anchor_id:[],anchor_pose:[]}),this.serializer.sendMessage(2,r=>{r.type(t),r.type(e)}),t},image_tracker_destroy:e=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._image_tracker_state_by_instance.delete(e),this.serializer.sendMessage(14,t=>{t.type(e)})},image_tracker_target_load_from_memory:(e,t)=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(4,r=>{r.type(e),r.dataWithLength(t)})},image_tracker_target_loaded_version:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.target_loaded_version},image_tracker_target_count:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.target_count},image_tracker_enabled:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},image_tracker_enabled_set:(e,t)=>{if(!this._image_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(3,r=>{r.type(e),r.bool(t)})},image_tracker_anchor_count:e=>{let t=this._image_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.anchor_count},image_tracker_anchor_id:(e,t)=>{let r=this._image_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_id[t]},image_tracker_anchor_pose_raw:(e,t)=>{let r=this._image_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_pose[t]},face_tracker_create:e=>{let t=this._latestId++;return this._face_tracker_state_by_instance.set(t,{enabled:!0,model_loaded:-1,max_faces:1,anchor_count:0,anchor_id:[],anchor_pose:[],anchor_identity_coefficients:[],anchor_expression_coefficients:[]}),this.serializer.sendMessage(20,r=>{r.type(t),r.type(e)}),t},face_tracker_destroy:e=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_tracker_state_by_instance.delete(e),this.serializer.sendMessage(21,t=>{t.type(e)})},face_tracker_model_load_from_memory:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(22,r=>{r.type(e),r.dataWithLength(t)})},face_tracker_model_loaded_version:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.model_loaded},face_tracker_enabled_set:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(23,r=>{r.type(e),r.bool(t)})},face_tracker_enabled:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},face_tracker_max_faces_set:(e,t)=>{if(!this._face_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(24,r=>{r.type(e),r.int(t)})},face_tracker_max_faces:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.max_faces},face_tracker_anchor_count:e=>{let t=this._face_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.anchor_count},face_tracker_anchor_id:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_id[t]},face_tracker_anchor_pose_raw:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_pose[t]},face_tracker_anchor_identity_coefficients:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_identity_coefficients[t]},face_tracker_anchor_expression_coefficients:(e,t)=>{let r=this._face_tracker_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.anchor_expression_coefficients[t]},face_mesh_create:()=>{let e=this._latestId++;return this._face_mesh_state_by_instance.set(e,{}),this.serializer.sendMessage(25,t=>{t.type(e)}),e},face_mesh_destroy:e=>{if(!this._face_mesh_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_mesh_state_by_instance.delete(e),this.serializer.sendMessage(26,t=>{t.type(e)})},face_landmark_create:e=>{let t=this._latestId++;return this._face_landmark_state_by_instance.set(t,{}),this.serializer.sendMessage(32,r=>{r.type(t),r.faceLandmarkName(e)}),t},face_landmark_destroy:e=>{if(!this._face_landmark_state_by_instance.get(e))throw new Error("This object has been destroyed");this._face_landmark_state_by_instance.delete(e),this.serializer.sendMessage(33,t=>{t.type(e)})},barcode_finder_create:e=>{let t=this._latestId++;return this._barcode_finder_state_by_instance.set(t,{enabled:!0,number_found:0,found_text:[],found_format:[],formats:131071}),this.serializer.sendMessage(16,r=>{r.type(t),r.type(e)}),t},barcode_finder_destroy:e=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this._barcode_finder_state_by_instance.delete(e),this.serializer.sendMessage(17,t=>{t.type(e)})},barcode_finder_enabled_set:(e,t)=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(18,r=>{r.type(e),r.bool(t)})},barcode_finder_enabled:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},barcode_finder_found_number:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.number_found},barcode_finder_found_text:(e,t)=>{let r=this._barcode_finder_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.found_text[t]},barcode_finder_found_format:(e,t)=>{let r=this._barcode_finder_state_by_instance.get(e);if(!r)throw new Error("This object has been destroyed");return r.found_format[t]},barcode_finder_formats:e=>{let t=this._barcode_finder_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.formats},barcode_finder_formats_set:(e,t)=>{if(!this._barcode_finder_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(19,r=>{r.type(e),r.barcodeFormat(t)})},instant_world_tracker_create:e=>{let t=this._latestId++,r={enabled:!0,pose:new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};return this._instant_world_tracker_state_by_instance.set(t,r),this.serializer.sendMessage(5,r=>{r.type(t),r.type(e)}),t},instant_world_tracker_destroy:e=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this._instant_world_tracker_state_by_instance.delete(e),this.serializer.sendMessage(15,t=>{t.type(e)})},instant_world_tracker_enabled_set:(e,t)=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(6,r=>{r.type(e),r.bool(t)})},instant_world_tracker_enabled:e=>{let t=this._instant_world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.enabled},instant_world_tracker_anchor_pose_raw:e=>{let t=this._instant_world_tracker_state_by_instance.get(e);if(!t)throw new Error("This object has been destroyed");return t.pose},instant_world_tracker_anchor_pose_set_from_camera_offset_raw:(e,t,r,n,a)=>{if(!this._instant_world_tracker_state_by_instance.get(e))throw new Error("This object has been destroyed");this.serializer.sendMessage(7,i=>{i.type(e),i.float(t),i.float(r),i.float(n),i.instantTrackerTransformOrientation(a)})}}}processMessages(e){this.deserializer.setData(e),this.deserializer.forMessages((e,t)=>{switch(e){case 7:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.frame_number=t.int();break}case 6:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_model=t.cameraModel();break}case 5:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.current_frame_user_data=t.int();break}case 11:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_frame_camera_attitude=t.matrix4x4();break}case 12:{let e=t.type(),r=this._pipeline_state_by_instance.get(e);if(!r)return;r.camera_frame_device_attitude=t.matrix4x4();break}case 19:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;r.target_loaded_version=t.int();break}case 21:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;r.target_count=t.int();break}case 1:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;r.anchor_count=t.int();break}case 2:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_id[n]=t.string();break}case 3:{let e=t.type(),r=this._image_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_pose[n]=t.matrix4x4();break}case 18:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;r.model_loaded=t.int();break}case 13:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;r.anchor_count=t.int();break}case 14:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_id[n]=t.string();break}case 15:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_pose[n]=t.matrix4x4();break}case 16:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_identity_coefficients[n]=t.identityCoefficients();break}case 17:{let e=t.type(),r=this._face_tracker_state_by_instance.get(e);if(!r)return;let n=t.int();r.anchor_expression_coefficients[n]=t.expressionCoefficients();break}case 8:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;r.number_found=t.int();break}case 9:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;let n=t.int();r.found_text[n]=t.string();break}case 10:{let e=t.type(),r=this._barcode_finder_state_by_instance.get(e);if(!r)return;let n=t.int();r.found_format[n]=t.barcodeFormat();break}case 4:{let e=t.type(),r=this._instant_world_tracker_state_by_instance.get(e);if(!r)return;r.pose=t.matrix4x4();break}}})}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageSerializer=void 0;t.MessageSerializer=class{constructor(e){this._messageSender=e,this._freeBufferPool=[],this._buffer=new ArrayBuffer(16),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1,this._timeoutSet=!1,this._appender={int:e=>this.int(e),bool:e=>this.int(e?1:0),float:e=>this.float(e),string:e=>this.string(e),dataWithLength:e=>this.arrayBuffer(e),type:e=>this.int(e),matrix4x4:e=>this.float32ArrayBuffer(e),matrix3x3:e=>this.float32ArrayBuffer(e),identityCoefficients:e=>this.float32ArrayBuffer(e),expressionCoefficients:e=>this.float32ArrayBuffer(e),cameraModel:e=>this.float32ArrayBuffer(e),timestamp:e=>this.double(e),barcodeFormat:e=>this.int(e),faceLandmarkName:e=>this.int(e),instantTrackerTransformOrientation:e=>this.int(e),logLevel:e=>this.int(e)},this._freeBufferPool.push(new ArrayBuffer(16)),this._freeBufferPool.push(new ArrayBuffer(16))}bufferReturn(e){this._freeBufferPool.push(e)}_ensureArrayBuffer(e){let t=4*(this._offset+e+8);if(this._buffer&&this._buffer.byteLength>=t)return;let r=void 0;if(!r){let e=t;e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e++,r=new ArrayBuffer(e)}let n=this._buffer?this._i32View:void 0;this._buffer=r,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),n&&this._i32View.set(n.subarray(0,this._offset))}sendMessage(e,t){this._ensureArrayBuffer(4),this._startOffset=this._offset,this._i32View[this._offset+1]=e,this._offset+=2,t(this._appender),this._i32View[this._startOffset]=this._offset-this._startOffset,this._startOffset=-1,this._sendOneTime()}_sendOneTime(){!1===this._timeoutSet&&(this._timeoutSet=!0,setTimeout(()=>{this._timeoutSet=!1,this._send()},0))}_send(){0!==this._freeBufferPool.length?(this._i32View[0]=this._offset,this._messageSender(this._buffer),this._buffer=void 0,this._buffer=this._freeBufferPool.pop(),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1):this._sendOneTime()}int(e){this._ensureArrayBuffer(1),this._i32View[this._offset]=e,this._offset++}double(e){this._ensureArrayBuffer(2),this._offset%2==1&&this._offset++,this._f64View[this._offset/2]=e,this._offset+=2}float(e){this._ensureArrayBuffer(1),this._f32View[this._offset]=e,this._offset++}int32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t];this._offset+=e.length}float32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._f32View[this._offset+t]=e[t];this._offset+=e.length}booleanArray(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t]?1:0;this._offset+=e.length}uint8ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8View.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}arrayBuffer(e){let t=new Uint8Array(e);this.uint8ArrayBuffer(t)}uint8ClampedArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8cView.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}float32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._f32View.set(e,this._offset),this._offset+=e.length}uint16ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++;let t=2*this._offset;this._u16View.set(e,t),this._offset+=e.length>>1,0!=(1&e.length)&&this._offset++}int32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._i32View.set(e,this._offset),this._offset+=e.length}uint32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._u32View.set(e,this._offset),this._offset+=e.length}string(e){let t=(new TextEncoder).encode(e);this._ensureArrayBuffer(t.byteLength/4),this._i32View[this._offset]=t.byteLength,this._offset++,this._u8View.set(t,4*this._offset),this._offset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._offset++}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageDeserializer=void 0;t.MessageDeserializer=class{constructor(){this._buffer=new ArrayBuffer(0),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,this._startOffset=-1,this._processor={int:()=>this._i32View[this._startOffset++],bool:()=>1===this._i32View[this._startOffset++],type:()=>this._i32View[this._startOffset++],float:()=>this._f32View[this._startOffset++],timestamp:()=>{this._startOffset%2==1&&this._startOffset++;let e=this._f64View[this._startOffset/2];return this._startOffset+=2,e},string:()=>{let e=this._i32View[this._startOffset++],t=(new TextDecoder).decode(new Uint8Array(this._buffer,4*this._startOffset,e));return this._startOffset+=e>>2,0!=(3&e)&&this._startOffset++,t},dataWithLength:()=>{let e=this._i32View[this._startOffset++],t=new Uint8Array(e);return t.set(this._u8View.subarray(4*this._startOffset,4*this._startOffset+e)),this._startOffset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._startOffset++,t.buffer},matrix4x4:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+16)),this._startOffset+=e,t},matrix3x3:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+9)),this._startOffset+=e,t},identityCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+50)),this._startOffset+=e,t},expressionCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+29)),this._startOffset+=e,t},cameraModel:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+6)),this._startOffset+=e,t},barcodeFormat:()=>this._i32View[this._startOffset++],faceLandmarkName:()=>this._i32View[this._startOffset++],instantTrackerTransformOrientation:()=>this._i32View[this._startOffset++],logLevel:()=>this._i32View[this._startOffset++]}}setData(e){this._buffer=e,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,e.byteLength>=4&&(this._offset=1,this._length=this._i32View[0]),this._startOffset=-1}hasMessage(){return this._offset+1<this._length}forMessages(e){for(;this.hasMessage();){let t=this._i32View[this._offset],r=this._i32View[this._offset+1];this._startOffset=this._offset+2,this._offset+=t,e(r,this._processor)}}}},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.launchWorker=t.messageManager=void 0;const a=r(24);let i;t.messageManager=new a.MsgManager,i=r(25),i.default&&(i=i.default),t.launchWorker=function(){return n(this,void 0,void 0,(function*(){let e=new i;var n;function a(){let r=t.messageManager.getOutgoingMessages();for(let t of r)e.postMessage(t.msg,t.transferables)}e.postMessage({t:"wasm",url:r(26).default}),yield(n=e,new Promise(e=>{let t=r=>{"loaded"===r.data&&(n.removeEventListener("message",t),e())};n.addEventListener("message",t)})),t.messageManager.onOutgoingMessage.bind(a),a(),e.addEventListener("message",e=>{t.messageManager.postIncomingMessage(e.data)})}))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MsgManager=void 0;const n=r(10);t.MsgManager=class{constructor(){this.onOutgoingMessage=new n.Event,this.onIncomingMessage=new n.Event1,this._outgoingMessages=[]}postIncomingMessage(e){this.onIncomingMessage.emit(e)}postOutgoingMessage(e,t){this._outgoingMessages.push({msg:e,transferables:t}),this.onOutgoingMessage.emit()}getOutgoingMessages(){let e=this._outgoingMessages;return this._outgoingMessages=[],e}}},function(e,t,r){"use strict";r.r(t);var n=r(17),a=r.n(n);t.default=function(){return a()('!function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.profile=t.EmbeddedVideoImplementation=void 0;const n=r(18);!function(e){e[e.OBJECT_URL=0]="OBJECT_URL",e[e.SRC_OBJECT=1]="SRC_OBJECT"}(t.EmbeddedVideoImplementation||(t.EmbeddedVideoImplementation={})),t.profile={deviceMotionMutliplier:-1,blacklisted:!1,showGyroPermissionsWarningIfNecessary:!1,showSafariPermissionsResetIfNecessary:!1,requestHighFrameRate:!1,videoWidth:640,videoHeight:480,dataWidth:320,dataHeight:240,videoElementInDOM:!1,preferMediaStreamTrackProcessorCamera:!1,preferImageBitmapCamera:!1},"undefined"!=typeof window&&(window.zeeProfile=t.profile,window.location.href.indexOf("_mstppipeline")>=0&&(console.log("Configuring for MSTP camera pipeline (if supported)"),t.profile.preferMediaStreamTrackProcessorCamera=!0),window.location.href.indexOf("_imagebitmappipeline")>=0&&(console.log("Configuring for ImageBitmap camera pipeline (if supported)"),t.profile.preferImageBitmapCamera=!0));let a=new n.UAParser,i=(a.getOS().name||"unknown").toLowerCase(),o=(a.getEngine().name||"unknown").toLowerCase();function s(){let e=a.getOS().version;if(e){let r=e.split(".");if(r.length>=2){const e=parseInt(r[0]),n=parseInt(r[1]);(e<11||11===e&&n<3)&&(t.profile.blacklisted=!0),(e<12||12===e&&n<2)&&(t.profile.videoElementInDOM=!0),(12===e&&n>=2||e>=13)&&(t.profile.showGyroPermissionsWarningIfNecessary=!0),e>=13&&(t.profile.showSafariPermissionsResetIfNecessary=!0),(e>=12&&n>1||e>=13)&&navigator.mediaDevices&&navigator.mediaDevices.getSupportedConstraints&&navigator.mediaDevices.getSupportedConstraints().frameRate&&(t.profile.requestHighFrameRate=!0,e<14&&(t.profile.videoHeight=360,t.profile.dataHeight=180))}}}"webkit"===o&&"ios"!==i&&(t.profile.deviceMotionMutliplier=1,"undefined"!=typeof window&&void 0!==window.orientation&&s()),"webkit"===o&&"ios"===i&&(t.profile.deviceMotionMutliplier=1,s())},function(e,t,r){"use strict";r.r(t),r.d(t,"glMatrix",(function(){return n})),r.d(t,"mat2",(function(){return a})),r.d(t,"mat2d",(function(){return i})),r.d(t,"mat3",(function(){return o})),r.d(t,"mat4",(function(){return s})),r.d(t,"quat",(function(){return _})),r.d(t,"quat2",(function(){return f})),r.d(t,"vec2",(function(){return l})),r.d(t,"vec3",(function(){return u})),r.d(t,"vec4",(function(){return c}));var n={};r.r(n),r.d(n,"EPSILON",(function(){return d})),r.d(n,"ARRAY_TYPE",(function(){return p})),r.d(n,"RANDOM",(function(){return h})),r.d(n,"setMatrixArrayType",(function(){return m})),r.d(n,"toRadian",(function(){return g})),r.d(n,"equals",(function(){return w}));var a={};r.r(a),r.d(a,"create",(function(){return v})),r.d(a,"clone",(function(){return y})),r.d(a,"copy",(function(){return M})),r.d(a,"identity",(function(){return k})),r.d(a,"fromValues",(function(){return x})),r.d(a,"set",(function(){return E})),r.d(a,"transpose",(function(){return A})),r.d(a,"invert",(function(){return z})),r.d(a,"adjoint",(function(){return T})),r.d(a,"determinant",(function(){return R})),r.d(a,"multiply",(function(){return F})),r.d(a,"rotate",(function(){return O})),r.d(a,"scale",(function(){return P})),r.d(a,"fromRotation",(function(){return L})),r.d(a,"fromScaling",(function(){return S})),r.d(a,"str",(function(){return I})),r.d(a,"frob",(function(){return D})),r.d(a,"LDU",(function(){return B})),r.d(a,"add",(function(){return C})),r.d(a,"subtract",(function(){return U})),r.d(a,"exactEquals",(function(){return V})),r.d(a,"equals",(function(){return q})),r.d(a,"multiplyScalar",(function(){return N})),r.d(a,"multiplyScalarAndAdd",(function(){return j})),r.d(a,"mul",(function(){return W})),r.d(a,"sub",(function(){return H}));var i={};r.r(i),r.d(i,"create",(function(){return G})),r.d(i,"clone",(function(){return X})),r.d(i,"copy",(function(){return Y})),r.d(i,"identity",(function(){return Z})),r.d(i,"fromValues",(function(){return K})),r.d(i,"set",(function(){return J})),r.d(i,"invert",(function(){return $})),r.d(i,"determinant",(function(){return Q})),r.d(i,"multiply",(function(){return ee})),r.d(i,"rotate",(function(){return te})),r.d(i,"scale",(function(){return re})),r.d(i,"translate",(function(){return ne})),r.d(i,"fromRotation",(function(){return ae})),r.d(i,"fromScaling",(function(){return ie})),r.d(i,"fromTranslation",(function(){return oe})),r.d(i,"str",(function(){return se})),r.d(i,"frob",(function(){return ue})),r.d(i,"add",(function(){return ce})),r.d(i,"subtract",(function(){return _e})),r.d(i,"multiplyScalar",(function(){return fe})),r.d(i,"multiplyScalarAndAdd",(function(){return le})),r.d(i,"exactEquals",(function(){return de})),r.d(i,"equals",(function(){return pe})),r.d(i,"mul",(function(){return he})),r.d(i,"sub",(function(){return me}));var o={};r.r(o),r.d(o,"create",(function(){return be})),r.d(o,"fromMat4",(function(){return ge})),r.d(o,"clone",(function(){return we})),r.d(o,"copy",(function(){return ve})),r.d(o,"fromValues",(function(){return ye})),r.d(o,"set",(function(){return Me})),r.d(o,"identity",(function(){return ke})),r.d(o,"transpose",(function(){return xe})),r.d(o,"invert",(function(){return Ee})),r.d(o,"adjoint",(function(){return Ae})),r.d(o,"determinant",(function(){return ze})),r.d(o,"multiply",(function(){return Te})),r.d(o,"translate",(function(){return Re})),r.d(o,"rotate",(function(){return Fe})),r.d(o,"scale",(function(){return Oe})),r.d(o,"fromTranslation",(function(){return Pe})),r.d(o,"fromRotation",(function(){return Le})),r.d(o,"fromScaling",(function(){return Se})),r.d(o,"fromMat2d",(function(){return Ie})),r.d(o,"fromQuat",(function(){return De})),r.d(o,"normalFromMat4",(function(){return Be})),r.d(o,"projection",(function(){return Ce})),r.d(o,"str",(function(){return Ue})),r.d(o,"frob",(function(){return Ve})),r.d(o,"add",(function(){return qe})),r.d(o,"subtract",(function(){return Ne})),r.d(o,"multiplyScalar",(function(){return je})),r.d(o,"multiplyScalarAndAdd",(function(){return We})),r.d(o,"exactEquals",(function(){return He})),r.d(o,"equals",(function(){return Ge})),r.d(o,"mul",(function(){return Xe})),r.d(o,"sub",(function(){return Ye}));var s={};r.r(s),r.d(s,"create",(function(){return Ze})),r.d(s,"clone",(function(){return Ke})),r.d(s,"copy",(function(){return Je})),r.d(s,"fromValues",(function(){return $e})),r.d(s,"set",(function(){return Qe})),r.d(s,"identity",(function(){return et})),r.d(s,"transpose",(function(){return tt})),r.d(s,"invert",(function(){return rt})),r.d(s,"adjoint",(function(){return nt})),r.d(s,"determinant",(function(){return at})),r.d(s,"multiply",(function(){return it})),r.d(s,"translate",(function(){return ot})),r.d(s,"scale",(function(){return st})),r.d(s,"rotate",(function(){return ut})),r.d(s,"rotateX",(function(){return ct})),r.d(s,"rotateY",(function(){return _t})),r.d(s,"rotateZ",(function(){return ft})),r.d(s,"fromTranslation",(function(){return lt})),r.d(s,"fromScaling",(function(){return dt})),r.d(s,"fromRotation",(function(){return pt})),r.d(s,"fromXRotation",(function(){return ht})),r.d(s,"fromYRotation",(function(){return mt})),r.d(s,"fromZRotation",(function(){return bt})),r.d(s,"fromRotationTranslation",(function(){return gt})),r.d(s,"fromQuat2",(function(){return wt})),r.d(s,"getTranslation",(function(){return vt})),r.d(s,"getScaling",(function(){return yt})),r.d(s,"getRotation",(function(){return Mt})),r.d(s,"fromRotationTranslationScale",(function(){return kt})),r.d(s,"fromRotationTranslationScaleOrigin",(function(){return xt})),r.d(s,"fromQuat",(function(){return Et})),r.d(s,"frustum",(function(){return At})),r.d(s,"perspective",(function(){return zt})),r.d(s,"perspectiveFromFieldOfView",(function(){return Tt})),r.d(s,"ortho",(function(){return Rt})),r.d(s,"lookAt",(function(){return Ft})),r.d(s,"targetTo",(function(){return Ot})),r.d(s,"str",(function(){return Pt})),r.d(s,"frob",(function(){return Lt})),r.d(s,"add",(function(){return St})),r.d(s,"subtract",(function(){return It})),r.d(s,"multiplyScalar",(function(){return Dt})),r.d(s,"multiplyScalarAndAdd",(function(){return Bt})),r.d(s,"exactEquals",(function(){return Ct})),r.d(s,"equals",(function(){return Ut})),r.d(s,"mul",(function(){return Vt})),r.d(s,"sub",(function(){return qt}));var u={};r.r(u),r.d(u,"create",(function(){return Nt})),r.d(u,"clone",(function(){return jt})),r.d(u,"length",(function(){return Wt})),r.d(u,"fromValues",(function(){return Ht})),r.d(u,"copy",(function(){return Gt})),r.d(u,"set",(function(){return Xt})),r.d(u,"add",(function(){return Yt})),r.d(u,"subtract",(function(){return Zt})),r.d(u,"multiply",(function(){return Kt})),r.d(u,"divide",(function(){return Jt})),r.d(u,"ceil",(function(){return $t})),r.d(u,"floor",(function(){return Qt})),r.d(u,"min",(function(){return er})),r.d(u,"max",(function(){return tr})),r.d(u,"round",(function(){return rr})),r.d(u,"scale",(function(){return nr})),r.d(u,"scaleAndAdd",(function(){return ar})),r.d(u,"distance",(function(){return ir})),r.d(u,"squaredDistance",(function(){return or})),r.d(u,"squaredLength",(function(){return sr})),r.d(u,"negate",(function(){return ur})),r.d(u,"inverse",(function(){return cr})),r.d(u,"normalize",(function(){return _r})),r.d(u,"dot",(function(){return fr})),r.d(u,"cross",(function(){return lr})),r.d(u,"lerp",(function(){return dr})),r.d(u,"hermite",(function(){return pr})),r.d(u,"bezier",(function(){return hr})),r.d(u,"random",(function(){return mr})),r.d(u,"transformMat4",(function(){return br})),r.d(u,"transformMat3",(function(){return gr})),r.d(u,"transformQuat",(function(){return wr})),r.d(u,"rotateX",(function(){return vr})),r.d(u,"rotateY",(function(){return yr})),r.d(u,"rotateZ",(function(){return Mr})),r.d(u,"angle",(function(){return kr})),r.d(u,"zero",(function(){return xr})),r.d(u,"str",(function(){return Er})),r.d(u,"exactEquals",(function(){return Ar})),r.d(u,"equals",(function(){return zr})),r.d(u,"sub",(function(){return Rr})),r.d(u,"mul",(function(){return Fr})),r.d(u,"div",(function(){return Or})),r.d(u,"dist",(function(){return Pr})),r.d(u,"sqrDist",(function(){return Lr})),r.d(u,"len",(function(){return Sr})),r.d(u,"sqrLen",(function(){return Ir})),r.d(u,"forEach",(function(){return Dr}));var c={};r.r(c),r.d(c,"create",(function(){return Br})),r.d(c,"clone",(function(){return Cr})),r.d(c,"fromValues",(function(){return Ur})),r.d(c,"copy",(function(){return Vr})),r.d(c,"set",(function(){return qr})),r.d(c,"add",(function(){return Nr})),r.d(c,"subtract",(function(){return jr})),r.d(c,"multiply",(function(){return Wr})),r.d(c,"divide",(function(){return Hr})),r.d(c,"ceil",(function(){return Gr})),r.d(c,"floor",(function(){return Xr})),r.d(c,"min",(function(){return Yr})),r.d(c,"max",(function(){return Zr})),r.d(c,"round",(function(){return Kr})),r.d(c,"scale",(function(){return Jr})),r.d(c,"scaleAndAdd",(function(){return $r})),r.d(c,"distance",(function(){return Qr})),r.d(c,"squaredDistance",(function(){return en})),r.d(c,"length",(function(){return tn})),r.d(c,"squaredLength",(function(){return rn})),r.d(c,"negate",(function(){return nn})),r.d(c,"inverse",(function(){return an})),r.d(c,"normalize",(function(){return on})),r.d(c,"dot",(function(){return sn})),r.d(c,"cross",(function(){return un})),r.d(c,"lerp",(function(){return cn})),r.d(c,"random",(function(){return _n})),r.d(c,"transformMat4",(function(){return fn})),r.d(c,"transformQuat",(function(){return ln})),r.d(c,"zero",(function(){return dn})),r.d(c,"str",(function(){return pn})),r.d(c,"exactEquals",(function(){return hn})),r.d(c,"equals",(function(){return mn})),r.d(c,"sub",(function(){return bn})),r.d(c,"mul",(function(){return gn})),r.d(c,"div",(function(){return wn})),r.d(c,"dist",(function(){return vn})),r.d(c,"sqrDist",(function(){return yn})),r.d(c,"len",(function(){return Mn})),r.d(c,"sqrLen",(function(){return kn})),r.d(c,"forEach",(function(){return xn}));var _={};r.r(_),r.d(_,"create",(function(){return En})),r.d(_,"identity",(function(){return An})),r.d(_,"setAxisAngle",(function(){return zn})),r.d(_,"getAxisAngle",(function(){return Tn})),r.d(_,"getAngle",(function(){return Rn})),r.d(_,"multiply",(function(){return Fn})),r.d(_,"rotateX",(function(){return On})),r.d(_,"rotateY",(function(){return Pn})),r.d(_,"rotateZ",(function(){return Ln})),r.d(_,"calculateW",(function(){return Sn})),r.d(_,"exp",(function(){return In})),r.d(_,"ln",(function(){return Dn})),r.d(_,"pow",(function(){return Bn})),r.d(_,"slerp",(function(){return Cn})),r.d(_,"random",(function(){return Un})),r.d(_,"invert",(function(){return Vn})),r.d(_,"conjugate",(function(){return qn})),r.d(_,"fromMat3",(function(){return Nn})),r.d(_,"fromEuler",(function(){return jn})),r.d(_,"str",(function(){return Wn})),r.d(_,"clone",(function(){return Jn})),r.d(_,"fromValues",(function(){return $n})),r.d(_,"copy",(function(){return Qn})),r.d(_,"set",(function(){return ea})),r.d(_,"add",(function(){return ta})),r.d(_,"mul",(function(){return ra})),r.d(_,"scale",(function(){return na})),r.d(_,"dot",(function(){return aa})),r.d(_,"lerp",(function(){return ia})),r.d(_,"length",(function(){return oa})),r.d(_,"len",(function(){return sa})),r.d(_,"squaredLength",(function(){return ua})),r.d(_,"sqrLen",(function(){return ca})),r.d(_,"normalize",(function(){return _a})),r.d(_,"exactEquals",(function(){return fa})),r.d(_,"equals",(function(){return la})),r.d(_,"rotationTo",(function(){return da})),r.d(_,"sqlerp",(function(){return pa})),r.d(_,"setAxes",(function(){return ha}));var f={};r.r(f),r.d(f,"create",(function(){return ma})),r.d(f,"clone",(function(){return ba})),r.d(f,"fromValues",(function(){return ga})),r.d(f,"fromRotationTranslationValues",(function(){return wa})),r.d(f,"fromRotationTranslation",(function(){return va})),r.d(f,"fromTranslation",(function(){return ya})),r.d(f,"fromRotation",(function(){return Ma})),r.d(f,"fromMat4",(function(){return ka})),r.d(f,"copy",(function(){return xa})),r.d(f,"identity",(function(){return Ea})),r.d(f,"set",(function(){return Aa})),r.d(f,"getReal",(function(){return za})),r.d(f,"getDual",(function(){return Ta})),r.d(f,"setReal",(function(){return Ra})),r.d(f,"setDual",(function(){return Fa})),r.d(f,"getTranslation",(function(){return Oa})),r.d(f,"translate",(function(){return Pa})),r.d(f,"rotateX",(function(){return La})),r.d(f,"rotateY",(function(){return Sa})),r.d(f,"rotateZ",(function(){return Ia})),r.d(f,"rotateByQuatAppend",(function(){return Da})),r.d(f,"rotateByQuatPrepend",(function(){return Ba})),r.d(f,"rotateAroundAxis",(function(){return Ca})),r.d(f,"add",(function(){return Ua})),r.d(f,"multiply",(function(){return Va})),r.d(f,"mul",(function(){return qa})),r.d(f,"scale",(function(){return Na})),r.d(f,"dot",(function(){return ja})),r.d(f,"lerp",(function(){return Wa})),r.d(f,"invert",(function(){return Ha})),r.d(f,"conjugate",(function(){return Ga})),r.d(f,"length",(function(){return Xa})),r.d(f,"len",(function(){return Ya})),r.d(f,"squaredLength",(function(){return Za})),r.d(f,"sqrLen",(function(){return Ka})),r.d(f,"normalize",(function(){return Ja})),r.d(f,"str",(function(){return $a})),r.d(f,"exactEquals",(function(){return Qa})),r.d(f,"equals",(function(){return ei}));var l={};r.r(l),r.d(l,"create",(function(){return ti})),r.d(l,"clone",(function(){return ri})),r.d(l,"fromValues",(function(){return ni})),r.d(l,"copy",(function(){return ai})),r.d(l,"set",(function(){return ii})),r.d(l,"add",(function(){return oi})),r.d(l,"subtract",(function(){return si})),r.d(l,"multiply",(function(){return ui})),r.d(l,"divide",(function(){return ci})),r.d(l,"ceil",(function(){return _i})),r.d(l,"floor",(function(){return fi})),r.d(l,"min",(function(){return li})),r.d(l,"max",(function(){return di})),r.d(l,"round",(function(){return pi})),r.d(l,"scale",(function(){return hi})),r.d(l,"scaleAndAdd",(function(){return mi})),r.d(l,"distance",(function(){return bi})),r.d(l,"squaredDistance",(function(){return gi})),r.d(l,"length",(function(){return wi})),r.d(l,"squaredLength",(function(){return vi})),r.d(l,"negate",(function(){return yi})),r.d(l,"inverse",(function(){return Mi})),r.d(l,"normalize",(function(){return ki})),r.d(l,"dot",(function(){return xi})),r.d(l,"cross",(function(){return Ei})),r.d(l,"lerp",(function(){return Ai})),r.d(l,"random",(function(){return zi})),r.d(l,"transformMat2",(function(){return Ti})),r.d(l,"transformMat2d",(function(){return Ri})),r.d(l,"transformMat3",(function(){return Fi})),r.d(l,"transformMat4",(function(){return Oi})),r.d(l,"rotate",(function(){return Pi})),r.d(l,"angle",(function(){return Li})),r.d(l,"zero",(function(){return Si})),r.d(l,"str",(function(){return Ii})),r.d(l,"exactEquals",(function(){return Di})),r.d(l,"equals",(function(){return Bi})),r.d(l,"len",(function(){return Ci})),r.d(l,"sub",(function(){return Ui})),r.d(l,"mul",(function(){return Vi})),r.d(l,"div",(function(){return qi})),r.d(l,"dist",(function(){return Ni})),r.d(l,"sqrDist",(function(){return ji})),r.d(l,"sqrLen",(function(){return Wi})),r.d(l,"forEach",(function(){return Hi}));var d=1e-6,p="undefined"!=typeof Float32Array?Float32Array:Array,h=Math.random;function m(e){p=e}var b=Math.PI/180;function g(e){return e*b}function w(e,t){return Math.abs(e-t)<=d*Math.max(1,Math.abs(e),Math.abs(t))}function v(){var e=new p(4);return p!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}function y(e){var t=new p(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function M(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function k(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e}function x(e,t,r,n){var a=new p(4);return a[0]=e,a[1]=t,a[2]=r,a[3]=n,a}function E(e,t,r,n,a){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e}function A(e,t){if(e===t){var r=t[1];e[1]=t[2],e[2]=r}else e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3];return e}function z(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=r*i-a*n;return o?(o=1/o,e[0]=i*o,e[1]=-n*o,e[2]=-a*o,e[3]=r*o,e):null}function T(e,t){var r=t[0];return e[0]=t[3],e[1]=-t[1],e[2]=-t[2],e[3]=r,e}function R(e){return e[0]*e[3]-e[2]*e[1]}function F(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=r[0],u=r[1],c=r[2],_=r[3];return e[0]=n*s+i*u,e[1]=a*s+o*u,e[2]=n*c+i*_,e[3]=a*c+o*_,e}function O(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=a*u+o*s,e[2]=n*-s+i*u,e[3]=a*-s+o*u,e}function P(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=r[0],u=r[1];return e[0]=n*s,e[1]=a*s,e[2]=i*u,e[3]=o*u,e}function L(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=-r,e[3]=n,e}function S(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=t[1],e}function I(e){return"mat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}function D(e){return Math.hypot(e[0],e[1],e[2],e[3])}function B(e,t,r,n){return e[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-e[2]*r[1],[e,t,r]}function C(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function U(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e}function V(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function q(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=t[0],s=t[1],u=t[2],c=t[3];return Math.abs(r-o)<=d*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-s)<=d*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(a-u)<=d*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(i-c)<=d*Math.max(1,Math.abs(i),Math.abs(c))}function N(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function j(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var W=F,H=U;function G(){var e=new p(6);return p!=Float32Array&&(e[1]=0,e[2]=0,e[4]=0,e[5]=0),e[0]=1,e[3]=1,e}function X(e){var t=new p(6);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function Y(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function Z(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e}function K(e,t,r,n,a,i){var o=new p(6);return o[0]=e,o[1]=t,o[2]=r,o[3]=n,o[4]=a,o[5]=i,o}function J(e,t,r,n,a,i,o){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=o,e}function $(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=r*i-n*a;return u?(u=1/u,e[0]=i*u,e[1]=-n*u,e[2]=-a*u,e[3]=r*u,e[4]=(a*s-i*o)*u,e[5]=(n*o-r*s)*u,e):null}function Q(e){return e[0]*e[3]-e[1]*e[2]}function ee(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=r[0],_=r[1],f=r[2],l=r[3],d=r[4],p=r[5];return e[0]=n*c+i*_,e[1]=a*c+o*_,e[2]=n*f+i*l,e[3]=a*f+o*l,e[4]=n*d+i*p+s,e[5]=a*d+o*p+u,e}function te(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=Math.sin(r),_=Math.cos(r);return e[0]=n*_+i*c,e[1]=a*_+o*c,e[2]=n*-c+i*_,e[3]=a*-c+o*_,e[4]=s,e[5]=u,e}function re(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=r[0],_=r[1];return e[0]=n*c,e[1]=a*c,e[2]=i*_,e[3]=o*_,e[4]=s,e[5]=u,e}function ne(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=r[0],_=r[1];return e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=n*c+i*_+s,e[5]=a*c+o*_+u,e}function ae(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=-r,e[3]=n,e[4]=0,e[5]=0,e}function ie(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=t[1],e[4]=0,e[5]=0,e}function oe(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=t[0],e[5]=t[1],e}function se(e){return"mat2d("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+")"}function ue(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],1)}function ce(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e}function _e(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e}function fe(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e}function le(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e}function de(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]}function pe(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=t[0],c=t[1],_=t[2],f=t[3],l=t[4],p=t[5];return Math.abs(r-u)<=d*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(n-c)<=d*Math.max(1,Math.abs(n),Math.abs(c))&&Math.abs(a-_)<=d*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(i-f)<=d*Math.max(1,Math.abs(i),Math.abs(f))&&Math.abs(o-l)<=d*Math.max(1,Math.abs(o),Math.abs(l))&&Math.abs(s-p)<=d*Math.max(1,Math.abs(s),Math.abs(p))}var he=ee,me=_e;function be(){var e=new p(9);return p!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function ge(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e}function we(e){var t=new p(9);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function ve(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function ye(e,t,r,n,a,i,o,s,u){var c=new p(9);return c[0]=e,c[1]=t,c[2]=r,c[3]=n,c[4]=a,c[5]=i,c[6]=o,c[7]=s,c[8]=u,c}function Me(e,t,r,n,a,i,o,s,u,c){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e}function ke(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function xe(e,t){if(e===t){var r=t[1],n=t[2],a=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=a}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e}function Ee(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],c=t[7],_=t[8],f=_*o-s*c,l=-_*i+s*u,d=c*i-o*u,p=r*f+n*l+a*d;return p?(p=1/p,e[0]=f*p,e[1]=(-_*n+a*c)*p,e[2]=(s*n-a*o)*p,e[3]=l*p,e[4]=(_*r-a*u)*p,e[5]=(-s*r+a*i)*p,e[6]=d*p,e[7]=(-c*r+n*u)*p,e[8]=(o*r-n*i)*p,e):null}function Ae(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],c=t[7],_=t[8];return e[0]=o*_-s*c,e[1]=a*c-n*_,e[2]=n*s-a*o,e[3]=s*u-i*_,e[4]=r*_-a*u,e[5]=a*i-r*s,e[6]=i*c-o*u,e[7]=n*u-r*c,e[8]=r*o-n*i,e}function ze(e){var t=e[0],r=e[1],n=e[2],a=e[3],i=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*i-o*u)+r*(-c*a+o*s)+n*(u*a-i*s)}function Te(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=t[8],l=r[0],d=r[1],p=r[2],h=r[3],m=r[4],b=r[5],g=r[6],w=r[7],v=r[8];return e[0]=l*n+d*o+p*c,e[1]=l*a+d*s+p*_,e[2]=l*i+d*u+p*f,e[3]=h*n+m*o+b*c,e[4]=h*a+m*s+b*_,e[5]=h*i+m*u+b*f,e[6]=g*n+w*o+v*c,e[7]=g*a+w*s+v*_,e[8]=g*i+w*u+v*f,e}function Re(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=t[8],l=r[0],d=r[1];return e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=s,e[5]=u,e[6]=l*n+d*o+c,e[7]=l*a+d*s+_,e[8]=l*i+d*u+f,e}function Fe(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=t[8],l=Math.sin(r),d=Math.cos(r);return e[0]=d*n+l*o,e[1]=d*a+l*s,e[2]=d*i+l*u,e[3]=d*o-l*n,e[4]=d*s-l*a,e[5]=d*u-l*i,e[6]=c,e[7]=_,e[8]=f,e}function Oe(e,t,r){var n=r[0],a=r[1];return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=a*t[3],e[4]=a*t[4],e[5]=a*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Pe(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=t[0],e[7]=t[1],e[8]=1,e}function Le(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=-r,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function Se(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=t[1],e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function Ie(e,t){return e[0]=t[0],e[1]=t[1],e[2]=0,e[3]=t[2],e[4]=t[3],e[5]=0,e[6]=t[4],e[7]=t[5],e[8]=1,e}function De(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=r+r,s=n+n,u=a+a,c=r*o,_=n*o,f=n*s,l=a*o,d=a*s,p=a*u,h=i*o,m=i*s,b=i*u;return e[0]=1-f-p,e[3]=_-b,e[6]=l+m,e[1]=_+b,e[4]=1-c-p,e[7]=d-h,e[2]=l-m,e[5]=d+h,e[8]=1-c-f,e}function Be(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],c=t[7],_=t[8],f=t[9],l=t[10],d=t[11],p=t[12],h=t[13],m=t[14],b=t[15],g=r*s-n*o,w=r*u-a*o,v=r*c-i*o,y=n*u-a*s,M=n*c-i*s,k=a*c-i*u,x=_*h-f*p,E=_*m-l*p,A=_*b-d*p,z=f*m-l*h,T=f*b-d*h,R=l*b-d*m,F=g*R-w*T+v*z+y*A-M*E+k*x;return F?(F=1/F,e[0]=(s*R-u*T+c*z)*F,e[1]=(u*A-o*R-c*E)*F,e[2]=(o*T-s*A+c*x)*F,e[3]=(a*T-n*R-i*z)*F,e[4]=(r*R-a*A+i*E)*F,e[5]=(n*A-r*T-i*x)*F,e[6]=(h*k-m*M+b*y)*F,e[7]=(m*v-p*k-b*w)*F,e[8]=(p*M-h*v+b*g)*F,e):null}function Ce(e,t,r){return e[0]=2/t,e[1]=0,e[2]=0,e[3]=0,e[4]=-2/r,e[5]=0,e[6]=-1,e[7]=1,e[8]=1,e}function Ue(e){return"mat3("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+")"}function Ve(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])}function qe(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e}function Ne(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e}function je(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e}function We(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e}function He(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]}function Ge(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],c=e[7],_=e[8],f=t[0],l=t[1],p=t[2],h=t[3],m=t[4],b=t[5],g=t[6],w=t[7],v=t[8];return Math.abs(r-f)<=d*Math.max(1,Math.abs(r),Math.abs(f))&&Math.abs(n-l)<=d*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(a-p)<=d*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(i-h)<=d*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(o-m)<=d*Math.max(1,Math.abs(o),Math.abs(m))&&Math.abs(s-b)<=d*Math.max(1,Math.abs(s),Math.abs(b))&&Math.abs(u-g)<=d*Math.max(1,Math.abs(u),Math.abs(g))&&Math.abs(c-w)<=d*Math.max(1,Math.abs(c),Math.abs(w))&&Math.abs(_-v)<=d*Math.max(1,Math.abs(_),Math.abs(v))}var Xe=Te,Ye=Ne;function Ze(){var e=new p(16);return p!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Ke(e){var t=new p(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Je(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function $e(e,t,r,n,a,i,o,s,u,c,_,f,l,d,h,m){var b=new p(16);return b[0]=e,b[1]=t,b[2]=r,b[3]=n,b[4]=a,b[5]=i,b[6]=o,b[7]=s,b[8]=u,b[9]=c,b[10]=_,b[11]=f,b[12]=l,b[13]=d,b[14]=h,b[15]=m,b}function Qe(e,t,r,n,a,i,o,s,u,c,_,f,l,d,p,h,m){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=o,e[6]=s,e[7]=u,e[8]=c,e[9]=_,e[10]=f,e[11]=l,e[12]=d,e[13]=p,e[14]=h,e[15]=m,e}function et(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function tt(e,t){if(e===t){var r=t[1],n=t[2],a=t[3],i=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=a,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function rt(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],c=t[7],_=t[8],f=t[9],l=t[10],d=t[11],p=t[12],h=t[13],m=t[14],b=t[15],g=r*s-n*o,w=r*u-a*o,v=r*c-i*o,y=n*u-a*s,M=n*c-i*s,k=a*c-i*u,x=_*h-f*p,E=_*m-l*p,A=_*b-d*p,z=f*m-l*h,T=f*b-d*h,R=l*b-d*m,F=g*R-w*T+v*z+y*A-M*E+k*x;return F?(F=1/F,e[0]=(s*R-u*T+c*z)*F,e[1]=(a*T-n*R-i*z)*F,e[2]=(h*k-m*M+b*y)*F,e[3]=(l*M-f*k-d*y)*F,e[4]=(u*A-o*R-c*E)*F,e[5]=(r*R-a*A+i*E)*F,e[6]=(m*v-p*k-b*w)*F,e[7]=(_*k-l*v+d*w)*F,e[8]=(o*T-s*A+c*x)*F,e[9]=(n*A-r*T-i*x)*F,e[10]=(p*M-h*v+b*g)*F,e[11]=(f*v-_*M-d*g)*F,e[12]=(s*E-o*z-u*x)*F,e[13]=(r*z-n*E+a*x)*F,e[14]=(h*w-p*y-m*g)*F,e[15]=(_*y-f*w+l*g)*F,e):null}function nt(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],c=t[7],_=t[8],f=t[9],l=t[10],d=t[11],p=t[12],h=t[13],m=t[14],b=t[15];return e[0]=s*(l*b-d*m)-f*(u*b-c*m)+h*(u*d-c*l),e[1]=-(n*(l*b-d*m)-f*(a*b-i*m)+h*(a*d-i*l)),e[2]=n*(u*b-c*m)-s*(a*b-i*m)+h*(a*c-i*u),e[3]=-(n*(u*d-c*l)-s*(a*d-i*l)+f*(a*c-i*u)),e[4]=-(o*(l*b-d*m)-_*(u*b-c*m)+p*(u*d-c*l)),e[5]=r*(l*b-d*m)-_*(a*b-i*m)+p*(a*d-i*l),e[6]=-(r*(u*b-c*m)-o*(a*b-i*m)+p*(a*c-i*u)),e[7]=r*(u*d-c*l)-o*(a*d-i*l)+_*(a*c-i*u),e[8]=o*(f*b-d*h)-_*(s*b-c*h)+p*(s*d-c*f),e[9]=-(r*(f*b-d*h)-_*(n*b-i*h)+p*(n*d-i*f)),e[10]=r*(s*b-c*h)-o*(n*b-i*h)+p*(n*c-i*s),e[11]=-(r*(s*d-c*f)-o*(n*d-i*f)+_*(n*c-i*s)),e[12]=-(o*(f*m-l*h)-_*(s*m-u*h)+p*(s*l-u*f)),e[13]=r*(f*m-l*h)-_*(n*m-a*h)+p*(n*l-a*f),e[14]=-(r*(s*m-u*h)-o*(n*m-a*h)+p*(n*u-a*s)),e[15]=r*(s*l-u*f)-o*(n*l-a*f)+_*(n*u-a*s),e}function at(e){var t=e[0],r=e[1],n=e[2],a=e[3],i=e[4],o=e[5],s=e[6],u=e[7],c=e[8],_=e[9],f=e[10],l=e[11],d=e[12],p=e[13],h=e[14],m=e[15];return(t*o-r*i)*(f*m-l*h)-(t*s-n*i)*(_*m-l*p)+(t*u-a*i)*(_*h-f*p)+(r*s-n*o)*(c*m-l*d)-(r*u-a*o)*(c*h-f*d)+(n*u-a*s)*(c*p-_*d)}function it(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=t[8],l=t[9],d=t[10],p=t[11],h=t[12],m=t[13],b=t[14],g=t[15],w=r[0],v=r[1],y=r[2],M=r[3];return e[0]=w*n+v*s+y*f+M*h,e[1]=w*a+v*u+y*l+M*m,e[2]=w*i+v*c+y*d+M*b,e[3]=w*o+v*_+y*p+M*g,w=r[4],v=r[5],y=r[6],M=r[7],e[4]=w*n+v*s+y*f+M*h,e[5]=w*a+v*u+y*l+M*m,e[6]=w*i+v*c+y*d+M*b,e[7]=w*o+v*_+y*p+M*g,w=r[8],v=r[9],y=r[10],M=r[11],e[8]=w*n+v*s+y*f+M*h,e[9]=w*a+v*u+y*l+M*m,e[10]=w*i+v*c+y*d+M*b,e[11]=w*o+v*_+y*p+M*g,w=r[12],v=r[13],y=r[14],M=r[15],e[12]=w*n+v*s+y*f+M*h,e[13]=w*a+v*u+y*l+M*m,e[14]=w*i+v*c+y*d+M*b,e[15]=w*o+v*_+y*p+M*g,e}function ot(e,t,r){var n,a,i,o,s,u,c,_,f,l,d,p,h=r[0],m=r[1],b=r[2];return t===e?(e[12]=t[0]*h+t[4]*m+t[8]*b+t[12],e[13]=t[1]*h+t[5]*m+t[9]*b+t[13],e[14]=t[2]*h+t[6]*m+t[10]*b+t[14],e[15]=t[3]*h+t[7]*m+t[11]*b+t[15]):(n=t[0],a=t[1],i=t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=t[8],l=t[9],d=t[10],p=t[11],e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=s,e[5]=u,e[6]=c,e[7]=_,e[8]=f,e[9]=l,e[10]=d,e[11]=p,e[12]=n*h+s*m+f*b+t[12],e[13]=a*h+u*m+l*b+t[13],e[14]=i*h+c*m+d*b+t[14],e[15]=o*h+_*m+p*b+t[15]),e}function st(e,t,r){var n=r[0],a=r[1],i=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*a,e[5]=t[5]*a,e[6]=t[6]*a,e[7]=t[7]*a,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function ut(e,t,r,n){var a,i,o,s,u,c,_,f,l,p,h,m,b,g,w,v,y,M,k,x,E,A,z,T,R=n[0],F=n[1],O=n[2],P=Math.hypot(R,F,O);return P<d?null:(R*=P=1/P,F*=P,O*=P,a=Math.sin(r),o=1-(i=Math.cos(r)),s=t[0],u=t[1],c=t[2],_=t[3],f=t[4],l=t[5],p=t[6],h=t[7],m=t[8],b=t[9],g=t[10],w=t[11],v=R*R*o+i,y=F*R*o+O*a,M=O*R*o-F*a,k=R*F*o-O*a,x=F*F*o+i,E=O*F*o+R*a,A=R*O*o+F*a,z=F*O*o-R*a,T=O*O*o+i,e[0]=s*v+f*y+m*M,e[1]=u*v+l*y+b*M,e[2]=c*v+p*y+g*M,e[3]=_*v+h*y+w*M,e[4]=s*k+f*x+m*E,e[5]=u*k+l*x+b*E,e[6]=c*k+p*x+g*E,e[7]=_*k+h*x+w*E,e[8]=s*A+f*z+m*T,e[9]=u*A+l*z+b*T,e[10]=c*A+p*z+g*T,e[11]=_*A+h*z+w*T,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function ct(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[4],o=t[5],s=t[6],u=t[7],c=t[8],_=t[9],f=t[10],l=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*a+c*n,e[5]=o*a+_*n,e[6]=s*a+f*n,e[7]=u*a+l*n,e[8]=c*a-i*n,e[9]=_*a-o*n,e[10]=f*a-s*n,e[11]=l*a-u*n,e}function _t(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[0],o=t[1],s=t[2],u=t[3],c=t[8],_=t[9],f=t[10],l=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a-c*n,e[1]=o*a-_*n,e[2]=s*a-f*n,e[3]=u*a-l*n,e[8]=i*n+c*a,e[9]=o*n+_*a,e[10]=s*n+f*a,e[11]=u*n+l*a,e}function ft(e,t,r){var n=Math.sin(r),a=Math.cos(r),i=t[0],o=t[1],s=t[2],u=t[3],c=t[4],_=t[5],f=t[6],l=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*a+c*n,e[1]=o*a+_*n,e[2]=s*a+f*n,e[3]=u*a+l*n,e[4]=c*a-i*n,e[5]=_*a-o*n,e[6]=f*a-s*n,e[7]=l*a-u*n,e}function lt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function dt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function pt(e,t,r){var n,a,i,o=r[0],s=r[1],u=r[2],c=Math.hypot(o,s,u);return c<d?null:(o*=c=1/c,s*=c,u*=c,n=Math.sin(t),i=1-(a=Math.cos(t)),e[0]=o*o*i+a,e[1]=s*o*i+u*n,e[2]=u*o*i-s*n,e[3]=0,e[4]=o*s*i-u*n,e[5]=s*s*i+a,e[6]=u*s*i+o*n,e[7]=0,e[8]=o*u*i+s*n,e[9]=s*u*i-o*n,e[10]=u*u*i+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function ht(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function mt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function bt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function gt(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=n+n,u=a+a,c=i+i,_=n*s,f=n*u,l=n*c,d=a*u,p=a*c,h=i*c,m=o*s,b=o*u,g=o*c;return e[0]=1-(d+h),e[1]=f+g,e[2]=l-b,e[3]=0,e[4]=f-g,e[5]=1-(_+h),e[6]=p+m,e[7]=0,e[8]=l+b,e[9]=p-m,e[10]=1-(_+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function wt(e,t){var r=new p(3),n=-t[0],a=-t[1],i=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=n*n+a*a+i*i+o*o;return f>0?(r[0]=2*(s*o+_*n+u*i-c*a)/f,r[1]=2*(u*o+_*a+c*n-s*i)/f,r[2]=2*(c*o+_*i+s*a-u*n)/f):(r[0]=2*(s*o+_*n+u*i-c*a),r[1]=2*(u*o+_*a+c*n-s*i),r[2]=2*(c*o+_*i+s*a-u*n)),gt(e,t,r),e}function vt(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function yt(e,t){var r=t[0],n=t[1],a=t[2],i=t[4],o=t[5],s=t[6],u=t[8],c=t[9],_=t[10];return e[0]=Math.hypot(r,n,a),e[1]=Math.hypot(i,o,s),e[2]=Math.hypot(u,c,_),e}function Mt(e,t){var r=new p(3);yt(r,t);var n=1/r[0],a=1/r[1],i=1/r[2],o=t[0]*n,s=t[1]*a,u=t[2]*i,c=t[4]*n,_=t[5]*a,f=t[6]*i,l=t[8]*n,d=t[9]*a,h=t[10]*i,m=o+_+h,b=0;return m>0?(b=2*Math.sqrt(m+1),e[3]=.25*b,e[0]=(f-d)/b,e[1]=(l-u)/b,e[2]=(s-c)/b):o>_&&o>h?(b=2*Math.sqrt(1+o-_-h),e[3]=(f-d)/b,e[0]=.25*b,e[1]=(s+c)/b,e[2]=(l+u)/b):_>h?(b=2*Math.sqrt(1+_-o-h),e[3]=(l-u)/b,e[0]=(s+c)/b,e[1]=.25*b,e[2]=(f+d)/b):(b=2*Math.sqrt(1+h-o-_),e[3]=(s-c)/b,e[0]=(l+u)/b,e[1]=(f+d)/b,e[2]=.25*b),e}function kt(e,t,r,n){var a=t[0],i=t[1],o=t[2],s=t[3],u=a+a,c=i+i,_=o+o,f=a*u,l=a*c,d=a*_,p=i*c,h=i*_,m=o*_,b=s*u,g=s*c,w=s*_,v=n[0],y=n[1],M=n[2];return e[0]=(1-(p+m))*v,e[1]=(l+w)*v,e[2]=(d-g)*v,e[3]=0,e[4]=(l-w)*y,e[5]=(1-(f+m))*y,e[6]=(h+b)*y,e[7]=0,e[8]=(d+g)*M,e[9]=(h-b)*M,e[10]=(1-(f+p))*M,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function xt(e,t,r,n,a){var i=t[0],o=t[1],s=t[2],u=t[3],c=i+i,_=o+o,f=s+s,l=i*c,d=i*_,p=i*f,h=o*_,m=o*f,b=s*f,g=u*c,w=u*_,v=u*f,y=n[0],M=n[1],k=n[2],x=a[0],E=a[1],A=a[2],z=(1-(h+b))*y,T=(d+v)*y,R=(p-w)*y,F=(d-v)*M,O=(1-(l+b))*M,P=(m+g)*M,L=(p+w)*k,S=(m-g)*k,I=(1-(l+h))*k;return e[0]=z,e[1]=T,e[2]=R,e[3]=0,e[4]=F,e[5]=O,e[6]=P,e[7]=0,e[8]=L,e[9]=S,e[10]=I,e[11]=0,e[12]=r[0]+x-(z*x+F*E+L*A),e[13]=r[1]+E-(T*x+O*E+S*A),e[14]=r[2]+A-(R*x+P*E+I*A),e[15]=1,e}function Et(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=r+r,s=n+n,u=a+a,c=r*o,_=n*o,f=n*s,l=a*o,d=a*s,p=a*u,h=i*o,m=i*s,b=i*u;return e[0]=1-f-p,e[1]=_+b,e[2]=l-m,e[3]=0,e[4]=_-b,e[5]=1-c-p,e[6]=d+h,e[7]=0,e[8]=l+m,e[9]=d-h,e[10]=1-c-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function At(e,t,r,n,a,i,o){var s=1/(r-t),u=1/(a-n),c=1/(i-o);return e[0]=2*i*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*i*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(a+n)*u,e[10]=(o+i)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*c,e[15]=0,e}function zt(e,t,r,n,a){var i,o=1/Math.tan(t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=a&&a!==1/0?(i=1/(n-a),e[10]=(a+n)*i,e[14]=2*a*n*i):(e[10]=-1,e[14]=-2*n),e}function Tt(e,t,r,n){var a=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+s),c=2/(a+i);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-(o-s)*u*.5,e[9]=(a-i)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Rt(e,t,r,n,a,i,o){var s=1/(t-r),u=1/(n-a),c=1/(i-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(a+n)*u,e[14]=(o+i)*c,e[15]=1,e}function Ft(e,t,r,n){var a,i,o,s,u,c,_,f,l,p,h=t[0],m=t[1],b=t[2],g=n[0],w=n[1],v=n[2],y=r[0],M=r[1],k=r[2];return Math.abs(h-y)<d&&Math.abs(m-M)<d&&Math.abs(b-k)<d?et(e):(_=h-y,f=m-M,l=b-k,a=w*(l*=p=1/Math.hypot(_,f,l))-v*(f*=p),i=v*(_*=p)-g*l,o=g*f-w*_,(p=Math.hypot(a,i,o))?(a*=p=1/p,i*=p,o*=p):(a=0,i=0,o=0),s=f*o-l*i,u=l*a-_*o,c=_*i-f*a,(p=Math.hypot(s,u,c))?(s*=p=1/p,u*=p,c*=p):(s=0,u=0,c=0),e[0]=a,e[1]=s,e[2]=_,e[3]=0,e[4]=i,e[5]=u,e[6]=f,e[7]=0,e[8]=o,e[9]=c,e[10]=l,e[11]=0,e[12]=-(a*h+i*m+o*b),e[13]=-(s*h+u*m+c*b),e[14]=-(_*h+f*m+l*b),e[15]=1,e)}function Ot(e,t,r,n){var a=t[0],i=t[1],o=t[2],s=n[0],u=n[1],c=n[2],_=a-r[0],f=i-r[1],l=o-r[2],d=_*_+f*f+l*l;d>0&&(_*=d=1/Math.sqrt(d),f*=d,l*=d);var p=u*l-c*f,h=c*_-s*l,m=s*f-u*_;return(d=p*p+h*h+m*m)>0&&(p*=d=1/Math.sqrt(d),h*=d,m*=d),e[0]=p,e[1]=h,e[2]=m,e[3]=0,e[4]=f*m-l*h,e[5]=l*p-_*m,e[6]=_*h-f*p,e[7]=0,e[8]=_,e[9]=f,e[10]=l,e[11]=0,e[12]=a,e[13]=i,e[14]=o,e[15]=1,e}function Pt(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}function Lt(e){return Math.hypot(e[0],e[1],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}function St(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function It(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function Dt(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function Bt(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function Ct(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function Ut(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],c=e[7],_=e[8],f=e[9],l=e[10],p=e[11],h=e[12],m=e[13],b=e[14],g=e[15],w=t[0],v=t[1],y=t[2],M=t[3],k=t[4],x=t[5],E=t[6],A=t[7],z=t[8],T=t[9],R=t[10],F=t[11],O=t[12],P=t[13],L=t[14],S=t[15];return Math.abs(r-w)<=d*Math.max(1,Math.abs(r),Math.abs(w))&&Math.abs(n-v)<=d*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(a-y)<=d*Math.max(1,Math.abs(a),Math.abs(y))&&Math.abs(i-M)<=d*Math.max(1,Math.abs(i),Math.abs(M))&&Math.abs(o-k)<=d*Math.max(1,Math.abs(o),Math.abs(k))&&Math.abs(s-x)<=d*Math.max(1,Math.abs(s),Math.abs(x))&&Math.abs(u-E)<=d*Math.max(1,Math.abs(u),Math.abs(E))&&Math.abs(c-A)<=d*Math.max(1,Math.abs(c),Math.abs(A))&&Math.abs(_-z)<=d*Math.max(1,Math.abs(_),Math.abs(z))&&Math.abs(f-T)<=d*Math.max(1,Math.abs(f),Math.abs(T))&&Math.abs(l-R)<=d*Math.max(1,Math.abs(l),Math.abs(R))&&Math.abs(p-F)<=d*Math.max(1,Math.abs(p),Math.abs(F))&&Math.abs(h-O)<=d*Math.max(1,Math.abs(h),Math.abs(O))&&Math.abs(m-P)<=d*Math.max(1,Math.abs(m),Math.abs(P))&&Math.abs(b-L)<=d*Math.max(1,Math.abs(b),Math.abs(L))&&Math.abs(g-S)<=d*Math.max(1,Math.abs(g),Math.abs(S))}var Vt=it,qt=It;function Nt(){var e=new p(3);return p!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function jt(e){var t=new p(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Wt(e){var t=e[0],r=e[1],n=e[2];return Math.hypot(t,r,n)}function Ht(e,t,r){var n=new p(3);return n[0]=e,n[1]=t,n[2]=r,n}function Gt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function Xt(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}function Yt(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}function Zt(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function Kt(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function Jt(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function $t(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}function Qt(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}function er(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}function tr(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}function rr(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e}function nr(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}function ar(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}function ir(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2];return Math.hypot(r,n,a)}function or(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2];return r*r+n*n+a*a}function sr(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function ur(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function cr(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}function _r(e,t){var r=t[0],n=t[1],a=t[2],i=r*r+n*n+a*a;return i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e}function fr(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function lr(e,t,r){var n=t[0],a=t[1],i=t[2],o=r[0],s=r[1],u=r[2];return e[0]=a*u-i*s,e[1]=i*o-n*u,e[2]=n*s-a*o,e}function dr(e,t,r,n){var a=t[0],i=t[1],o=t[2];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e[2]=o+n*(r[2]-o),e}function pr(e,t,r,n,a,i){var o=i*i,s=o*(2*i-3)+1,u=o*(i-2)+i,c=o*(i-1),_=o*(3-2*i);return e[0]=t[0]*s+r[0]*u+n[0]*c+a[0]*_,e[1]=t[1]*s+r[1]*u+n[1]*c+a[1]*_,e[2]=t[2]*s+r[2]*u+n[2]*c+a[2]*_,e}function hr(e,t,r,n,a,i){var o=1-i,s=o*o,u=i*i,c=s*o,_=3*i*s,f=3*u*o,l=u*i;return e[0]=t[0]*c+r[0]*_+n[0]*f+a[0]*l,e[1]=t[1]*c+r[1]*_+n[1]*f+a[1]*l,e[2]=t[2]*c+r[2]*_+n[2]*f+a[2]*l,e}function mr(e,t){t=t||1;var r=2*h()*Math.PI,n=2*h()-1,a=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*a,e[1]=Math.sin(r)*a,e[2]=n*t,e}function br(e,t,r){var n=t[0],a=t[1],i=t[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,e[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,e[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,e}function gr(e,t,r){var n=t[0],a=t[1],i=t[2];return e[0]=n*r[0]+a*r[3]+i*r[6],e[1]=n*r[1]+a*r[4]+i*r[7],e[2]=n*r[2]+a*r[5]+i*r[8],e}function wr(e,t,r){var n=r[0],a=r[1],i=r[2],o=r[3],s=t[0],u=t[1],c=t[2],_=a*c-i*u,f=i*s-n*c,l=n*u-a*s,d=a*l-i*f,p=i*_-n*l,h=n*f-a*_,m=2*o;return _*=m,f*=m,l*=m,d*=2,p*=2,h*=2,e[0]=s+_+d,e[1]=u+f+p,e[2]=c+l+h,e}function vr(e,t,r,n){var a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function yr(e,t,r,n){var a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function Mr(e,t,r,n){var a=[],i=[];return a[0]=t[0]-r[0],a[1]=t[1]-r[1],a[2]=t[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],e[0]=i[0]+r[0],e[1]=i[1]+r[1],e[2]=i[2]+r[2],e}function kr(e,t){var r=Ht(e[0],e[1],e[2]),n=Ht(t[0],t[1],t[2]);_r(r,r),_r(n,n);var a=fr(r,n);return a>1?0:a<-1?Math.PI:Math.acos(a)}function xr(e){return e[0]=0,e[1]=0,e[2]=0,e}function Er(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"}function Ar(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function zr(e,t){var r=e[0],n=e[1],a=e[2],i=t[0],o=t[1],s=t[2];return Math.abs(r-i)<=d*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-o)<=d*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(a-s)<=d*Math.max(1,Math.abs(a),Math.abs(s))}var Tr,Rr=Zt,Fr=Kt,Or=Jt,Pr=ir,Lr=or,Sr=Wt,Ir=sr,Dr=(Tr=Nt(),function(e,t,r,n,a,i){var o,s;for(t||(t=3),r||(r=0),s=n?Math.min(n*t+r,e.length):e.length,o=r;o<s;o+=t)Tr[0]=e[o],Tr[1]=e[o+1],Tr[2]=e[o+2],a(Tr,Tr,i),e[o]=Tr[0],e[o+1]=Tr[1],e[o+2]=Tr[2];return e});function Br(){var e=new p(4);return p!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Cr(e){var t=new p(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Ur(e,t,r,n){var a=new p(4);return a[0]=e,a[1]=t,a[2]=r,a[3]=n,a}function Vr(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function qr(e,t,r,n,a){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e}function Nr(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}function jr(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e}function Wr(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e}function Hr(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e[3]=t[3]/r[3],e}function Gr(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e[3]=Math.ceil(t[3]),e}function Xr(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e[3]=Math.floor(t[3]),e}function Yr(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e[3]=Math.min(t[3],r[3]),e}function Zr(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e[3]=Math.max(t[3],r[3]),e}function Kr(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e[3]=Math.round(t[3]),e}function Jr(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}function $r(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e}function Qr(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2],i=t[3]-e[3];return Math.hypot(r,n,a,i)}function en(e,t){var r=t[0]-e[0],n=t[1]-e[1],a=t[2]-e[2],i=t[3]-e[3];return r*r+n*n+a*a+i*i}function tn(e){var t=e[0],r=e[1],n=e[2],a=e[3];return Math.hypot(t,r,n,a)}function rn(e){var t=e[0],r=e[1],n=e[2],a=e[3];return t*t+r*r+n*n+a*a}function nn(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e}function an(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e}function on(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=r*r+n*n+a*a+i*i;return o>0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=n*o,e[2]=a*o,e[3]=i*o,e}function sn(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function un(e,t,r,n){var a=r[0]*n[1]-r[1]*n[0],i=r[0]*n[2]-r[2]*n[0],o=r[0]*n[3]-r[3]*n[0],s=r[1]*n[2]-r[2]*n[1],u=r[1]*n[3]-r[3]*n[1],c=r[2]*n[3]-r[3]*n[2],_=t[0],f=t[1],l=t[2],d=t[3];return e[0]=f*c-l*u+d*s,e[1]=-_*c+l*o-d*i,e[2]=_*u-f*o+d*a,e[3]=-_*s+f*i-l*a,e}function cn(e,t,r,n){var a=t[0],i=t[1],o=t[2],s=t[3];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}function _n(e,t){var r,n,a,i,o,s;t=t||1;do{o=(r=2*h()-1)*r+(n=2*h()-1)*n}while(o>=1);do{s=(a=2*h()-1)*a+(i=2*h()-1)*i}while(s>=1);var u=Math.sqrt((1-o)/s);return e[0]=t*r,e[1]=t*n,e[2]=t*a*u,e[3]=t*i*u,e}function fn(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3];return e[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,e[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,e[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,e[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,e}function ln(e,t,r){var n=t[0],a=t[1],i=t[2],o=r[0],s=r[1],u=r[2],c=r[3],_=c*n+s*i-u*a,f=c*a+u*n-o*i,l=c*i+o*a-s*n,d=-o*n-s*a-u*i;return e[0]=_*c+d*-o+f*-u-l*-s,e[1]=f*c+d*-s+l*-o-_*-u,e[2]=l*c+d*-u+_*-s-f*-o,e[3]=t[3],e}function dn(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e}function pn(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}function hn(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function mn(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=t[0],s=t[1],u=t[2],c=t[3];return Math.abs(r-o)<=d*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-s)<=d*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(a-u)<=d*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(i-c)<=d*Math.max(1,Math.abs(i),Math.abs(c))}var bn=jr,gn=Wr,wn=Hr,vn=Qr,yn=en,Mn=tn,kn=rn,xn=function(){var e=Br();return function(t,r,n,a,i,o){var s,u;for(r||(r=4),n||(n=0),u=a?Math.min(a*r+n,t.length):t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],i(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}();function En(){var e=new p(4);return p!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function An(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function zn(e,t,r){r*=.5;var n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function Tn(e,t){var r=2*Math.acos(t[3]),n=Math.sin(r/2);return n>d?(e[0]=t[0]/n,e[1]=t[1]/n,e[2]=t[2]/n):(e[0]=1,e[1]=0,e[2]=0),r}function Rn(e,t){var r=aa(e,t);return Math.acos(2*r*r-1)}function Fn(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=r[0],u=r[1],c=r[2],_=r[3];return e[0]=n*_+o*s+a*c-i*u,e[1]=a*_+o*u+i*s-n*c,e[2]=i*_+o*c+n*u-a*s,e[3]=o*_-n*s-a*u-i*c,e}function On(e,t,r){r*=.5;var n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=a*u+i*s,e[2]=i*u-a*s,e[3]=o*u-n*s,e}function Pn(e,t,r){r*=.5;var n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-i*s,e[1]=a*u+o*s,e[2]=i*u+n*s,e[3]=o*u-a*s,e}function Ln(e,t,r){r*=.5;var n=t[0],a=t[1],i=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+a*s,e[1]=a*u-n*s,e[2]=i*u+o*s,e[3]=o*u-i*s,e}function Sn(e,t){var r=t[0],n=t[1],a=t[2];return e[0]=r,e[1]=n,e[2]=a,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),e}function In(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=Math.sqrt(r*r+n*n+a*a),s=Math.exp(i),u=o>0?s*Math.sin(o)/o:0;return e[0]=r*u,e[1]=n*u,e[2]=a*u,e[3]=s*Math.cos(o),e}function Dn(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=Math.sqrt(r*r+n*n+a*a),s=o>0?Math.atan2(o,i)/o:0;return e[0]=r*s,e[1]=n*s,e[2]=a*s,e[3]=.5*Math.log(r*r+n*n+a*a+i*i),e}function Bn(e,t,r){return Dn(e,t),na(e,e,r),In(e,e),e}function Cn(e,t,r,n){var a,i,o,s,u,c=t[0],_=t[1],f=t[2],l=t[3],p=r[0],h=r[1],m=r[2],b=r[3];return(i=c*p+_*h+f*m+l*b)<0&&(i=-i,p=-p,h=-h,m=-m,b=-b),1-i>d?(a=Math.acos(i),o=Math.sin(a),s=Math.sin((1-n)*a)/o,u=Math.sin(n*a)/o):(s=1-n,u=n),e[0]=s*c+u*p,e[1]=s*_+u*h,e[2]=s*f+u*m,e[3]=s*l+u*b,e}function Un(e){var t=h(),r=h(),n=h(),a=Math.sqrt(1-t),i=Math.sqrt(t);return e[0]=a*Math.sin(2*Math.PI*r),e[1]=a*Math.cos(2*Math.PI*r),e[2]=i*Math.sin(2*Math.PI*n),e[3]=i*Math.cos(2*Math.PI*n),e}function Vn(e,t){var r=t[0],n=t[1],a=t[2],i=t[3],o=r*r+n*n+a*a+i*i,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-a*s,e[3]=i*s,e}function qn(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function Nn(e,t){var r,n=t[0]+t[4]+t[8];if(n>0)r=Math.sqrt(n+1),e[3]=.5*r,r=.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{var a=0;t[4]>t[0]&&(a=1),t[8]>t[3*a+a]&&(a=2);var i=(a+1)%3,o=(a+2)%3;r=Math.sqrt(t[3*a+a]-t[3*i+i]-t[3*o+o]+1),e[a]=.5*r,r=.5/r,e[3]=(t[3*i+o]-t[3*o+i])*r,e[i]=(t[3*i+a]+t[3*a+i])*r,e[o]=(t[3*o+a]+t[3*a+o])*r}return e}function jn(e,t,r,n){var a=.5*Math.PI/180;t*=a,r*=a,n*=a;var i=Math.sin(t),o=Math.cos(t),s=Math.sin(r),u=Math.cos(r),c=Math.sin(n),_=Math.cos(n);return e[0]=i*u*_-o*s*c,e[1]=o*s*_+i*u*c,e[2]=o*u*c-i*s*_,e[3]=o*u*_+i*s*c,e}function Wn(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}var Hn,Gn,Xn,Yn,Zn,Kn,Jn=Cr,$n=Ur,Qn=Vr,ea=qr,ta=Nr,ra=Fn,na=Jr,aa=sn,ia=cn,oa=tn,sa=oa,ua=rn,ca=ua,_a=on,fa=hn,la=mn,da=(Hn=Nt(),Gn=Ht(1,0,0),Xn=Ht(0,1,0),function(e,t,r){var n=fr(t,r);return n<-.999999?(lr(Hn,Gn,t),Sr(Hn)<1e-6&&lr(Hn,Xn,t),_r(Hn,Hn),zn(e,Hn,Math.PI),e):n>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):(lr(Hn,t,r),e[0]=Hn[0],e[1]=Hn[1],e[2]=Hn[2],e[3]=1+n,_a(e,e))}),pa=(Yn=En(),Zn=En(),function(e,t,r,n,a,i){return Cn(Yn,t,a,i),Cn(Zn,r,n,i),Cn(e,Yn,Zn,2*i*(1-i)),e}),ha=(Kn=be(),function(e,t,r,n){return Kn[0]=r[0],Kn[3]=r[1],Kn[6]=r[2],Kn[1]=n[0],Kn[4]=n[1],Kn[7]=n[2],Kn[2]=-t[0],Kn[5]=-t[1],Kn[8]=-t[2],_a(e,Nn(e,Kn))});function ma(){var e=new p(8);return p!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0),e[3]=1,e}function ba(e){var t=new p(8);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t}function ga(e,t,r,n,a,i,o,s){var u=new p(8);return u[0]=e,u[1]=t,u[2]=r,u[3]=n,u[4]=a,u[5]=i,u[6]=o,u[7]=s,u}function wa(e,t,r,n,a,i,o){var s=new p(8);s[0]=e,s[1]=t,s[2]=r,s[3]=n;var u=.5*a,c=.5*i,_=.5*o;return s[4]=u*n+c*r-_*t,s[5]=c*n+_*e-u*r,s[6]=_*n+u*t-c*e,s[7]=-u*e-c*t-_*r,s}function va(e,t,r){var n=.5*r[0],a=.5*r[1],i=.5*r[2],o=t[0],s=t[1],u=t[2],c=t[3];return e[0]=o,e[1]=s,e[2]=u,e[3]=c,e[4]=n*c+a*u-i*s,e[5]=a*c+i*o-n*u,e[6]=i*c+n*s-a*o,e[7]=-n*o-a*s-i*u,e}function ya(e,t){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=.5*t[0],e[5]=.5*t[1],e[6]=.5*t[2],e[7]=0,e}function Ma(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=0,e[5]=0,e[6]=0,e[7]=0,e}function ka(e,t){var r=En();Mt(r,t);var n=new p(3);return vt(n,t),va(e,r,n),e}function xa(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e}function Ea(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e}function Aa(e,t,r,n,a,i,o,s,u){return e[0]=t,e[1]=r,e[2]=n,e[3]=a,e[4]=i,e[5]=o,e[6]=s,e[7]=u,e}var za=Qn;function Ta(e,t){return e[0]=t[4],e[1]=t[5],e[2]=t[6],e[3]=t[7],e}var Ra=Qn;function Fa(e,t){return e[4]=t[0],e[5]=t[1],e[6]=t[2],e[7]=t[3],e}function Oa(e,t){var r=t[4],n=t[5],a=t[6],i=t[7],o=-t[0],s=-t[1],u=-t[2],c=t[3];return e[0]=2*(r*c+i*o+n*u-a*s),e[1]=2*(n*c+i*s+a*o-r*u),e[2]=2*(a*c+i*u+r*s-n*o),e}function Pa(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=.5*r[0],u=.5*r[1],c=.5*r[2],_=t[4],f=t[5],l=t[6],d=t[7];return e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=o*s+a*c-i*u+_,e[5]=o*u+i*s-n*c+f,e[6]=o*c+n*u-a*s+l,e[7]=-n*s-a*u-i*c+d,e}function La(e,t,r){var n=-t[0],a=-t[1],i=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=s*o+_*n+u*i-c*a,l=u*o+_*a+c*n-s*i,d=c*o+_*i+s*a-u*n,p=_*o-s*n-u*a-c*i;return On(e,t,r),n=e[0],a=e[1],i=e[2],o=e[3],e[4]=f*o+p*n+l*i-d*a,e[5]=l*o+p*a+d*n-f*i,e[6]=d*o+p*i+f*a-l*n,e[7]=p*o-f*n-l*a-d*i,e}function Sa(e,t,r){var n=-t[0],a=-t[1],i=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=s*o+_*n+u*i-c*a,l=u*o+_*a+c*n-s*i,d=c*o+_*i+s*a-u*n,p=_*o-s*n-u*a-c*i;return Pn(e,t,r),n=e[0],a=e[1],i=e[2],o=e[3],e[4]=f*o+p*n+l*i-d*a,e[5]=l*o+p*a+d*n-f*i,e[6]=d*o+p*i+f*a-l*n,e[7]=p*o-f*n-l*a-d*i,e}function Ia(e,t,r){var n=-t[0],a=-t[1],i=-t[2],o=t[3],s=t[4],u=t[5],c=t[6],_=t[7],f=s*o+_*n+u*i-c*a,l=u*o+_*a+c*n-s*i,d=c*o+_*i+s*a-u*n,p=_*o-s*n-u*a-c*i;return Ln(e,t,r),n=e[0],a=e[1],i=e[2],o=e[3],e[4]=f*o+p*n+l*i-d*a,e[5]=l*o+p*a+d*n-f*i,e[6]=d*o+p*i+f*a-l*n,e[7]=p*o-f*n-l*a-d*i,e}function Da(e,t,r){var n=r[0],a=r[1],i=r[2],o=r[3],s=t[0],u=t[1],c=t[2],_=t[3];return e[0]=s*o+_*n+u*i-c*a,e[1]=u*o+_*a+c*n-s*i,e[2]=c*o+_*i+s*a-u*n,e[3]=_*o-s*n-u*a-c*i,s=t[4],u=t[5],c=t[6],_=t[7],e[4]=s*o+_*n+u*i-c*a,e[5]=u*o+_*a+c*n-s*i,e[6]=c*o+_*i+s*a-u*n,e[7]=_*o-s*n-u*a-c*i,e}function Ba(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=r[0],u=r[1],c=r[2],_=r[3];return e[0]=n*_+o*s+a*c-i*u,e[1]=a*_+o*u+i*s-n*c,e[2]=i*_+o*c+n*u-a*s,e[3]=o*_-n*s-a*u-i*c,s=r[4],u=r[5],c=r[6],_=r[7],e[4]=n*_+o*s+a*c-i*u,e[5]=a*_+o*u+i*s-n*c,e[6]=i*_+o*c+n*u-a*s,e[7]=o*_-n*s-a*u-i*c,e}function Ca(e,t,r,n){if(Math.abs(n)<d)return xa(e,t);var a=Math.hypot(r[0],r[1],r[2]);n*=.5;var i=Math.sin(n),o=i*r[0]/a,s=i*r[1]/a,u=i*r[2]/a,c=Math.cos(n),_=t[0],f=t[1],l=t[2],p=t[3];e[0]=_*c+p*o+f*u-l*s,e[1]=f*c+p*s+l*o-_*u,e[2]=l*c+p*u+_*s-f*o,e[3]=p*c-_*o-f*s-l*u;var h=t[4],m=t[5],b=t[6],g=t[7];return e[4]=h*c+g*o+m*u-b*s,e[5]=m*c+g*s+b*o-h*u,e[6]=b*c+g*u+h*s-m*o,e[7]=g*c-h*o-m*s-b*u,e}function Ua(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e}function Va(e,t,r){var n=t[0],a=t[1],i=t[2],o=t[3],s=r[4],u=r[5],c=r[6],_=r[7],f=t[4],l=t[5],d=t[6],p=t[7],h=r[0],m=r[1],b=r[2],g=r[3];return e[0]=n*g+o*h+a*b-i*m,e[1]=a*g+o*m+i*h-n*b,e[2]=i*g+o*b+n*m-a*h,e[3]=o*g-n*h-a*m-i*b,e[4]=n*_+o*s+a*c-i*u+f*g+p*h+l*b-d*m,e[5]=a*_+o*u+i*s-n*c+l*g+p*m+d*h-f*b,e[6]=i*_+o*c+n*u-a*s+d*g+p*b+f*m-l*h,e[7]=o*_-n*s-a*u-i*c+p*g-f*h-l*m-d*b,e}var qa=Va;function Na(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e}var ja=aa;function Wa(e,t,r,n){var a=1-n;return ja(t,r)<0&&(n=-n),e[0]=t[0]*a+r[0]*n,e[1]=t[1]*a+r[1]*n,e[2]=t[2]*a+r[2]*n,e[3]=t[3]*a+r[3]*n,e[4]=t[4]*a+r[4]*n,e[5]=t[5]*a+r[5]*n,e[6]=t[6]*a+r[6]*n,e[7]=t[7]*a+r[7]*n,e}function Ha(e,t){var r=Za(t);return e[0]=-t[0]/r,e[1]=-t[1]/r,e[2]=-t[2]/r,e[3]=t[3]/r,e[4]=-t[4]/r,e[5]=-t[5]/r,e[6]=-t[6]/r,e[7]=t[7]/r,e}function Ga(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e[4]=-t[4],e[5]=-t[5],e[6]=-t[6],e[7]=t[7],e}var Xa=oa,Ya=Xa,Za=ua,Ka=Za;function Ja(e,t){var r=Za(t);if(r>0){r=Math.sqrt(r);var n=t[0]/r,a=t[1]/r,i=t[2]/r,o=t[3]/r,s=t[4],u=t[5],c=t[6],_=t[7],f=n*s+a*u+i*c+o*_;e[0]=n,e[1]=a,e[2]=i,e[3]=o,e[4]=(s-n*f)/r,e[5]=(u-a*f)/r,e[6]=(c-i*f)/r,e[7]=(_-o*f)/r}return e}function $a(e){return"quat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+")"}function Qa(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]}function ei(e,t){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],c=e[7],_=t[0],f=t[1],l=t[2],p=t[3],h=t[4],m=t[5],b=t[6],g=t[7];return Math.abs(r-_)<=d*Math.max(1,Math.abs(r),Math.abs(_))&&Math.abs(n-f)<=d*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(a-l)<=d*Math.max(1,Math.abs(a),Math.abs(l))&&Math.abs(i-p)<=d*Math.max(1,Math.abs(i),Math.abs(p))&&Math.abs(o-h)<=d*Math.max(1,Math.abs(o),Math.abs(h))&&Math.abs(s-m)<=d*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(u-b)<=d*Math.max(1,Math.abs(u),Math.abs(b))&&Math.abs(c-g)<=d*Math.max(1,Math.abs(c),Math.abs(g))}function ti(){var e=new p(2);return p!=Float32Array&&(e[0]=0,e[1]=0),e}function ri(e){var t=new p(2);return t[0]=e[0],t[1]=e[1],t}function ni(e,t){var r=new p(2);return r[0]=e,r[1]=t,r}function ai(e,t){return e[0]=t[0],e[1]=t[1],e}function ii(e,t,r){return e[0]=t,e[1]=r,e}function oi(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e}function si(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e}function ui(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e}function ci(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e}function _i(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e}function fi(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e}function li(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e}function di(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e}function pi(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e}function hi(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e}function mi(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e}function bi(e,t){var r=t[0]-e[0],n=t[1]-e[1];return Math.hypot(r,n)}function gi(e,t){var r=t[0]-e[0],n=t[1]-e[1];return r*r+n*n}function wi(e){var t=e[0],r=e[1];return Math.hypot(t,r)}function vi(e){var t=e[0],r=e[1];return t*t+r*r}function yi(e,t){return e[0]=-t[0],e[1]=-t[1],e}function Mi(e,t){return e[0]=1/t[0],e[1]=1/t[1],e}function ki(e,t){var r=t[0],n=t[1],a=r*r+n*n;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e}function xi(e,t){return e[0]*t[0]+e[1]*t[1]}function Ei(e,t,r){var n=t[0]*r[1]-t[1]*r[0];return e[0]=e[1]=0,e[2]=n,e}function Ai(e,t,r,n){var a=t[0],i=t[1];return e[0]=a+n*(r[0]-a),e[1]=i+n*(r[1]-i),e}function zi(e,t){t=t||1;var r=2*h()*Math.PI;return e[0]=Math.cos(r)*t,e[1]=Math.sin(r)*t,e}function Ti(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a,e[1]=r[1]*n+r[3]*a,e}function Ri(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[2]*a+r[4],e[1]=r[1]*n+r[3]*a+r[5],e}function Fi(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[3]*a+r[6],e[1]=r[1]*n+r[4]*a+r[7],e}function Oi(e,t,r){var n=t[0],a=t[1];return e[0]=r[0]*n+r[4]*a+r[12],e[1]=r[1]*n+r[5]*a+r[13],e}function Pi(e,t,r,n){var a=t[0]-r[0],i=t[1]-r[1],o=Math.sin(n),s=Math.cos(n);return e[0]=a*s-i*o+r[0],e[1]=a*o+i*s+r[1],e}function Li(e,t){var r=e[0],n=e[1],a=t[0],i=t[1],o=r*r+n*n;o>0&&(o=1/Math.sqrt(o));var s=a*a+i*i;s>0&&(s=1/Math.sqrt(s));var u=(r*a+n*i)*o*s;return u>1?0:u<-1?Math.PI:Math.acos(u)}function Si(e){return e[0]=0,e[1]=0,e}function Ii(e){return"vec2("+e[0]+", "+e[1]+")"}function Di(e,t){return e[0]===t[0]&&e[1]===t[1]}function Bi(e,t){var r=e[0],n=e[1],a=t[0],i=t[1];return Math.abs(r-a)<=d*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-i)<=d*Math.max(1,Math.abs(n),Math.abs(i))}var Ci=wi,Ui=si,Vi=ui,qi=ci,Ni=bi,ji=gi,Wi=vi,Hi=function(){var e=ti();return function(t,r,n,a,i,o){var s,u;for(r||(r=2),n||(n=0),u=a?Math.min(a*r+n,t.length):t.length,s=n;s<u;s+=r)e[0]=t[s],e[1]=t[s+1],i(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}()},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(4),a=self;n.messageManager.onOutgoingMessage.bind(()=>{let e=n.messageManager.getOutgoingMessages();for(let t of e)a.postMessage(t.msg,t.transferables)});let i=e=>{if(e&&e.data&&"wasm"===e.data.t){let t=location.href.startsWith("blob")?e.data.url:r(21);t.default&&(t=t.default),n.launchWorkerServer(t),a.removeEventListener("message",i)}};a.addEventListener("message",i),a.addEventListener("message",e=>{n.messageManager.postIncomingMessage(e.data)})},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.launchWorkerServer=t.messageManager=void 0;const a=r(5),i=r(9),o=r(10),s=r(13),u=r(1),c=r(15),_=r(16),f=r(0);t.messageManager=new s.MsgManager;let l=0;t.launchWorkerServer=function(e){return n(this,void 0,void 0,(function*(){let r=a.default({locateFile:(t,r)=>t.endsWith("zcv.wasm")?e:r+t,onRuntimeInitialized:()=>{let e=i.getRuntimeObject(r),a=new o.zappar_server(e,(e,r)=>{t.messageManager.postOutgoingMessage({p:e,t:"zappar",d:r},[r])});t.messageManager.postOutgoingMessage("loaded",[]),t.messageManager.onIncomingMessage.bind(i=>{var o;switch(i.t){case"zappar":a.processBuffer(i.d),t.messageManager.postOutgoingMessage({t:"buf",d:i.d},[i.d]);break;case"buf":null===(o=a.serializersByPipelineId.get(i.p))||void 0===o||o.bufferReturn(i.d);break;case"cameraFrameC2S":{let r,n=i,o=a._pipeline_by_instance.get(n.p);o&&(e.pipeline_camera_frame_submit(o,n.d,n.width,n.height,n.token,n.c2d,n.cm,n.userFacing),e.pipeline_frame_update(o),r=e.pipeline_camera_frame_device_attitude(o),a.exploreState());let s={token:n.token,d:n.d,p:n.p,t:"cameraFrameRecycleS2C",att:r};t.messageManager.postOutgoingMessage(s,[n.d]);break}case"streamC2S":{let o=i;!function(e,r,a,i,o,s,c){n(this,void 0,void 0,(function*(){const n=yield a.getReader();for(;;){let a=yield n.read();if(a.done)return void console.log("Stream done");let _=a.value,w=_.allocationSize();w>p&&(d>0&&e._free(d),d=e._malloc(w),p=w),yield _.copyTo(e.HEAPU8.subarray(d,d+p));let v=h;h++;const y=_.visibleRect.width,M=_.visibleRect.height;let k,x=y,E=M;switch(l){case 270:k=new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]),x=M,E=y;break;case 180:k=new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);break;case 90:k=new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1]),x=M,E=y;break;default:k=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}let A=_.clone();o?u.mat4.fromScaling(m,[-1,1,-1]):u.mat4.identity(m);let z=300*f.profile.dataWidth/320;b[0]=z,b[1]=z,b[2]=.5*f.profile.dataWidth,b[3]=.5*f.profile.dataHeight;const T={token:v,d:A,p:i,t:"videoFrameS2C",userFacing:o,uvTransform:k,w:x,h:E,cameraToDevice:m,cameraModel:b,source:c};t.messageManager.postOutgoingMessage(T,[T.d,T.uvTransform.buffer]);const R=s._pipeline_by_instance.get(i);R&&(r.pipeline_camera_frame_submit_raw_pointer(R,d,w,g(_.format),y,M,v,m,l,b,o),r.pipeline_frame_update(R),s.exploreState()),_.close()}}))}(r,e,o.s,o.p,o.userFacing,a,o.source);break}case"cameraToScreenC2S":l=i.r;break;case"imageBitmapC2S":{let r=i;_.handleImageBitmap(r,e,a,t.messageManager);break}}})}})}))};let d=0,p=0,h=1;const m=u.mat4.create(),b=new Float32Array([300,300,160,120,0,0]);function g(e){switch(e){case"I420":return c.frame_pixel_format_t.FRAME_PIXEL_FORMAT_I420;case"I420A":return c.frame_pixel_format_t.FRAME_PIXEL_FORMAT_I420A;case"I422":return c.frame_pixel_format_t.FRAME_PIXEL_FORMAT_I422;case"I444":return c.frame_pixel_format_t.FRAME_PIXEL_FORMAT_I444;case"NV12":return c.frame_pixel_format_t.FRAME_PIXEL_FORMAT_NV12;case"RGBA":case"RGBX":return c.frame_pixel_format_t.FRAME_PIXEL_FORMAT_RGBA;case"BGRA":case"BGRX":return c.frame_pixel_format_t.FRAME_PIXEL_FORMAT_BGRA}return c.frame_pixel_format_t.FRAME_PIXEL_FORMAT_Y}},function(e,t,r){"use strict";r.r(t),function(e){var r,n=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(t){var n,a,i;t=t||{},n||(n=void 0!==t?t:{}),n.ready=new Promise((function(e,t){a=e,i=t}));var o,s={};for(o in n)n.hasOwnProperty(o)&&(s[o]=n[o]);var u="./this.program";function c(e,t){throw t}var _,f="";f=self.location.href,r&&(f=r),f=0!==f.indexOf("blob:")?f.substr(0,f.lastIndexOf("/")+1):"",_=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)};var l,d,p,h=n.print||console.log.bind(console),m=n.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(n[o]=s[o]);s=null,n.thisProgram&&(u=n.thisProgram),n.quit&&(c=n.quit),n.wasmBinary&&(d=n.wasmBinary),n.noExitRuntime&&(p=n.noExitRuntime),"object"!=typeof WebAssembly&&K("no native wasm support detected");var b,g=!1;function w(e,t){e||K("Assertion failed: "+t)}function v(e){var t=n["_"+e];return w(t,"Cannot call unknown function "+e+", make sure it is exported"),t}function y(e,t,r,n){var a,i={string:function(e){var t=0;if(null!=e&&0!==e){var r=1+(e.length<<2);t=vr(r),S(e,x,t,r)}return t},array:function(e){var t=vr(e.length);return k.set(e,t),t}},o=v(e),s=[];if(e=0,n)for(var u=0;u<n.length;u++){var c=i[r[u]];c?(0===e&&(e=gr()),s[u]=c(n[u])):s[u]=n[u]}return r=o.apply(null,s),a=r,r="string"===t?L(a):"boolean"===t?!!a:a,0!==e&&wr(e),r}var M,k,x,E,A,z,T,R,F,O="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function P(e,t,r){var n=t+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.subarray&&O)return O.decode(e.subarray(t,r));for(n="";t<r;){var a=e[t++];if(128&a){var i=63&e[t++];if(192==(224&a))n+=String.fromCharCode((31&a)<<6|i);else{var o=63&e[t++];65536>(a=224==(240&a)?(15&a)<<12|i<<6|o:(7&a)<<18|i<<12|o<<6|63&e[t++])?n+=String.fromCharCode(a):(a-=65536,n+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else n+=String.fromCharCode(a)}return n}function L(e,t){return e?P(x,e,t):""}function S(e,t,r,n){if(!(0<n))return 0;var a=r;n=r+n-1;for(var i=0;i<e.length;++i){var o=e.charCodeAt(i);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++i)),127>=o){if(r>=n)break;t[r++]=o}else{if(2047>=o){if(r+1>=n)break;t[r++]=192|o>>6}else{if(65535>=o){if(r+2>=n)break;t[r++]=224|o>>12}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63}t[r++]=128|o>>6&63}t[r++]=128|63&o}}return t[r]=0,r-a}function I(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);55296<=n&&57343>=n&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),127>=n?++t:t=2047>=n?t+2:65535>=n?t+3:t+4}return t}function D(e){var t=I(e)+1,r=lr(t);return r&&S(e,k,r,t),r}function B(e,t){for(var r=0;r<e.length;++r)k[t++>>0]=e.charCodeAt(r);k[t>>0]=0}function C(){var e=b.buffer;M=e,n.HEAP8=k=new Int8Array(e),n.HEAP16=E=new Int16Array(e),n.HEAP32=z=new Int32Array(e),n.HEAPU8=x=new Uint8Array(e),n.HEAPU16=A=new Uint16Array(e),n.HEAPU32=T=new Uint32Array(e),n.HEAPF32=R=new Float32Array(e),n.HEAPF64=F=new Float64Array(e)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var U,V=[],q=[],N=[],j=[];function W(){var e=n.preRun.shift();V.unshift(e)}var H=0,G=null,X=null;function Y(){H++,n.monitorRunDependencies&&n.monitorRunDependencies(H)}function Z(){if(H--,n.monitorRunDependencies&&n.monitorRunDependencies(H),0==H&&(null!==G&&(clearInterval(G),G=null),X)){var e=X;X=null,e()}}function K(e){throw n.onAbort&&n.onAbort(e),m(e),g=!0,e=new WebAssembly.RuntimeError("abort("+e+"). Build with -s ASSERTIONS=1 for more info."),i(e),e}n.preloadedImages={},n.preloadedAudios={};var J="zcv.wasm";if(String.prototype.startsWith?!J.startsWith("data:application/octet-stream;base64,"):0!==J.indexOf("data:application/octet-stream;base64,")){var $=J;J=n.locateFile?n.locateFile($,f):f+$}var Q,ee,te,re={26547:function(){if(self.crypto&&self.crypto.getRandomValues){var e=new Uint32Array(1);return self.crypto.getRandomValues(e),e[0]}return 9007199254740991*Math.random()},301725:function(e,t){self.send_ba_request(x.subarray(e,e+t))}};function ne(e){for(;0<e.length;){var t=e.shift();if("function"==typeof t)t(n);else{var r=t.da;"number"==typeof r?void 0===t.L?U.get(r)():U.get(r)(t.L):r(void 0===t.L?null:t.L)}}}function ae(e,t){if(0===e)e=Date.now();else{if(1!==e&&4!==e)return z[dr()>>2]=28,-1;e=te()}return z[t>>2]=e/1e3|0,z[t+4>>2]=e%1e3*1e6|0,0}function ie(e){this.D=e-16,this.Ia=function(e){z[this.D+8>>2]=e},this.Fa=function(e){z[this.D+0>>2]=e},this.Ga=function(){z[this.D+4>>2]=0},this.Ea=function(){k[this.D+12>>0]=0},this.Ha=function(){k[this.D+13>>0]=0},this.ua=function(e,t){this.Ia(e),this.Fa(t),this.Ga(),this.Ea(),this.Ha()}}function oe(e,t){for(var r=0,n=e.length-1;0<=n;n--){var a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e}function se(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=oe(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e}function ue(e){var t=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&(t=t.substr(0,t.length-1)),e+t):"."}function ce(e){if("/"===e)return"/";var t=(e=(e=se(e)).replace(/\\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)}function _e(){for(var e="",t=!1,r=arguments.length-1;-1<=r&&!t;r--){if("string"!=typeof(t=0<=r?arguments[r]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!t)return"";e=t+"/"+e,t="/"===t.charAt(0)}return(t?"/":"")+(e=oe(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."}te=function(){return performance.now()};var fe=[];function le(e,t){fe[e]={input:[],j:[],C:t},Ce(e,de)}var de={open:function(e){var t=fe[e.node.I];if(!t)throw new xe(43);e.h=t,e.seekable=!1},close:function(e){e.h.C.flush(e.h)},flush:function(e){e.h.C.flush(e.h)},read:function(e,t,r,n){if(!e.h||!e.h.C.ea)throw new xe(60);for(var a=0,i=0;i<n;i++){try{var o=e.h.C.ea(e.h)}catch(e){throw new xe(29)}if(void 0===o&&0===a)throw new xe(6);if(null==o)break;a++,t[r+i]=o}return a&&(e.node.timestamp=Date.now()),a},write:function(e,t,r,n){if(!e.h||!e.h.C.Y)throw new xe(60);try{for(var a=0;a<n;a++)e.h.C.Y(e.h,t[r+a])}catch(e){throw new xe(29)}return n&&(e.node.timestamp=Date.now()),a}},pe={ea:function(e){if(!e.input.length){var t=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\\n"),!t)return null;e.input=sr(t,!0)}return e.input.shift()},Y:function(e,t){null===t||10===t?(h(P(e.j,0)),e.j=[]):0!=t&&e.j.push(t)},flush:function(e){e.j&&0<e.j.length&&(h(P(e.j,0)),e.j=[])}},he={Y:function(e,t){null===t||10===t?(m(P(e.j,0)),e.j=[]):0!=t&&e.j.push(t)},flush:function(e){e.j&&0<e.j.length&&(m(P(e.j,0)),e.j=[])}},me={o:null,u:function(){return me.createNode(null,"/",16895,0)},createNode:function(e,t,r,n){if(24576==(61440&r)||4096==(61440&r))throw new xe(63);return me.o||(me.o={dir:{node:{m:me.c.m,s:me.c.s,G:me.c.G,M:me.c.M,ka:me.c.ka,S:me.c.S,la:me.c.la,ja:me.c.ja,N:me.c.N},stream:{A:me.f.A}},file:{node:{m:me.c.m,s:me.c.s},stream:{A:me.f.A,read:me.f.read,write:me.f.write,$:me.f.$,fa:me.f.fa,ha:me.f.ha}},link:{node:{m:me.c.m,s:me.c.s,J:me.c.J},stream:{}},aa:{node:{m:me.c.m,s:me.c.s},stream:Be}}),16384==(61440&(r=Fe(e,t,r,n)).mode)?(r.c=me.o.dir.node,r.f=me.o.dir.stream,r.b={}):32768==(61440&r.mode)?(r.c=me.o.file.node,r.f=me.o.file.stream,r.g=0,r.b=null):40960==(61440&r.mode)?(r.c=me.o.link.node,r.f=me.o.link.stream):8192==(61440&r.mode)&&(r.c=me.o.aa.node,r.f=me.o.aa.stream),r.timestamp=Date.now(),e&&(e.b[t]=r),r},Va:function(e){if(e.b&&e.b.subarray){for(var t=[],r=0;r<e.g;++r)t.push(e.b[r]);return t}return e.b},Wa:function(e){return e.b?e.b.subarray?e.b.subarray(0,e.g):new Uint8Array(e.b):new Uint8Array(0)},ba:function(e,t){var r=e.b?e.b.length:0;r>=t||(t=Math.max(t,r*(1048576>r?2:1.125)>>>0),0!=r&&(t=Math.max(t,256)),r=e.b,e.b=new Uint8Array(t),0<e.g&&e.b.set(r.subarray(0,e.g),0))},Ca:function(e,t){if(e.g!=t)if(0==t)e.b=null,e.g=0;else{if(!e.b||e.b.subarray){var r=e.b;e.b=new Uint8Array(t),r&&e.b.set(r.subarray(0,Math.min(t,e.g)))}else if(e.b||(e.b=[]),e.b.length>t)e.b.length=t;else for(;e.b.length<t;)e.b.push(0);e.g=t}},c:{m:function(e){var t={};return t.qa=8192==(61440&e.mode)?e.id:1,t.X=e.id,t.mode=e.mode,t.Aa=1,t.uid=0,t.sa=0,t.I=e.I,16384==(61440&e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.g:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.ma=new Date(e.timestamp),t.za=new Date(e.timestamp),t.pa=new Date(e.timestamp),t.na=4096,t.oa=Math.ceil(t.size/t.na),t},s:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&me.Ca(e,t.size)},G:function(){throw Ee[44]},M:function(e,t,r,n){return me.createNode(e,t,r,n)},ka:function(e,t,r){if(16384==(61440&e.mode)){try{var n=Re(t,r)}catch(e){}if(n)for(var a in n.b)throw new xe(55)}delete e.parent.b[e.name],e.name=r,t.b[r]=e,e.parent=t},S:function(e,t){delete e.b[t]},la:function(e,t){var r,n=Re(e,t);for(r in n.b)throw new xe(55);delete e.b[t]},ja:function(e){var t,r=[".",".."];for(t in e.b)e.b.hasOwnProperty(t)&&r.push(t);return r},N:function(e,t,r){return(e=me.createNode(e,t,41471,0)).link=r,e},J:function(e){if(40960!=(61440&e.mode))throw new xe(28);return e.link}},f:{read:function(e,t,r,n,a){var i=e.node.b;if(a>=e.node.g)return 0;if(8<(e=Math.min(e.node.g-a,n))&&i.subarray)t.set(i.subarray(a,a+e),r);else for(n=0;n<e;n++)t[r+n]=i[a+n];return e},write:function(e,t,r,n,a,i){if(t.buffer===k.buffer&&(i=!1),!n)return 0;if((e=e.node).timestamp=Date.now(),t.subarray&&(!e.b||e.b.subarray)){if(i)return e.b=t.subarray(r,r+n),e.g=n;if(0===e.g&&0===a)return e.b=t.slice(r,r+n),e.g=n;if(a+n<=e.g)return e.b.set(t.subarray(r,r+n),a),n}if(me.ba(e,a+n),e.b.subarray&&t.subarray)e.b.set(t.subarray(r,r+n),a);else for(i=0;i<n;i++)e.b[a+i]=t[r+i];return e.g=Math.max(e.g,a+n),n},A:function(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.g),0>t)throw new xe(28);return t},$:function(e,t,r){me.ba(e.node,t+r),e.node.g=Math.max(e.node.g,t+r)},fa:function(e,t,r,n,a,i){if(w(0===t),32768!=(61440&e.node.mode))throw new xe(43);if(e=e.node.b,2&i||e.buffer!==M){for((0<n||n+r<e.length)&&(e=e.subarray?e.subarray(n,n+r):Array.prototype.slice.call(e,n,n+r)),n=!0,i=16384*Math.ceil(r/16384),t=lr(i);r<i;)k[t+r++]=0;if(!(r=t))throw new xe(48);k.set(e,r)}else n=!1,r=e.byteOffset;return{D:r,Qa:n}},ha:function(e,t,r,n,a){if(32768!=(61440&e.node.mode))throw new xe(43);return 2&a||me.f.write(e,t,0,n,r,!1),0}}},be=null,ge={},we=[],ve=1,ye=null,Me=!0,ke={},xe=null,Ee={};function Ae(e,t){if(t=t||{},!(e=_e("/",e)))return{path:"",node:null};var r,n={ca:!0,Z:0};for(r in n)void 0===t[r]&&(t[r]=n[r]);if(8<t.Z)throw new xe(32);e=oe(e.split("/").filter((function(e){return!!e})),!1);var a=be;for(n="/",r=0;r<e.length;r++){var i=r===e.length-1;if(i&&t.parent)break;if(a=Re(a,e[r]),n=se(n+"/"+e[r]),a.H&&(!i||i&&t.ca)&&(a=a.H.root),!i||t.V)for(i=0;40960==(61440&a.mode);)if(a=We(n),a=Ae(n=_e(ue(n),a),{Z:t.Z}).node,40<i++)throw new xe(32)}return{path:n,node:a}}function ze(e){for(var t;;){if(e===e.parent)return e=e.u.ga,t?"/"!==e[e.length-1]?e+"/"+t:e+t:e;t=t?e.name+"/"+t:e.name,e=e.parent}}function Te(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%ye.length}function Re(e,t){var r;if(r=(r=Le(e,"x"))?r:e.c.G?0:2)throw new xe(r,e);for(r=ye[Te(e.id,t)];r;r=r.B){var n=r.name;if(r.parent.id===e.id&&n===t)return r}return e.c.G(e,t)}function Fe(e,t,r,n){return t=Te((e=new or(e,t,r,n)).parent.id,e.name),e.B=ye[t],ye[t]=e}var Oe={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090};function Pe(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function Le(e,t){return Me||(-1===t.indexOf("r")||292&e.mode)&&(-1===t.indexOf("w")||146&e.mode)&&(-1===t.indexOf("x")||73&e.mode)?0:2}function Se(e,t){try{return Re(e,t),20}catch(e){}return Le(e,"wx")}function Ie(e,t){$e||(($e=function(){}).prototype={});var r,n=new $e;for(r in e)n[r]=e[r];return e=n,t=function(e){for(e=e||0;e<=4096;e++)if(!we[e])return e;throw new xe(33)}(t),e.v=t,we[t]=e}var De,Be={open:function(e){e.f=ge[e.node.I].f,e.f.open&&e.f.open(e)},A:function(){throw new xe(70)}};function Ce(e,t){ge[e]={f:t}}function Ue(e,t){var r="/"===t,n=!t;if(r&&be)throw new xe(10);if(!r&&!n){var a=Ae(t,{ca:!1});if(t=a.path,(a=a.node).H)throw new xe(10);if(16384!=(61440&a.mode))throw new xe(54)}t={type:e,$a:{},ga:t,ya:[]},(e=e.u(t)).u=t,t.root=e,r?be=e:a&&(a.H=t,a.u&&a.u.ya.push(t))}function Ve(e,t,r){var n=Ae(e,{parent:!0}).node;if(!(e=ce(e))||"."===e||".."===e)throw new xe(28);var a=Se(n,e);if(a)throw new xe(a);if(!n.c.M)throw new xe(63);return n.c.M(n,e,t,r)}function qe(e){Ve(e,16895,0)}function Ne(e,t,r){void 0===r&&(r=t,t=438),Ve(e,8192|t,r)}function je(e,t){if(!_e(e))throw new xe(44);var r=Ae(t,{parent:!0}).node;if(!r)throw new xe(44);var n=Se(r,t=ce(t));if(n)throw new xe(n);if(!r.c.N)throw new xe(63);r.c.N(r,t,e)}function We(e){if(!(e=Ae(e).node))throw new xe(44);if(!e.c.J)throw new xe(28);return _e(ze(e.parent),e.c.J(e))}function He(e,t){if(!(e=Ae(e,{V:!t}).node))throw new xe(44);if(!e.c.m)throw new xe(63);return e.c.m(e)}function Ge(e){return He(e,!0)}function Xe(e,t,r,a){if(""===e)throw new xe(44);if("string"==typeof t){var i=Oe[t];if(void 0===i)throw Error("Unknown file open mode: "+t);t=i}if(r=64&t?4095&(void 0===r?438:r)|32768:0,"object"==typeof e)var o=e;else{e=se(e);try{o=Ae(e,{V:!(131072&t)}).node}catch(e){}}if(i=!1,64&t)if(o){if(128&t)throw new xe(20)}else o=Ve(e,r,0),i=!0;if(!o)throw new xe(44);if(8192==(61440&o.mode)&&(t&=-513),65536&t&&16384!=(61440&o.mode))throw new xe(54);if(!i&&(r=o?40960==(61440&o.mode)?32:16384==(61440&o.mode)&&("r"!==Pe(t)||512&t)?31:Le(o,Pe(t)):44))throw new xe(r);if(512&t){var s;if(!(s="string"==typeof(r=o)?Ae(r,{V:!0}).node:r).c.s)throw new xe(63);if(16384==(61440&s.mode))throw new xe(31);if(32768!=(61440&s.mode))throw new xe(28);if(r=Le(s,"w"))throw new xe(r);s.c.s(s,{size:0,timestamp:Date.now()})}t&=-131713,(a=Ie({node:o,path:ze(o),flags:t,seekable:!0,position:0,f:o.f,Na:[],error:!1},a)).f.open&&a.f.open(a),!n.logReadFiles||1&t||(Qe||(Qe={}),e in Qe||(Qe[e]=1,m("FS.trackingDelegate error on read file: "+e)));try{ke.onOpenFile&&(o=0,1!=(2097155&t)&&(o|=1),0!=(2097155&t)&&(o|=2),ke.onOpenFile(e,o))}catch(t){m("FS.trackingDelegate[\'onOpenFile\'](\'"+e+"\', flags) threw an exception: "+t.message)}return a}function Ye(e,t,r){if(null===e.v)throw new xe(8);if(!e.seekable||!e.f.A)throw new xe(70);if(0!=r&&1!=r&&2!=r)throw new xe(28);e.position=e.f.A(e,t,r),e.Na=[]}function Ze(){xe||((xe=function(e,t){this.node=t,this.Da=function(e){this.i=e},this.Da(e),this.message="FS error"}).prototype=Error(),xe.prototype.constructor=xe,[44].forEach((function(e){Ee[e]=new xe(e),Ee[e].stack="<generic error, no stack>"})))}function Ke(e,t,r){e=se("/dev/"+e);var n=function(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}(!!t,!!r);Je||(Je=64);var a=Je++<<8|0;Ce(a,{open:function(e){e.seekable=!1},close:function(){r&&r.buffer&&r.buffer.length&&r(10)},read:function(e,r,n,a){for(var i=0,o=0;o<a;o++){try{var s=t()}catch(e){throw new xe(29)}if(void 0===s&&0===i)throw new xe(6);if(null==s)break;i++,r[n+o]=s}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,n,a){for(var i=0;i<a;i++)try{r(t[n+i])}catch(e){throw new xe(29)}return a&&(e.node.timestamp=Date.now()),i}}),Ne(e,n,a)}var Je,$e,Qe,et={};function tt(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&se(t)!==se(ze(e.node)))return-54;throw e}return z[r>>2]=n.qa,z[r+4>>2]=0,z[r+8>>2]=n.X,z[r+12>>2]=n.mode,z[r+16>>2]=n.Aa,z[r+20>>2]=n.uid,z[r+24>>2]=n.sa,z[r+28>>2]=n.I,z[r+32>>2]=0,ee=[n.size>>>0,(Q=n.size,1<=+Math.abs(Q)?0<Q?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],z[r+40>>2]=ee[0],z[r+44>>2]=ee[1],z[r+48>>2]=4096,z[r+52>>2]=n.oa,z[r+56>>2]=n.ma.getTime()/1e3|0,z[r+60>>2]=0,z[r+64>>2]=n.za.getTime()/1e3|0,z[r+68>>2]=0,z[r+72>>2]=n.pa.getTime()/1e3|0,z[r+76>>2]=0,ee=[n.X>>>0,(Q=n.X,1<=+Math.abs(Q)?0<Q?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],z[r+80>>2]=ee[0],z[r+84>>2]=ee[1],0}var rt=void 0;function nt(){return z[(rt+=4)-4>>2]}function at(e){if(!(e=we[e]))throw new xe(8);return e}var it,ot,st,ut=null,ct=0,_t=null,ft=0,lt=0,dt=0,pt=[],ht={},mt=!1,bt=!1,gt=[];function wt(){function e(){bt=document.pointerLockElement===n.canvas||document.mozPointerLockElement===n.canvas||document.webkitPointerLockElement===n.canvas||document.msPointerLockElement===n.canvas}if(n.preloadPlugins||(n.preloadPlugins=[]),!Rt){Rt=!0;try{Ft=!0}catch(e){Ft=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Ot="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Ft?null:console.log("warning: no BlobBuilder"),Pt="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,n.ia||void 0!==Pt||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.ia=!0),n.preloadPlugins.push({canHandle:function(e){return!n.ia&&/\\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,r,a){var i=null;if(Ft)try{(i=new Blob([e],{type:Tt(t)})).size!==e.length&&(i=new Blob([new Uint8Array(e).buffer],{type:Tt(t)}))}catch(e){!function(e){l||(l={}),l[e]||(l[e]=1,m(e))}("Blob constructor present but fails: "+e+"; falling back to blob builder")}i||((i=new Ot).append(new Uint8Array(e).buffer),i=i.getBlob());var o=Pt.createObjectURL(i),s=new Image;s.onload=function(){w(s.complete,"Image "+t+" could not be decoded");var a=document.createElement("canvas");a.width=s.width,a.height=s.height,a.getContext("2d").drawImage(s,0,0),n.preloadedImages[t]=a,Pt.revokeObjectURL(o),r&&r(e)},s.onerror=function(){console.log("Image "+o+" could not be decoded"),a&&a()},s.src=o}}),n.preloadPlugins.push({canHandle:function(e){return!n.Za&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,r,a){function i(a){s||(s=!0,n.preloadedAudios[t]=a,r&&r(e))}function o(){s||(s=!0,n.preloadedAudios[t]=new Audio,a&&a())}var s=!1;if(!Ft)return o();try{var u=new Blob([e],{type:Tt(t)})}catch(e){return o()}u=Pt.createObjectURL(u);var c=new Audio;c.addEventListener("canplaythrough",(function(){i(c)}),!1),c.onerror=function(){if(!s){console.log("warning: browser could not fully decode audio "+t+", trying slower base64 approach");for(var r="",n=0,a=0,o=0;o<e.length;o++)for(n=n<<8|e[o],a+=8;6<=a;){var u=n>>a-6&63;a-=6,r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[u]}2==a?(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(3&n)<<4],r+="=="):4==a&&(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(15&n)<<2],r+="="),c.src="data:audio/x-"+t.substr(-3)+";base64,"+r,i(c)}},c.src=u,zt((function(){i(c)}),1e4)}});var t=n.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||function(){},t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},t.exitPointerLock=t.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",e,!1),document.addEventListener("mozpointerlockchange",e,!1),document.addEventListener("webkitpointerlockchange",e,!1),document.addEventListener("mspointerlockchange",e,!1),n.elementPointerLock&&t.addEventListener("click",(function(e){!bt&&n.canvas.requestPointerLock&&(n.canvas.requestPointerLock(),e.preventDefault())}),!1))}}function vt(e,t,r,a){if(t&&n.U&&e==n.canvas)return n.U;var i;if(t){var o={antialias:!1,alpha:!1,xa:1};if(a)for(var s in a)o[s]=a[s];if(void 0!==$t&&(i=function(e,t){if(e=e.getContext("webgl",t)){var r=Yt(Xt),n={Xa:r,attributes:t,version:t.xa,T:e};e.canvas&&(e.canvas.Pa=n),Xt[r]=n,(void 0===t.ra||t.ra)&&function(e){if(e||(e=Kt),!e.va){e.va=!0;var t=e.T;!function(e){var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,n,a){t.drawArraysInstancedANGLE(e,r,n,a)},e.drawElementsInstanced=function(e,r,n,a,i){t.drawElementsInstancedANGLE(e,r,n,a,i)})}(t),function(e){var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)})}(t),function(e){var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)})}(t),t.Ta=t.getExtension("EXT_disjoint_timer_query"),t.Ya=t.getExtension("WEBGL_multi_draw"),(t.getSupportedExtensions()||[]).forEach((function(e){0>e.indexOf("lose_context")&&0>e.indexOf("debug")&&t.getExtension(e)}))}}(n),t=r}else t=0;return t}(e,o)))var u=Xt[i].T}else u=e.getContext("2d");return u?(r&&(t||w(void 0===ar,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.U=u,t&&(Kt=Xt[i],n.U=ar=Kt&&Kt.T),n.bb=t,gt.forEach((function(e){e()})),wt()),u):null}var yt=!1,Mt=void 0,kt=void 0;function xt(){return!!mt&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)}var Et=0;function At(e){if("function"==typeof requestAnimationFrame)requestAnimationFrame(e);else{var t=Date.now();if(0===Et)Et=t+1e3/60;else for(;t+2>=Et;)Et+=1e3/60;setTimeout(e,Math.max(Et-t,0))}}function zt(e,t){p=!0,setTimeout((function(){g||e()}),t)}function Tt(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]}var Rt,Ft,Ot,Pt,Lt=[];function St(){var e=n.canvas;Lt.forEach((function(t){t(e.width,e.height)}))}function It(e,t,r){t&&r?(e.Oa=t,e.ta=r):(t=e.Oa,r=e.ta);var a=t,i=r;if(n.forcedAspectRatio&&0<n.forcedAspectRatio&&(a/i<n.forcedAspectRatio?a=Math.round(i*n.forcedAspectRatio):i=Math.round(a/n.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var o=Math.min(screen.width/a,screen.height/i);a=Math.round(a*o),i=Math.round(i*o)}kt?(e.width!=a&&(e.width=a),e.height!=i&&(e.height=i),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(a!=t||i!=r?(e.style.setProperty("width",a+"px","important"),e.style.setProperty("height",i+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}function Dt(){return!1}n._emscripten_is_main_browser_thread=Dt;var Bt,Ct=[];function Ut(e,t){T[e>>2]=t,T[e+4>>2]=t/4294967296|0}function Vt(e,t,r,n,a){function i(t){var r=0,n=0;t&&(n=v.response?v.response.byteLength:0,r=lr(n),x.set(new Uint8Array(v.response),r)),T[e+12>>2]=r,Ut(e+16,n)}var o=T[e+8>>2];if(o){var s=L(o),u=e+112,c=L(u);c||(c="GET");var _=T[u+52>>2],f=T[u+56>>2],l=!!T[u+60>>2],d=T[u+68>>2],p=T[u+72>>2];o=T[u+76>>2];var h=T[u+80>>2],m=T[u+84>>2];u=T[u+88>>2];var b=!!(1&_),g=!!(2&_);_=!!(64&_),d=d?L(d):void 0,p=p?L(p):void 0;var w=h?L(h):void 0,v=new XMLHttpRequest;if(v.withCredentials=l,v.open(c,s,!_,d,p),_||(v.timeout=f),v.Ra=s,v.responseType="arraybuffer",h&&v.overrideMimeType(w),o)for(;(c=T[o>>2])&&(s=T[o+4>>2]);)o+=8,c=L(c),s=L(s),v.setRequestHeader(c,s);Ct.push(v),T[e+0>>2]=Ct.length,o=m&&u?x.slice(m,m+u):null,v.onload=function(n){i(b&&!g);var a=v.response?v.response.byteLength:0;Ut(e+24,0),a&&Ut(e+32,a),A[e+40>>1]=v.readyState,A[e+42>>1]=v.status,v.statusText&&S(v.statusText,x,e+44,64),200<=v.status&&300>v.status?t&&t(e,v,n):r&&r(e,v,n)},v.onerror=function(t){i(b);var n=v.status;Ut(e+24,0),Ut(e+32,v.response?v.response.byteLength:0),A[e+40>>1]=v.readyState,A[e+42>>1]=n,r&&r(e,v,t)},v.ontimeout=function(t){r&&r(e,v,t)},v.onprogress=function(t){var r=b&&g&&v.response?v.response.byteLength:0,a=0;b&&g&&(a=lr(r),x.set(new Uint8Array(v.response),a)),T[e+12>>2]=a,Ut(e+16,r),Ut(e+24,t.loaded-r),Ut(e+32,t.total),A[e+40>>1]=v.readyState,3<=v.readyState&&0===v.status&&0<t.loaded&&(v.status=200),A[e+42>>1]=v.status,v.statusText&&S(v.statusText,x,e+44,64),n&&n(e,v,t),a&&fr(a)},v.onreadystatechange=function(t){A[e+40>>1]=v.readyState,2<=v.readyState&&(A[e+42>>1]=v.status),a&&a(e,v,t)};try{v.send(o)}catch(t){r&&r(e,v,t)}}else r(e,0,"no url specified!")}function qt(e,t,r,n){var a=Bt;if(a){var i=T[e+112+64>>2];i||(i=T[e+8>>2]);var o=L(i);try{var s=a.transaction(["FILES"],"readwrite").objectStore("FILES").put(t,o);s.onsuccess=function(){A[e+40>>1]=4,A[e+42>>1]=200,S("OK",x,e+44,64),r(e,0,o)},s.onerror=function(t){A[e+40>>1]=4,A[e+42>>1]=413,S("Payload Too Large",x,e+44,64),n(e,0,t)}}catch(t){n(e,0,t)}}else n(e,0,"IndexedDB not available!")}var Nt,jt={};function Wt(){if(!Nt){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(e in jt)t[e]=jt[e];var r=[];for(e in t)r.push(e+"="+t[e]);Nt=r}return Nt}var Ht=1,Gt=[],Xt=[];function Yt(e){for(var t=Ht++,r=e.length;r<t;r++)e[r]=null;return t}var Zt,Kt,Jt,$t={};function Qt(e){return 0==e%4&&(0!=e%100||0==e%400)}function er(e,t){for(var r=0,n=0;n<=t;r+=e[n++]);return r}var tr=[31,29,31,30,31,30,31,31,30,31,30,31],rr=[31,28,31,30,31,30,31,31,30,31,30,31];function nr(e,t){for(e=new Date(e.getTime());0<t;){var r=e.getMonth(),n=(Qt(e.getFullYear())?tr:rr)[r];if(!(t>n-e.getDate())){e.setDate(e.getDate()+t);break}t-=n-e.getDate()+1,e.setDate(1),11>r?e.setMonth(r+1):(e.setMonth(0),e.setFullYear(e.getFullYear()+1))}return e}var ar,ir=[];function or(e,t,r,n){e||(e=this),this.parent=e,this.u=e.u,this.H=null,this.id=ve++,this.name=t,this.mode=r,this.c={},this.f={},this.I=n}function sr(e,t){var r=Array(I(e)+1);return e=S(e,r,0,r.length),t&&(r.length=e),r}Object.defineProperties(or.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}}}),Ze(),ye=Array(4096),Ue(me,"/"),qe("/tmp"),qe("/home"),qe("/home/web_user"),function(){qe("/dev"),Ce(259,{read:function(){return 0},write:function(e,t,r,n){return n}}),Ne("/dev/null",259),le(1280,pe),le(1536,he),Ne("/dev/tty",1280),Ne("/dev/tty1",1536);var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){K("randomDevice")}}();Ke("random",e),Ke("urandom",e),qe("/dev/shm"),qe("/dev/shm/tmp")}(),qe("/proc"),qe("/proc/self"),qe("/proc/self/fd"),Ue({u:function(){var e=Fe("/proc/self","fd",16895,73);return e.c={G:function(e,t){var r=we[+t];if(!r)throw new xe(8);return(e={parent:null,u:{ga:"fake"},c:{J:function(){return r.path}}}).parent=e}},e}},"/proc/self/fd"),n.requestFullscreen=function(e,t){!function(e,t){function r(){mt=!1;var e=a.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(a.exitFullscreen=xt,Mt&&a.requestPointerLock(),mt=!0,kt?("undefined"!=typeof SDL&&(z[SDL.screen>>2]=8388608|T[SDL.screen>>2]),It(n.canvas),St()):It(a)):(e.parentNode.insertBefore(a,e),e.parentNode.removeChild(e),kt?("undefined"!=typeof SDL&&(z[SDL.screen>>2]=-8388609&T[SDL.screen>>2]),It(n.canvas),St()):It(a)),n.onFullScreen&&n.onFullScreen(mt),n.onFullscreen&&n.onFullscreen(mt)}void 0===(Mt=e)&&(Mt=!0),void 0===(kt=t)&&(kt=!1);var a=n.canvas;yt||(yt=!0,document.addEventListener("fullscreenchange",r,!1),document.addEventListener("mozfullscreenchange",r,!1),document.addEventListener("webkitfullscreenchange",r,!1),document.addEventListener("MSFullscreenChange",r,!1));var i=document.createElement("div");a.parentNode.insertBefore(i,a),i.appendChild(a),i.requestFullscreen=i.requestFullscreen||i.mozRequestFullScreen||i.msRequestFullscreen||(i.webkitRequestFullscreen?function(){i.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(i.webkitRequestFullScreen?function(){i.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),i.requestFullscreen()}(e,t)},n.requestAnimationFrame=function(e){At(e)},n.setCanvasSize=function(e,t,r){It(n.canvas,e,t),r||St()},n.pauseMainLoop=function(){ut=null,ct++},n.resumeMainLoop=function(){ct++;var t=ft,r=lt,a=_t;_t=null,function(e){p=!0,w(!_t,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),_t=e;var t=ct;ot=function(){if(!g)if(0<pt.length){var r=Date.now(),a=pt.shift();if(a.da(a.L),st){var i=st,o=0==i%1?i-1:Math.floor(i);st=a.Sa?o:(8*i+(o+.5))/9}console.log(\'main loop blocker "\'+a.name+\'" took \'+(Date.now()-r)+" ms"),n.setStatus&&(r=n.statusMessage||"Please wait...",a=st,i=ht.Ua,a?a<i?n.setStatus(r+" ("+(i-a)+"/"+i+")"):n.setStatus(r):n.setStatus("")),t<ct||setTimeout(ot,0)}else if(!(t<ct))if(dt=dt+1|0,1==ft&&1<lt&&0!=dt%lt)ut();else{0==ft&&(it=te());e:if(!(g||n.preMainLoop&&!1===n.preMainLoop())){try{e()}catch(e){if(e instanceof yr||"unwind"==e)break e;throw e&&"object"==typeof e&&e.stack&&m("exception thrown: "+[e,e.stack]),e}n.postMainLoop&&n.postMainLoop()}t<ct||("object"==typeof SDL&&SDL.audio&&SDL.audio.Ba&&SDL.audio.Ba(),ut())}}}(a),function(t,r){if(ft=t,lt=r,_t)if(0==t)ut=function(){var e=0|Math.max(0,it+r-te());setTimeout(ot,e)};else if(1==t)ut=function(){At(ot)};else if(2==t){if(void 0===e){var a=[];addEventListener("message",(function(e){"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),a.shift()())}),!0),e=function(e){a.push(e),void 0===n.setImmediates&&(n.setImmediates=[]),n.setImmediates.push(e),postMessage({target:"setimmediate"})}}ut=function(){e(ot)}}}(t,r),ut()},n.getUserMedia=function(){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(void 0)},n.createContext=function(e,t,r,n){return vt(e,t,r,n)},function(e,t){try{var r=indexedDB.open("emscripten_filesystem",1)}catch(e){return void t()}r.onupgradeneeded=function(e){(e=e.target.result).objectStoreNames.contains("FILES")&&e.deleteObjectStore("FILES"),e.createObjectStore("FILES")},r.onsuccess=function(e){!function(e){Bt=e,Z()}(e.target.result)},r.onerror=function(e){t()}}(0,(function(){Bt=!1,Z()})),"undefined"!=typeof ENVIRONMENT_IS_FETCH_WORKER&&ENVIRONMENT_IS_FETCH_WORKER||Y(),q.push({da:function(){_r()}});var ur={__clock_gettime:function(e,t){return ae(e,t)},__cxa_allocate_exception:function(e){return lr(e+16)+16},__cxa_atexit:function(){},__cxa_throw:function(e,t,r){throw new ie(e).ua(t,r),e},__sys_fcntl64:function(e,t,r){rt=r;try{var n=at(e);switch(t){case 0:var a=nt();return 0>a?-28:Xe(n.path,n.flags,0,a).v;case 1:case 2:return 0;case 3:return n.flags;case 4:return a=nt(),n.flags|=a,0;case 12:return a=nt(),E[a+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return z[dr()>>2]=28,-1;default:return-28}}catch(e){return void 0!==et&&e instanceof xe||K(e),-e.i}},__sys_getpid:function(){return 42},__sys_ioctl:function(e,t,r){rt=r;try{var n=at(e);switch(t){case 21509:case 21505:return n.h?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return n.h?0:-59;case 21519:if(!n.h)return-59;var a=nt();return z[a>>2]=0;case 21520:return n.h?-28:-59;case 21531:if(e=a=nt(),!n.f.wa)throw new xe(59);return n.f.wa(n,t,e);case 21523:case 21524:return n.h?0:-59;default:K("bad ioctl syscall "+t)}}catch(e){return void 0!==et&&e instanceof xe||K(e),-e.i}},__sys_lstat64:function(e,t){try{return tt(Ge,e=L(e),t)}catch(e){return void 0!==et&&e instanceof xe||K(e),-e.i}},__sys_open:function(e,t,r){rt=r;try{return Xe(L(e),t,r?nt():0).v}catch(e){return void 0!==et&&e instanceof xe||K(e),-e.i}},__sys_stat64:function(e,t){try{return tt(He,e=L(e),t)}catch(e){return void 0!==et&&e instanceof xe||K(e),-e.i}},__sys_symlink:function(e,t){try{return je(e=L(e),t=L(t)),0}catch(e){return void 0!==et&&e instanceof xe||K(e),-e.i}},__sys_uname:function(e){try{if(!e)return-21;var t={__size__:390,domainname:325,machine:260,nodename:65,release:130,sysname:0,version:195};return B("Emscripten",e+t.sysname),B("emscripten",e+t.nodename),B("1.0",e+t.release),B("#1",e+t.version),B("x86-JS",e+t.machine),0}catch(e){return void 0!==et&&e instanceof xe||K(e),-e.i}},__sys_unlink:function(e){try{var t=Ae(e=L(e),{parent:!0}).node,r=ce(e),n=Re(t,r);e:{try{var a=Re(t,r)}catch(e){var i=e.i;break e}var o=Le(t,"wx");i=o||(16384==(61440&a.mode)?31:0)}if(i)throw new xe(i);if(!t.c.S)throw new xe(63);if(n.H)throw new xe(10);try{ke.willDeletePath&&ke.willDeletePath(e)}catch(t){m("FS.trackingDelegate[\'willDeletePath\'](\'"+e+"\') threw an exception: "+t.message)}t.c.S(t,r);var s=Te(n.parent.id,n.name);if(ye[s]===n)ye[s]=n.B;else for(var u=ye[s];u;){if(u.B===n){u.B=n.B;break}u=u.B}try{ke.onDeletePath&&ke.onDeletePath(e)}catch(t){m("FS.trackingDelegate[\'onDeletePath\'](\'"+e+"\') threw an exception: "+t.message)}return 0}catch(e){return void 0!==et&&e instanceof xe||K(e),-e.i}},_emscripten_fetch_free:function(e){delete Ct[e-1]},abort:function(){K()},clock_gettime:ae,emgfx:function(){self.postMessage({t:"gfx"})},emidentity:function(){var e=new URL(location.origin).hostname;if(0===e.length&&(e=new URL(location.href.replace("blob:","")).hostname),/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(e))0===e.indexOf("10.")&&(e="10.*"),0===e.indexOf("192.168.")&&(e="192.168.*"),0===e.indexOf("172.")&&(e="172.*"),0===e.indexOf("127.")&&(e="127.*");else{var t=new RegExp("("+String.fromCharCode(92)+".ngrok"+String.fromCharCode(92)+".io)$","i");t.test(e)&&(e="*.ngrok.io"),(t=new RegExp("("+String.fromCharCode(92)+".arweb"+String.fromCharCode(92)+".app)$","i")).test(e)&&(e="*.arweb.app")}t=I(e)+1;var r=lr(t);return S(e,x,r,t+1),r},emlicerr:function(){self.postMessage({t:"licerr"})},emscripten_asm_const_int:function(e,t,r){var n;for(ir.length=0,r>>=2;n=x[t++];)(n=105>n)&&1&r&&r++,ir.push(n?F[r++>>1]:z[r]),++r;return re[e].apply(null,ir)},emscripten_async_call:function(e,t,r){function n(){U.get(e)(t)}p=!0,0<=r?zt(n,r):function(e){At((function(){g||e()}))}(n)},emscripten_is_main_browser_thread:Dt,emscripten_memcpy_big:function(e,t,r){x.copyWithin(e,t,t+r)},emscripten_resize_heap:function(e){e>>>=0;var t=x.length;if(2147483648<e)return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+100663296),0<(n=Math.max(16777216,e,n))%65536&&(n+=65536-n%65536);e:{try{b.grow(Math.min(2147483648,n)-M.byteLength+65535>>>16),C();var a=1;break e}catch(e){}a=void 0}if(a)return!0}return!1},emscripten_start_fetch:function(e,t,r,n,a){function i(e,r){qt(e,r.response,(function(e){l?U.get(l)(e):t&&t(e)}),(function(e){l?U.get(l)(e):t&&t(e)}))}function o(e){m?U.get(m)(e):a&&a(e)}function s(e){d?U.get(d)(e):r&&r(e)}function u(e){h?U.get(h)(e):n&&n(e)}function c(e){l?U.get(l)(e):t&&t(e)}void 0!==p&&(p=!0);var _=e+112,f=L(_),l=T[_+36>>2],d=T[_+40>>2],h=T[_+44>>2],m=T[_+48>>2],b=T[_+52>>2],g=!!(4&b),w=!!(32&b);if(b=!!(16&b),"EM_IDB_STORE"===f)f=T[_+84>>2],qt(e,x.slice(f,f+T[_+88>>2]),c,s);else if("EM_IDB_DELETE"===f)!function(e,t,r){var n=Bt;if(n){var a=T[e+112+64>>2];a||(a=T[e+8>>2]),a=L(a);try{var i=n.transaction(["FILES"],"readwrite").objectStore("FILES").delete(a);i.onsuccess=function(r){r=r.target.result,T[e+12>>2]=0,Ut(e+16,0),Ut(e+24,0),Ut(e+32,0),A[e+40>>1]=4,A[e+42>>1]=200,S("OK",x,e+44,64),t(e,0,r)},i.onerror=function(t){A[e+40>>1]=4,A[e+42>>1]=404,S("Not Found",x,e+44,64),r(e,0,t)}}catch(t){r(e,0,t)}}else r(e,0,"IndexedDB not available!")}(e,c,s);else if(b){if(w)return 0;Vt(e,g?i:c,s,u,o)}else!function(e,t,r){var n=Bt;if(n){var a=T[e+112+64>>2];a||(a=T[e+8>>2]),a=L(a);try{var i=n.transaction(["FILES"],"readonly").objectStore("FILES").get(a);i.onsuccess=function(n){if(n.target.result){var a=(n=n.target.result).byteLength||n.length,i=lr(a);x.set(new Uint8Array(n),i),T[e+12>>2]=i,Ut(e+16,a),Ut(e+24,0),Ut(e+32,a),A[e+40>>1]=4,A[e+42>>1]=200,S("OK",x,e+44,64),t(e,0,n)}else A[e+40>>1]=4,A[e+42>>1]=404,S("Not Found",x,e+44,64),r(e,0,"no data")},i.onerror=function(t){A[e+40>>1]=4,A[e+42>>1]=404,S("Not Found",x,e+44,64),r(e,0,t)}}catch(t){r(e,0,t)}}else r(e,0,"IndexedDB not available!")}(e,c,w?s:g?function(e){Vt(e,i,s,u,o)}:function(e){Vt(e,c,s,u,o)});return e},emscripten_thread_sleep:function(e){for(var t=te();te()-t<e;);},environ_get:function(e,t){try{var r=0;return Wt().forEach((function(n,a){var i=t+r;z[e+4*a>>2]=i,B(n,i),r+=n.length+1})),0}catch(e){return void 0!==et&&e instanceof xe||K(e),e.i}},environ_sizes_get:function(e,t){try{var r=Wt();z[e>>2]=r.length;var n=0;return r.forEach((function(e){n+=e.length+1})),z[t>>2]=n,0}catch(e){return void 0!==et&&e instanceof xe||K(e),e.i}},exit:function(e){p||(n.onExit&&n.onExit(e),g=!0),c(e,new yr(e))},fd_close:function(e){try{var t=at(e);if(null===t.v)throw new xe(8);t.W&&(t.W=null);try{t.f.close&&t.f.close(t)}catch(e){throw e}finally{we[t.v]=null}return t.v=null,0}catch(e){return void 0!==et&&e instanceof xe||K(e),e.i}},fd_read:function(e,t,r,n){try{e:{for(var a=at(e),i=e=0;i<r;i++){var o=z[t+(8*i+4)>>2],s=a,u=z[t+8*i>>2],c=o,_=void 0,f=k;if(0>c||0>_)throw new xe(28);if(null===s.v)throw new xe(8);if(1==(2097155&s.flags))throw new xe(8);if(16384==(61440&s.node.mode))throw new xe(31);if(!s.f.read)throw new xe(28);var l=void 0!==_;if(l){if(!s.seekable)throw new xe(70)}else _=s.position;var d=s.f.read(s,f,u,c,_);l||(s.position+=d);var p=d;if(0>p){var h=-1;break e}if(e+=p,p<o)break}h=e}return z[n>>2]=h,0}catch(e){return void 0!==et&&e instanceof xe||K(e),e.i}},fd_seek:function(e,t,r,n,a){try{var i=at(e);return-9007199254740992>=(e=4294967296*r+(t>>>0))||9007199254740992<=e?-61:(Ye(i,e,n),ee=[i.position>>>0,(Q=i.position,1<=+Math.abs(Q)?0<Q?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],z[a>>2]=ee[0],z[a+4>>2]=ee[1],i.W&&0===e&&0===n&&(i.W=null),0)}catch(e){return void 0!==et&&e instanceof xe||K(e),e.i}},fd_write:function(e,t,r,n){try{e:{for(var a=at(e),i=e=0;i<r;i++){var o=a,s=z[t+8*i>>2],u=z[t+(8*i+4)>>2],c=void 0,_=k;if(0>u||0>c)throw new xe(28);if(null===o.v)throw new xe(8);if(0==(2097155&o.flags))throw new xe(8);if(16384==(61440&o.node.mode))throw new xe(31);if(!o.f.write)throw new xe(28);o.seekable&&1024&o.flags&&Ye(o,0,2);var f=void 0!==c;if(f){if(!o.seekable)throw new xe(70)}else c=o.position;var l=o.f.write(o,_,s,u,c,void 0);f||(o.position+=l);try{o.path&&ke.onWriteToFile&&ke.onWriteToFile(o.path)}catch(e){m("FS.trackingDelegate[\'onWriteToFile\'](\'"+o.path+"\') threw an exception: "+e.message)}var d=l;if(0>d){var p=-1;break e}e+=d}p=e}return z[n>>2]=p,0}catch(e){return void 0!==et&&e instanceof xe||K(e),e.i}},gettimeofday:function(e){var t=Date.now();return z[e>>2]=t/1e3|0,z[e+4>>2]=t%1e3*1e3|0,0},glBindTexture:function(e,t){ar.bindTexture(e,Gt[t])},glGenTextures:function(e,t){for(var r=0;r<e;r++){var n=ar.createTexture(),a=n&&Yt(Gt);n?(n.name=a,Gt[a]=n):Zt||(Zt=1282),z[t+4*r>>2]=a}},glTexImage2D:function(e,t,r,n,a,i,o,s,u){ar.texImage2D(e,t,r,n,a,i,o,s,u?function(e,t,r,n,a){e=1==(e-=5120)?x:4==e?z:6==e?R:5==e||28922==e?T:A;var i=31-Math.clz32(e.BYTES_PER_ELEMENT);return e.subarray(a>>i,a+n*(r*({5:3,6:4,8:2,29502:3,29504:4}[t-6402]||1)*(1<<i)+4-1&-4)>>i)}(s,o,n,a,u):null)},glTexParameteri:function(e,t,r){ar.texParameteri(e,t,r)},localtime_r:function(e,t){!function(){function e(e){return(e=e.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?e[1]:"GMT"}if(!Jt){Jt=!0;var t=(new Date).getFullYear(),r=new Date(t,0,1),n=new Date(t,6,1);t=r.getTimezoneOffset();var a=n.getTimezoneOffset(),i=Math.max(t,a);z[mr()>>2]=60*i,z[hr()>>2]=Number(t!=a),r=e(r),n=e(n),r=D(r),n=D(n),a<t?(z[pr()>>2]=r,z[pr()+4>>2]=n):(z[pr()>>2]=n,z[pr()+4>>2]=r)}}(),e=new Date(1e3*z[e>>2]),z[t>>2]=e.getSeconds(),z[t+4>>2]=e.getMinutes(),z[t+8>>2]=e.getHours(),z[t+12>>2]=e.getDate(),z[t+16>>2]=e.getMonth(),z[t+20>>2]=e.getFullYear()-1900,z[t+24>>2]=e.getDay();var r=new Date(e.getFullYear(),0,1);z[t+28>>2]=(e.getTime()-r.getTime())/864e5|0,z[t+36>>2]=-60*e.getTimezoneOffset();var n=new Date(e.getFullYear(),6,1).getTimezoneOffset();return e=0|(n!=(r=r.getTimezoneOffset())&&e.getTimezoneOffset()==Math.min(r,n)),z[t+32>>2]=e,e=z[pr()+(e?4:0)>>2],z[t+40>>2]=e,t},pthread_create:function(){return 6},pthread_join:function(){return 28},setTempRet0:function(){},strftime_l:function(e,t,r,n){return function(e,t,r,n){function a(e,t,r){for(e="number"==typeof e?e.toString():e||"";e.length<t;)e=r[0]+e;return e}function i(e,t){return a(e,t,"0")}function o(e,t){function r(e){return 0>e?-1:0<e?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function s(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function u(e){e=nr(new Date(e.l+1900,0,1),e.R);var t=new Date(e.getFullYear()+1,0,4),r=s(new Date(e.getFullYear(),0,4));return t=s(t),0>=o(r,e)?0>=o(t,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var c=z[n+40>>2];for(var _ in n={La:z[n>>2],Ka:z[n+4>>2],O:z[n+8>>2],K:z[n+12>>2],F:z[n+16>>2],l:z[n+20>>2],P:z[n+24>>2],R:z[n+28>>2],ab:z[n+32>>2],Ja:z[n+36>>2],Ma:c?L(c):""},r=L(r),c={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})r=r.replace(new RegExp(_,"g"),c[_]);var f="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),l="January February March April May June July August September October November December".split(" ");for(_ in c={"%a":function(e){return f[e.P].substring(0,3)},"%A":function(e){return f[e.P]},"%b":function(e){return l[e.F].substring(0,3)},"%B":function(e){return l[e.F]},"%C":function(e){return i((e.l+1900)/100|0,2)},"%d":function(e){return i(e.K,2)},"%e":function(e){return a(e.K,2," ")},"%g":function(e){return u(e).toString().substring(2)},"%G":function(e){return u(e)},"%H":function(e){return i(e.O,2)},"%I":function(e){return 0==(e=e.O)?e=12:12<e&&(e-=12),i(e,2)},"%j":function(e){return i(e.K+er(Qt(e.l+1900)?tr:rr,e.F-1),3)},"%m":function(e){return i(e.F+1,2)},"%M":function(e){return i(e.Ka,2)},"%n":function(){return"\\n"},"%p":function(e){return 0<=e.O&&12>e.O?"AM":"PM"},"%S":function(e){return i(e.La,2)},"%t":function(){return"\\t"},"%u":function(e){return e.P||7},"%U":function(e){var t=new Date(e.l+1900,0,1),r=0===t.getDay()?t:nr(t,7-t.getDay());return 0>o(r,e=new Date(e.l+1900,e.F,e.K))?i(Math.ceil((31-r.getDate()+(er(Qt(e.getFullYear())?tr:rr,e.getMonth()-1)-31)+e.getDate())/7),2):0===o(r,t)?"01":"00"},"%V":function(e){var t=new Date(e.l+1901,0,4),r=s(new Date(e.l+1900,0,4));t=s(t);var n=nr(new Date(e.l+1900,0,1),e.R);return 0>o(n,r)?"53":0>=o(t,n)?"01":i(Math.ceil((r.getFullYear()<e.l+1900?e.R+32-r.getDate():e.R+1-r.getDate())/7),2)},"%w":function(e){return e.P},"%W":function(e){var t=new Date(e.l,0,1),r=1===t.getDay()?t:nr(t,0===t.getDay()?1:7-t.getDay()+1);return 0>o(r,e=new Date(e.l+1900,e.F,e.K))?i(Math.ceil((31-r.getDate()+(er(Qt(e.getFullYear())?tr:rr,e.getMonth()-1)-31)+e.getDate())/7),2):0===o(r,t)?"01":"00"},"%y":function(e){return(e.l+1900).toString().substring(2)},"%Y":function(e){return e.l+1900},"%z":function(e){var t=0<=(e=e.Ja);return e=Math.abs(e)/60,(t?"+":"-")+String("0000"+(e/60*100+e%60)).slice(-4)},"%Z":function(e){return e.Ma},"%%":function(){return"%"}})0<=r.indexOf(_)&&(r=r.replace(new RegExp(_,"g"),c[_](n)));return(_=sr(r,!1)).length>t?0:(k.set(_,e),_.length-1)}(e,t,r,n)},sysconf:function(e){switch(e){case 30:return 16384;case 85:return 131072;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:case 79:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return z[dr()>>2]=28,-1},time:function(e){var t=Date.now()/1e3|0;return e&&(z[e>>2]=t),t}},cr=function(){function e(e){n.asm=e.exports,b=n.asm.memory,C(),U=n.asm.__indirect_function_table,Z()}var t={env:ur,wasi_snapshot_preview1:ur};if(Y(),n.instantiateWasm)try{return n.instantiateWasm(t,e)}catch(e){return m("Module.instantiateWasm callback failed with error: "+e),!1}return t=function(e){var t=J;try{e:{try{if(t==J&&d){var r=new Uint8Array(d);break e}if(_){r=_(t);break e}throw"sync fetching of the wasm failed: you can preload it to Module[\'wasmBinary\'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(e){K(e)}r=void 0}var n=new WebAssembly.Module(r),a=new WebAssembly.Instance(n,e)}catch(t){throw e=t.toString(),m("failed to compile wasm module: "+e),(0<=e.indexOf("imported Memory")||0<=e.indexOf("memory import"))&&m("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),t}return[a,n]}(t),e(t[0],t[1]),n.asm}(),_r=n.___wasm_call_ctors=cr.__wasm_call_ctors;n._zappar_has_initialized=cr.zappar_has_initialized,n._zappar_invert=cr.zappar_invert,n._zappar_loaded=cr.zappar_loaded,n._zappar_pipeline_create=cr.zappar_pipeline_create,n._zappar_pipeline_destroy=cr.zappar_pipeline_destroy,n._zappar_pipeline_camera_frame_submit=cr.zappar_pipeline_camera_frame_submit,n._zappar_pipeline_camera_frame_submit_raw_pointer=cr.zappar_pipeline_camera_frame_submit_raw_pointer,n._zappar_pipeline_frame_update=cr.zappar_pipeline_frame_update,n._zappar_pipeline_camera_frame_user_data=cr.zappar_pipeline_camera_frame_user_data,n._zappar_pipeline_camera_model=cr.zappar_pipeline_camera_model,n._zappar_pipeline_frame_number=cr.zappar_pipeline_frame_number,n._zappar_pipeline_motion_accelerometer_submit=cr.zappar_pipeline_motion_accelerometer_submit,n._zappar_pipeline_motion_rotation_rate_submit=cr.zappar_pipeline_motion_rotation_rate_submit,n._zappar_pipeline_motion_attitude_submit=cr.zappar_pipeline_motion_attitude_submit,n._zappar_pipeline_motion_attitude_matrix_submit=cr.zappar_pipeline_motion_attitude_matrix_submit,n._zappar_pipeline_camera_frame_user_facing=cr.zappar_pipeline_camera_frame_user_facing,n._zappar_pipeline_camera_frame_texture_matrix=cr.zappar_pipeline_camera_frame_texture_matrix,n._zappar_pipeline_camera_pose_with_attitude=cr.zappar_pipeline_camera_pose_with_attitude,n._zappar_pipeline_camera_pose_with_origin=cr.zappar_pipeline_camera_pose_with_origin,n._zappar_pipeline_camera_frame_camera_attitude=cr.zappar_pipeline_camera_frame_camera_attitude,n._zappar_pipeline_camera_frame_device_attitude=cr.zappar_pipeline_camera_frame_device_attitude,n._zappar_pipeline_camera_frame_texture_gl=cr.zappar_pipeline_camera_frame_texture_gl,n._zappar_pipeline_camera_frame_upload_gl=cr.zappar_pipeline_camera_frame_upload_gl,n._zappar_pipeline_sequence_record_start=cr.zappar_pipeline_sequence_record_start,n._zappar_pipeline_sequence_record_stop=cr.zappar_pipeline_sequence_record_stop,n._zappar_pipeline_sequence_record_clear=cr.zappar_pipeline_sequence_record_clear,n._zappar_pipeline_sequence_record_device_attitude_matrices_set=cr.zappar_pipeline_sequence_record_device_attitude_matrices_set,n._zappar_pipeline_sequence_record_data_size=cr.zappar_pipeline_sequence_record_data_size,n._zappar_pipeline_sequence_record_data=cr.zappar_pipeline_sequence_record_data,n._zappar_pipeline_process_gl=cr.zappar_pipeline_process_gl,n._zappar_pipeline_camera_pose_default=cr.zappar_pipeline_camera_pose_default,n._zappar_instant_world_tracker_create=cr.zappar_instant_world_tracker_create,n._zappar_instant_world_tracker_destroy=cr.zappar_instant_world_tracker_destroy,n._zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw=cr.zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw,n._zappar_instant_world_tracker_anchor_pose_raw=cr.zappar_instant_world_tracker_anchor_pose_raw,n._zappar_instant_world_tracker_enabled_set=cr.zappar_instant_world_tracker_enabled_set,n._zappar_instant_world_tracker_enabled=cr.zappar_instant_world_tracker_enabled,n._zappar_image_tracker_create=cr.zappar_image_tracker_create,n._zappar_image_tracker_destroy=cr.zappar_image_tracker_destroy,n._zappar_image_tracker_target_load_from_memory=cr.zappar_image_tracker_target_load_from_memory,n.__Z42zappar_image_tracker_target_load_from_fileP23zappar_image_tracker_tiPKc=cr._Z42zappar_image_tracker_target_load_from_fileP23zappar_image_tracker_tiPKc;var fr=n._free=cr.free;n._zappar_image_tracker_anchor_count=cr.zappar_image_tracker_anchor_count,n._zappar_image_tracker_anchor_id=cr.zappar_image_tracker_anchor_id,n._zappar_image_tracker_anchor_pose_raw=cr.zappar_image_tracker_anchor_pose_raw,n._zappar_image_tracker_enabled_set=cr.zappar_image_tracker_enabled_set,n._zappar_image_tracker_enabled=cr.zappar_image_tracker_enabled,n._zappar_image_tracker_target_loaded_version=cr.zappar_image_tracker_target_loaded_version,n._zappar_image_tracker_target_count=cr.zappar_image_tracker_target_count,n.__Z46zappar_image_tracker_target_preview_compressedP23zappar_image_tracker_tii=cr._Z46zappar_image_tracker_target_preview_compressedP23zappar_image_tracker_tii,n.__Z51zappar_image_tracker_target_preview_compressed_sizeP23zappar_image_tracker_tii=cr._Z51zappar_image_tracker_target_preview_compressed_sizeP23zappar_image_tracker_tii,n.__Z55zappar_image_tracker_target_preview_compressed_mimetypeP23zappar_image_tracker_tii=cr._Z55zappar_image_tracker_target_preview_compressed_mimetypeP23zappar_image_tracker_tii,n.__Z40zappar_image_tracker_target_preview_rgbaP23zappar_image_tracker_tii=cr._Z40zappar_image_tracker_target_preview_rgbaP23zappar_image_tracker_tii,n.__Z45zappar_image_tracker_target_preview_rgba_sizeP23zappar_image_tracker_tii=cr._Z45zappar_image_tracker_target_preview_rgba_sizeP23zappar_image_tracker_tii,n.__Z46zappar_image_tracker_target_preview_rgba_widthP23zappar_image_tracker_tii=cr._Z46zappar_image_tracker_target_preview_rgba_widthP23zappar_image_tracker_tii,n.__Z47zappar_image_tracker_target_preview_rgba_heightP23zappar_image_tracker_tii=cr._Z47zappar_image_tracker_target_preview_rgba_heightP23zappar_image_tracker_tii,n._zappar_face_tracker_create=cr.zappar_face_tracker_create,n._zappar_face_tracker_destroy=cr.zappar_face_tracker_destroy,n._zappar_face_tracker_model_load_from_memory=cr.zappar_face_tracker_model_load_from_memory,n._zappar_face_tracker_anchor_count=cr.zappar_face_tracker_anchor_count,n._zappar_face_tracker_anchor_id=cr.zappar_face_tracker_anchor_id,n._zappar_face_tracker_anchor_pose_raw=cr.zappar_face_tracker_anchor_pose_raw,n._zappar_face_tracker_anchor_identity_coefficients=cr.zappar_face_tracker_anchor_identity_coefficients,n._zappar_face_tracker_anchor_expression_coefficients=cr.zappar_face_tracker_anchor_expression_coefficients,n._zappar_face_tracker_enabled_set=cr.zappar_face_tracker_enabled_set,n._zappar_face_tracker_enabled=cr.zappar_face_tracker_enabled,n._zappar_face_tracker_max_faces_set=cr.zappar_face_tracker_max_faces_set,n._zappar_face_tracker_max_faces=cr.zappar_face_tracker_max_faces,n._zappar_face_tracker_model_loaded_version=cr.zappar_face_tracker_model_loaded_version,n._zappar_face_landmark_create=cr.zappar_face_landmark_create,n._zappar_face_landmark_destroy=cr.zappar_face_landmark_destroy,n.__Z27zappar_face_landmark_updateP23zappar_face_landmark_tiPKfS2_i=cr._Z27zappar_face_landmark_updateP23zappar_face_landmark_tiPKfS2_i,n._zappar_face_landmark_anchor_pose=cr.zappar_face_landmark_anchor_pose,n._zappar_barcode_finder_create=cr.zappar_barcode_finder_create,n._zappar_barcode_finder_destroy=cr.zappar_barcode_finder_destroy,n._zappar_barcode_finder_found_number=cr.zappar_barcode_finder_found_number,n._zappar_barcode_finder_found_text=cr.zappar_barcode_finder_found_text,n._zappar_barcode_finder_enabled_set=cr.zappar_barcode_finder_enabled_set,n._zappar_barcode_finder_enabled=cr.zappar_barcode_finder_enabled,n._zappar_barcode_finder_found_format=cr.zappar_barcode_finder_found_format,n._zappar_barcode_finder_formats=cr.zappar_barcode_finder_formats,n._zappar_barcode_finder_formats_set=cr.zappar_barcode_finder_formats_set;var lr=n._malloc=cr.malloc;n._zappar_face_mesh_create=cr.zappar_face_mesh_create,n._zappar_face_mesh_destroy=cr.zappar_face_mesh_destroy,n.__Z33zappar_face_mesh_load_from_memoryP19zappar_face_mesh_tiPKciiiii=cr._Z33zappar_face_mesh_load_from_memoryP19zappar_face_mesh_tiPKciiiii,n.__Z29zappar_face_mesh_indices_sizeP19zappar_face_mesh_ti=cr._Z29zappar_face_mesh_indices_sizeP19zappar_face_mesh_ti,n.__Z25zappar_face_mesh_uvs_sizeP19zappar_face_mesh_ti=cr._Z25zappar_face_mesh_uvs_sizeP19zappar_face_mesh_ti,n.__Z30zappar_face_mesh_vertices_sizeP19zappar_face_mesh_ti=cr._Z30zappar_face_mesh_vertices_sizeP19zappar_face_mesh_ti,n.__Z31zappar_face_mesh_loaded_versionP19zappar_face_mesh_ti=cr._Z31zappar_face_mesh_loaded_versionP19zappar_face_mesh_ti,n.__Z25zappar_face_mesh_verticesP19zappar_face_mesh_ti=cr._Z25zappar_face_mesh_verticesP19zappar_face_mesh_ti,n.__Z20zappar_face_mesh_uvsP19zappar_face_mesh_ti=cr._Z20zappar_face_mesh_uvsP19zappar_face_mesh_ti,n.__Z24zappar_face_mesh_indicesP19zappar_face_mesh_ti=cr._Z24zappar_face_mesh_indicesP19zappar_face_mesh_ti,n.__Z23zappar_face_mesh_updateP19zappar_face_mesh_tiPKfS2_i=cr._Z23zappar_face_mesh_updateP19zappar_face_mesh_tiPKfS2_i,n.__Z29zappar_face_mesh_normals_sizeP19zappar_face_mesh_ti=cr._Z29zappar_face_mesh_normals_sizeP19zappar_face_mesh_ti,n.__Z24zappar_face_mesh_normalsP19zappar_face_mesh_ti=cr._Z24zappar_face_mesh_normalsP19zappar_face_mesh_ti,n._zappar_camera_source_create=cr.zappar_camera_source_create,n._zappar_camera_source_destroy=cr.zappar_camera_source_destroy,n._zappar_camera_source_start=cr.zappar_camera_source_start,n._zappar_camera_source_pause=cr.zappar_camera_source_pause,n._zappar_camera_default_device_id=cr.zappar_camera_default_device_id,n._zappar_sequence_source_create=cr.zappar_sequence_source_create,n.__Z28zappar_sequence_source_startP25zappar_sequence_source_ti=cr._Z28zappar_sequence_source_startP25zappar_sequence_source_ti,n.__Z39zappar_sequence_source_load_from_memoryP25zappar_sequence_source_tiPKci=cr._Z39zappar_sequence_source_load_from_memoryP25zappar_sequence_source_tiPKci,n.__Z28zappar_sequence_source_pauseP25zappar_sequence_source_ti=cr._Z28zappar_sequence_source_pauseP25zappar_sequence_source_ti,n._zappar_sequence_source_destroy=cr.zappar_sequence_source_destroy,n._zappar_log_level_set=cr.zappar_log_level_set,n._zappar_log_level=cr.zappar_log_level,n.___em_js__emidentity=cr.__em_js__emidentity,n._zappar_analytics_project_id_set=cr.zappar_analytics_project_id_set,n.___em_js__emlicerr=cr.__em_js__emlicerr,n.___em_js__emgfx=cr.__em_js__emgfx;var dr=n.___errno_location=cr.__errno_location;n._ntohs=cr.ntohs,n._htons=cr.htons,n._htonl=cr.htonl,n._usleep=cr.usleep;var pr=n.__get_tzname=cr._get_tzname,hr=n.__get_daylight=cr._get_daylight,mr=n.__get_timezone=cr._get_timezone;n._emscripten_main_thread_process_queued_calls=cr.emscripten_main_thread_process_queued_calls;var br,gr=n.stackSave=cr.stackSave,wr=n.stackRestore=cr.stackRestore,vr=n.stackAlloc=cr.stackAlloc;function yr(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Mr(){function e(){if(!br&&(br=!0,n.calledRun=!0,!g)){if(n.noFSInit||De||(De=!0,Ze(),n.stdin=n.stdin,n.stdout=n.stdout,n.stderr=n.stderr,n.stdin?Ke("stdin",n.stdin):je("/dev/tty","/dev/stdin"),n.stdout?Ke("stdout",null,n.stdout):je("/dev/tty","/dev/stdout"),n.stderr?Ke("stderr",null,n.stderr):je("/dev/tty1","/dev/stderr"),Xe("/dev/stdin",0),Xe("/dev/stdout",1),Xe("/dev/stderr",1)),ne(q),Me=!1,ne(N),a(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;){var e=n.postRun.shift();j.unshift(e)}ne(j)}}if(!(0<H)){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)W();ne(V),0<H||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e())}}if(n._setThrew=cr.setThrew,n.dynCall_viijii=cr.dynCall_viijii,n.dynCall_vij=cr.dynCall_vij,n.dynCall_iiji=cr.dynCall_iiji,n.dynCall_viji=cr.dynCall_viji,n.dynCall_vijii=cr.dynCall_vijii,n.dynCall_ji=cr.dynCall_ji,n.dynCall_jiji=cr.dynCall_jiji,n.dynCall_iiiiij=cr.dynCall_iiiiij,n.dynCall_iiiiijj=cr.dynCall_iiiiijj,n.dynCall_iiiiiijj=cr.dynCall_iiiiiijj,n.cwrap=function(e,t,r,n){var a=(r=r||[]).every((function(e){return"number"===e}));return"string"!==t&&a&&!n?v(e):function(){return y(e,t,r,arguments)}},n.setValue=function(e,t,r){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":k[e>>0]=t;break;case"i16":E[e>>1]=t;break;case"i32":z[e>>2]=t;break;case"i64":ee=[t>>>0,(Q=t,1<=+Math.abs(Q)?0<Q?(0|Math.min(+Math.floor(Q/4294967296),4294967295))>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)],z[e>>2]=ee[0],z[e+4>>2]=ee[1];break;case"float":R[e>>2]=t;break;case"double":F[e>>3]=t;break;default:K("invalid type for setValue: "+r)}},n.getValue=function(e,t){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return k[e>>0];case"i16":return E[e>>1];case"i32":case"i64":return z[e>>2];case"float":return R[e>>2];case"double":return F[e>>3];default:K("invalid type for getValue: "+t)}return null},n.UTF8ToString=L,X=function e(){br||Mr(),br||(X=e)},n.run=Mr,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.pop()();return p=!0,Mr(),t});t.default=n}.call(this,r(6).setImmediate)},function(e,t,r){(function(e){var n=void 0!==e&&e||"undefined"!=typeof self&&self||window,a=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(a.call(setTimeout,n,arguments),clearTimeout)},t.setInterval=function(){return new i(a.call(setInterval,n,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(n,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},r(7),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,r(2))},function(e,t,r){(function(e,t){!function(e,r){"use strict";if(!e.setImmediate){var n,a,i,o,s,u=1,c={},_=!1,f=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,"[object process]"==={}.toString.call(e.process)?n=function(e){t.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,r=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=r,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){p(e.data)},n=function(e){i.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(a=f.documentElement,n=function(e){var t=f.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,a.removeChild(t),t=null},a.appendChild(t)}):n=function(e){setTimeout(p,0,e)}:(o="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(o)&&p(+t.data.slice(o.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),n=function(t){e.postMessage(o+t,"*")}),l.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var a={callback:e,args:t};return c[u]=a,n(u),u++},l.clearImmediate=d}function d(e){delete c[e]}function p(e){if(_)setTimeout(p,0,e);else{var t=c[e];if(t){_=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(void 0,r)}}(t)}finally{d(e),_=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,r(2),r(8))},function(e,t){var r,n,a=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var u,c=[],_=!1,f=-1;function l(){_&&u&&(_=!1,u.length?c=u.concat(c):f=-1,c.length&&d())}function d(){if(!_){var e=s(l);_=!0;for(var t=c.length;t;){for(u=c,c=[];++f<t;)u&&u[f].run();f=-1,t=c.length}u=null,_=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function h(){}a.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new p(e,t)),1!==c.length||_||s(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},a.title="browser",a.browser=!0,a.env={},a.argv=[],a.version="",a.versions={},a.on=h,a.addListener=h,a.once=h,a.off=h,a.removeListener=h,a.removeAllListeners=h,a.emit=h,a.prependListener=h,a.prependOnceListener=h,a.listeners=function(e){return[]},a.binding=function(e){throw new Error("process.binding is not supported")},a.cwd=function(){return"/"},a.chdir=function(e){throw new Error("process.chdir is not supported")},a.umask=function(){return 0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRuntimeObject=void 0,t.getRuntimeObject=function(e){let t=e.cwrap("zappar_log_level","number",[]),r=e.cwrap("zappar_log_level_set",null,["number"]),n=e.cwrap("zappar_analytics_project_id_set",null,["string"]),a=e.cwrap("zappar_pipeline_create","number",[]),i=e.cwrap("zappar_pipeline_destroy",null,["number"]),o=e.cwrap("zappar_pipeline_frame_update",null,["number"]),s=e.cwrap("zappar_pipeline_frame_number","number",["number"]),u=e.cwrap("zappar_pipeline_camera_model","number",["number"]),c=e.cwrap("zappar_pipeline_camera_frame_user_data","number",["number"]),_=e.cwrap("zappar_pipeline_camera_frame_submit",null,["number","number","number","number","number","number","number","number","number"]),f=e.cwrap("zappar_pipeline_camera_frame_submit_raw_pointer",null,["number","number","number","number","number","number","number","number","number","number","number"]),l=e.cwrap("zappar_pipeline_camera_frame_camera_attitude","number",["number"]),d=e.cwrap("zappar_pipeline_camera_frame_device_attitude","number",["number"]),p=e.cwrap("zappar_pipeline_motion_accelerometer_submit",null,["number","number","number","number","number"]),h=e.cwrap("zappar_pipeline_motion_rotation_rate_submit",null,["number","number","number","number","number"]),m=e.cwrap("zappar_pipeline_motion_attitude_submit",null,["number","number","number","number","number"]),b=e.cwrap("zappar_pipeline_motion_attitude_matrix_submit",null,["number","number"]),g=e.cwrap("zappar_camera_source_create","number",["number","string"]),w=e.cwrap("zappar_camera_source_destroy",null,["number"]),v=e.cwrap("zappar_sequence_source_create","number",["number"]),y=e.cwrap("zappar_sequence_source_destroy",null,["number"]),M=e.cwrap("zappar_image_tracker_create","number",["number"]),k=e.cwrap("zappar_image_tracker_destroy",null,["number"]),x=e.cwrap("zappar_image_tracker_target_load_from_memory",null,["number","number","number"]),E=e.cwrap("zappar_image_tracker_target_loaded_version","number",["number"]),A=e.cwrap("zappar_image_tracker_target_count","number",["number"]),z=e.cwrap("zappar_image_tracker_enabled","number",["number"]),T=e.cwrap("zappar_image_tracker_enabled_set",null,["number","number"]),R=e.cwrap("zappar_image_tracker_anchor_count","number",["number"]),F=e.cwrap("zappar_image_tracker_anchor_id","string",["number","number"]),O=e.cwrap("zappar_image_tracker_anchor_pose_raw","number",["number","number"]),P=e.cwrap("zappar_face_tracker_create","number",["number"]),L=e.cwrap("zappar_face_tracker_destroy",null,["number"]),S=e.cwrap("zappar_face_tracker_model_load_from_memory",null,["number","number","number"]),I=e.cwrap("zappar_face_tracker_model_loaded_version","number",["number"]),D=e.cwrap("zappar_face_tracker_enabled_set",null,["number","number"]),B=e.cwrap("zappar_face_tracker_enabled","number",["number"]),C=e.cwrap("zappar_face_tracker_max_faces_set",null,["number","number"]),U=e.cwrap("zappar_face_tracker_max_faces","number",["number"]),V=e.cwrap("zappar_face_tracker_anchor_count","number",["number"]),q=e.cwrap("zappar_face_tracker_anchor_id","string",["number","number"]),N=e.cwrap("zappar_face_tracker_anchor_pose_raw","number",["number","number"]),j=e.cwrap("zappar_face_tracker_anchor_identity_coefficients","number",["number","number"]),W=e.cwrap("zappar_face_tracker_anchor_expression_coefficients","number",["number","number"]),H=e.cwrap("zappar_face_mesh_create","number",[]),G=e.cwrap("zappar_face_mesh_destroy",null,["number"]),X=e.cwrap("zappar_face_landmark_create","number",["number"]),Y=e.cwrap("zappar_face_landmark_destroy",null,["number"]),Z=e.cwrap("zappar_barcode_finder_create","number",["number"]),K=e.cwrap("zappar_barcode_finder_destroy",null,["number"]),J=e.cwrap("zappar_barcode_finder_enabled_set",null,["number","number"]),$=e.cwrap("zappar_barcode_finder_enabled","number",["number"]),Q=e.cwrap("zappar_barcode_finder_found_number","number",["number"]),ee=e.cwrap("zappar_barcode_finder_found_text","string",["number","number"]),te=e.cwrap("zappar_barcode_finder_found_format","number",["number","number"]),re=e.cwrap("zappar_barcode_finder_formats","number",["number"]),ne=e.cwrap("zappar_barcode_finder_formats_set",null,["number","number"]),ae=e.cwrap("zappar_instant_world_tracker_create","number",["number"]),ie=e.cwrap("zappar_instant_world_tracker_destroy",null,["number"]),oe=e.cwrap("zappar_instant_world_tracker_enabled_set",null,["number","number"]),se=e.cwrap("zappar_instant_world_tracker_enabled","number",["number"]),ue=e.cwrap("zappar_instant_world_tracker_anchor_pose_raw","number",["number"]),ce=e.cwrap("zappar_instant_world_tracker_anchor_pose_set_from_camera_offset_raw",null,["number","number","number","number","number"]),_e=32,fe=e._malloc(_e),le=(e._malloc(64),new Map),de=(t,r)=>{let n=le.get(t);return(!n||n[0]<r)&&(n&&e._free(n[1]),n=[r,e._malloc(r)],le.set(t,n)),n[1]};return{log_level:()=>t(),log_level_set:e=>r(e),analytics_project_id_set:e=>n(e),pipeline_create:()=>a(),pipeline_destroy:()=>{i()},pipeline_frame_update:e=>o(e),pipeline_frame_number:e=>s(e),pipeline_camera_model:t=>{let r=u(t),n=new Float32Array(6);return n.set(e.HEAPF32.subarray(r/4,6+r/4)),r=n,r},pipeline_camera_frame_user_data:e=>c(e),pipeline_camera_frame_submit:(t,r,n,a,i,o,s,u)=>{_e<r.byteLength&&(e._free(fe),_e=r.byteLength,fe=e._malloc(_e));let c=fe,f=r.byteLength;e.HEAPU8.set(new Uint8Array(r),fe);let l=n,d=a,p=i,h=de(4,o.byteLength);e.HEAPF32.set(o,h/4);let m=de(5,s.byteLength);return e.HEAPF32.set(s,m/4),_(t,c,f,l,d,p,h,m,u?1:0)},pipeline_camera_frame_submit_raw_pointer:(t,r,n,a,i,o,s,u,c,_,l)=>{let d=r,p=n,h=a,m=i,b=o,g=s,w=de(6,u.byteLength);e.HEAPF32.set(u,w/4);let v=c,y=de(8,_.byteLength);return e.HEAPF32.set(_,y/4),f(t,d,p,h,m,b,g,w,v,y,l?1:0)},pipeline_camera_frame_camera_attitude:t=>{let r=l(t),n=new Float32Array(16);return n.set(e.HEAPF32.subarray(r/4,16+r/4)),r=n,r},pipeline_camera_frame_device_attitude:t=>{let r=d(t),n=new Float32Array(16);return n.set(e.HEAPF32.subarray(r/4,16+r/4)),r=n,r},pipeline_motion_accelerometer_submit:(e,t,r,n,a)=>p(e,t,r,n,a),pipeline_motion_rotation_rate_submit:(e,t,r,n,a)=>h(e,t,r,n,a),pipeline_motion_attitude_submit:(e,t,r,n,a)=>m(e,t,r,n,a),pipeline_motion_attitude_matrix_submit:(t,r)=>{let n=de(0,r.byteLength);return e.HEAPF32.set(r,n/4),b(t,n)},camera_source_create:(e,t)=>g(e,t),camera_source_destroy:()=>{w()},sequence_source_create:e=>v(e),sequence_source_destroy:()=>{y()},image_tracker_create:e=>M(e),image_tracker_destroy:()=>{k()},image_tracker_target_load_from_memory:(t,r)=>{_e<r.byteLength&&(e._free(fe),_e=r.byteLength,fe=e._malloc(_e));let n=fe,a=r.byteLength;return e.HEAPU8.set(new Uint8Array(r),fe),x(t,n,a)},image_tracker_target_loaded_version:e=>E(e),image_tracker_target_count:e=>A(e),image_tracker_enabled:e=>{let t=z(e);return t=1===t,t},image_tracker_enabled_set:(e,t)=>T(e,t?1:0),image_tracker_anchor_count:e=>R(e),image_tracker_anchor_id:(e,t)=>F(e,t),image_tracker_anchor_pose_raw:(t,r)=>{let n=O(t,r),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(n/4,16+n/4)),n=a,n},face_tracker_create:e=>P(e),face_tracker_destroy:()=>{L()},face_tracker_model_load_from_memory:(t,r)=>{_e<r.byteLength&&(e._free(fe),_e=r.byteLength,fe=e._malloc(_e));let n=fe,a=r.byteLength;return e.HEAPU8.set(new Uint8Array(r),fe),S(t,n,a)},face_tracker_model_loaded_version:e=>I(e),face_tracker_enabled_set:(e,t)=>D(e,t?1:0),face_tracker_enabled:e=>{let t=B(e);return t=1===t,t},face_tracker_max_faces_set:(e,t)=>C(e,t),face_tracker_max_faces:e=>U(e),face_tracker_anchor_count:e=>V(e),face_tracker_anchor_id:(e,t)=>q(e,t),face_tracker_anchor_pose_raw:(t,r)=>{let n=N(t,r),a=new Float32Array(16);return a.set(e.HEAPF32.subarray(n/4,16+n/4)),n=a,n},face_tracker_anchor_identity_coefficients:(t,r)=>{let n=j(t,r),a=new Float32Array(50);return a.set(e.HEAPF32.subarray(n/4,50+n/4)),n=a,n},face_tracker_anchor_expression_coefficients:(t,r)=>{let n=W(t,r),a=new Float32Array(29);return a.set(e.HEAPF32.subarray(n/4,29+n/4)),n=a,n},face_mesh_create:()=>H(),face_mesh_destroy:()=>{G()},face_landmark_create:e=>X(e),face_landmark_destroy:()=>{Y()},barcode_finder_create:e=>Z(e),barcode_finder_destroy:()=>{K()},barcode_finder_enabled_set:(e,t)=>J(e,t?1:0),barcode_finder_enabled:e=>{let t=$(e);return t=1===t,t},barcode_finder_found_number:e=>Q(e),barcode_finder_found_text:(e,t)=>ee(e,t),barcode_finder_found_format:(e,t)=>te(e,t),barcode_finder_formats:e=>re(e),barcode_finder_formats_set:(e,t)=>ne(e,t),instant_world_tracker_create:e=>ae(e),instant_world_tracker_destroy:()=>{ie()},instant_world_tracker_enabled_set:(e,t)=>oe(e,t?1:0),instant_world_tracker_enabled:e=>{let t=se(e);return t=1===t,t},instant_world_tracker_anchor_pose_raw:t=>{let r=ue(t),n=new Float32Array(16);return n.set(e.HEAPF32.subarray(r/4,16+r/4)),r=n,r},instant_world_tracker_anchor_pose_set_from_camera_offset_raw:(e,t,r,n,a)=>ce(e,t,r,n,a)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.zappar_server=void 0;const n=r(11),a=r(12);t.zappar_server=class{constructor(e,t){this._impl=e,this._sender=t,this._deserializer=new a.MessageDeserializer,this.serializersByPipelineId=new Map,this._pipeline_id_by_pipeline_id=new Map,this._pipeline_by_instance=new Map,this._pipeline_id_by_camera_source_id=new Map,this._camera_source_by_instance=new Map,this._pipeline_id_by_sequence_source_id=new Map,this._sequence_source_by_instance=new Map,this._pipeline_id_by_image_tracker_id=new Map,this._image_tracker_by_instance=new Map,this._pipeline_id_by_face_tracker_id=new Map,this._face_tracker_by_instance=new Map,this._pipeline_id_by_face_mesh_id=new Map,this._face_mesh_by_instance=new Map,this._pipeline_id_by_face_landmark_id=new Map,this._face_landmark_by_instance=new Map,this._pipeline_id_by_barcode_finder_id=new Map,this._barcode_finder_by_instance=new Map,this._pipeline_id_by_instant_world_tracker_id=new Map,this._instant_world_tracker_by_instance=new Map}processBuffer(e){this._deserializer.setData(e),this._deserializer.forMessages((e,t)=>{switch(e){case 34:this._impl.log_level_set(t.logLevel());break;case 31:this._impl.analytics_project_id_set(t.string());break;case 27:{let e=t.type(),r=this._impl.pipeline_create();this._pipeline_by_instance.set(e,r),this._pipeline_id_by_pipeline_id.set(e,e),this.serializersByPipelineId.set(e,new n.MessageSerializer(t=>{this._sender(e,t)}));break}case 28:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_destroy(r),this._pipeline_by_instance.delete(e);break}case 9:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_frame_update(r);break}case 8:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_camera_frame_submit(r,t.dataWithLength(),t.int(),t.int(),t.int(),t.matrix4x4(),t.cameraModel(),t.bool());break}case 10:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_accelerometer_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 11:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_rotation_rate_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 12:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_submit(r,t.timestamp(),t.float(),t.float(),t.float());break}case 13:{let e=t.type(),r=this._pipeline_by_instance.get(e);if(void 0===r)return;this._impl.pipeline_motion_attitude_matrix_submit(r,t.matrix4x4());break}case 29:{let e=t.type(),r=t.type(),n=this._pipeline_by_instance.get(r),a=t.string(),i=this._impl.camera_source_create(n,a);this._camera_source_by_instance.set(e,i),this._pipeline_id_by_camera_source_id.set(e,r);break}case 30:{let e=t.type(),r=this._camera_source_by_instance.get(e);if(void 0===r)return;this._impl.camera_source_destroy(r),this._camera_source_by_instance.delete(e);break}case 35:{let e=t.type(),r=t.type(),n=this._pipeline_by_instance.get(r),a=this._impl.sequence_source_create(n);this._sequence_source_by_instance.set(e,a),this._pipeline_id_by_sequence_source_id.set(e,r);break}case 36:{let e=t.type(),r=this._sequence_source_by_instance.get(e);if(void 0===r)return;this._impl.sequence_source_destroy(r),this._sequence_source_by_instance.delete(e);break}case 2:{let e=t.type(),r=t.type(),n=this._pipeline_by_instance.get(r),a=this._impl.image_tracker_create(n);this._image_tracker_by_instance.set(e,a),this._pipeline_id_by_image_tracker_id.set(e,r);break}case 14:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_destroy(r),this._image_tracker_by_instance.delete(e);break}case 4:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_target_load_from_memory(r,t.dataWithLength());break}case 3:{let e=t.type(),r=this._image_tracker_by_instance.get(e);if(void 0===r)return;this._impl.image_tracker_enabled_set(r,t.bool());break}case 20:{let e=t.type(),r=t.type(),n=this._pipeline_by_instance.get(r),a=this._impl.face_tracker_create(n);this._face_tracker_by_instance.set(e,a),this._pipeline_id_by_face_tracker_id.set(e,r);break}case 21:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_destroy(r),this._face_tracker_by_instance.delete(e);break}case 22:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_model_load_from_memory(r,t.dataWithLength());break}case 23:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_enabled_set(r,t.bool());break}case 24:{let e=t.type(),r=this._face_tracker_by_instance.get(e);if(void 0===r)return;this._impl.face_tracker_max_faces_set(r,t.int());break}case 25:{let e=t.type(),r=this._impl.face_mesh_create();this._face_mesh_by_instance.set(e,r);break}case 26:{let e=t.type(),r=this._face_mesh_by_instance.get(e);if(void 0===r)return;this._impl.face_mesh_destroy(r),this._face_mesh_by_instance.delete(e);break}case 32:{let e=t.type(),r=t.faceLandmarkName(),n=this._impl.face_landmark_create(r);this._face_landmark_by_instance.set(e,n);break}case 33:{let e=t.type(),r=this._face_landmark_by_instance.get(e);if(void 0===r)return;this._impl.face_landmark_destroy(r),this._face_landmark_by_instance.delete(e);break}case 16:{let e=t.type(),r=t.type(),n=this._pipeline_by_instance.get(r),a=this._impl.barcode_finder_create(n);this._barcode_finder_by_instance.set(e,a),this._pipeline_id_by_barcode_finder_id.set(e,r);break}case 17:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_destroy(r),this._barcode_finder_by_instance.delete(e);break}case 18:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_enabled_set(r,t.bool());break}case 19:{let e=t.type(),r=this._barcode_finder_by_instance.get(e);if(void 0===r)return;this._impl.barcode_finder_formats_set(r,t.barcodeFormat());break}case 5:{let e=t.type(),r=t.type(),n=this._pipeline_by_instance.get(r),a=this._impl.instant_world_tracker_create(n);this._instant_world_tracker_by_instance.set(e,a),this._pipeline_id_by_instant_world_tracker_id.set(e,r);break}case 15:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_destroy(r),this._instant_world_tracker_by_instance.delete(e);break}case 6:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_enabled_set(r,t.bool());break}case 7:{let e=t.type(),r=this._instant_world_tracker_by_instance.get(e);if(void 0===r)return;this._impl.instant_world_tracker_anchor_pose_set_from_camera_offset_raw(r,t.float(),t.float(),t.float(),t.instantTrackerTransformOrientation());break}}})}exploreState(){for(let[e,t]of this._pipeline_by_instance){let r=this._pipeline_id_by_pipeline_id.get(e);if(!r)continue;let n=this.serializersByPipelineId.get(r);n&&(n.sendMessage(7,r=>{r.type(e),r.int(this._impl.pipeline_frame_number(t))}),n.sendMessage(6,r=>{r.type(e),r.cameraModel(this._impl.pipeline_camera_model(t))}),n.sendMessage(5,r=>{r.type(e),r.int(this._impl.pipeline_camera_frame_user_data(t))}),n.sendMessage(11,r=>{r.type(e),r.matrix4x4(this._impl.pipeline_camera_frame_camera_attitude(t))}),n.sendMessage(12,r=>{r.type(e),r.matrix4x4(this._impl.pipeline_camera_frame_device_attitude(t))}))}for(let[e,t]of this._camera_source_by_instance){let t=this._pipeline_id_by_camera_source_id.get(e);if(!t)continue;this.serializersByPipelineId.get(t)}for(let[e,t]of this._sequence_source_by_instance){let t=this._pipeline_id_by_sequence_source_id.get(e);if(!t)continue;this.serializersByPipelineId.get(t)}for(let[e,t]of this._image_tracker_by_instance){let r=this._pipeline_id_by_image_tracker_id.get(e);if(!r)continue;let n=this.serializersByPipelineId.get(r);if(n){n.sendMessage(19,r=>{r.type(e),r.int(this._impl.image_tracker_target_loaded_version(t))}),n.sendMessage(21,r=>{r.type(e),r.int(this._impl.image_tracker_target_count(t))}),n.sendMessage(1,r=>{r.type(e),r.int(this._impl.image_tracker_anchor_count(t))});for(let r=0;r<this._impl.image_tracker_anchor_count(t);r++)n.sendMessage(2,n=>{n.type(e),n.int(r),n.string(this._impl.image_tracker_anchor_id(t,r))});for(let r=0;r<this._impl.image_tracker_anchor_count(t);r++)n.sendMessage(3,n=>{n.type(e),n.int(r),n.matrix4x4(this._impl.image_tracker_anchor_pose_raw(t,r))})}}for(let[e,t]of this._face_tracker_by_instance){let r=this._pipeline_id_by_face_tracker_id.get(e);if(!r)continue;let n=this.serializersByPipelineId.get(r);if(n){n.sendMessage(18,r=>{r.type(e),r.int(this._impl.face_tracker_model_loaded_version(t))}),n.sendMessage(13,r=>{r.type(e),r.int(this._impl.face_tracker_anchor_count(t))});for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)n.sendMessage(14,n=>{n.type(e),n.int(r),n.string(this._impl.face_tracker_anchor_id(t,r))});for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)n.sendMessage(15,n=>{n.type(e),n.int(r),n.matrix4x4(this._impl.face_tracker_anchor_pose_raw(t,r))});for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)n.sendMessage(16,n=>{n.type(e),n.int(r),n.identityCoefficients(this._impl.face_tracker_anchor_identity_coefficients(t,r))});for(let r=0;r<this._impl.face_tracker_anchor_count(t);r++)n.sendMessage(17,n=>{n.type(e),n.int(r),n.expressionCoefficients(this._impl.face_tracker_anchor_expression_coefficients(t,r))})}}for(let[e,t]of this._face_mesh_by_instance){let t=this._pipeline_id_by_face_mesh_id.get(e);if(!t)continue;this.serializersByPipelineId.get(t)}for(let[e,t]of this._face_landmark_by_instance){let t=this._pipeline_id_by_face_landmark_id.get(e);if(!t)continue;this.serializersByPipelineId.get(t)}for(let[e,t]of this._barcode_finder_by_instance){let r=this._pipeline_id_by_barcode_finder_id.get(e);if(!r)continue;let n=this.serializersByPipelineId.get(r);if(n){n.sendMessage(8,r=>{r.type(e),r.int(this._impl.barcode_finder_found_number(t))});for(let r=0;r<this._impl.barcode_finder_found_number(t);r++)n.sendMessage(9,n=>{n.type(e),n.int(r),n.string(this._impl.barcode_finder_found_text(t,r))});for(let r=0;r<this._impl.barcode_finder_found_number(t);r++)n.sendMessage(10,n=>{n.type(e),n.int(r),n.barcodeFormat(this._impl.barcode_finder_found_format(t,r))})}}for(let[e,t]of this._instant_world_tracker_by_instance){let r=this._pipeline_id_by_instant_world_tracker_id.get(e);if(!r)continue;let n=this.serializersByPipelineId.get(r);n&&n.sendMessage(4,r=>{r.type(e),r.matrix4x4(this._impl.instant_world_tracker_anchor_pose_raw(t))})}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageSerializer=void 0;t.MessageSerializer=class{constructor(e){this._messageSender=e,this._freeBufferPool=[],this._buffer=new ArrayBuffer(16),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1,this._timeoutSet=!1,this._appender={int:e=>this.int(e),bool:e=>this.int(e?1:0),float:e=>this.float(e),string:e=>this.string(e),dataWithLength:e=>this.arrayBuffer(e),type:e=>this.int(e),matrix4x4:e=>this.float32ArrayBuffer(e),matrix3x3:e=>this.float32ArrayBuffer(e),identityCoefficients:e=>this.float32ArrayBuffer(e),expressionCoefficients:e=>this.float32ArrayBuffer(e),cameraModel:e=>this.float32ArrayBuffer(e),timestamp:e=>this.double(e),barcodeFormat:e=>this.int(e),faceLandmarkName:e=>this.int(e),instantTrackerTransformOrientation:e=>this.int(e),logLevel:e=>this.int(e)},this._freeBufferPool.push(new ArrayBuffer(16)),this._freeBufferPool.push(new ArrayBuffer(16))}bufferReturn(e){this._freeBufferPool.push(e)}_ensureArrayBuffer(e){let t=4*(this._offset+e+8);if(this._buffer&&this._buffer.byteLength>=t)return;let r=void 0;if(!r){let e=t;e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e++,r=new ArrayBuffer(e)}let n=this._buffer?this._i32View:void 0;this._buffer=r,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),n&&this._i32View.set(n.subarray(0,this._offset))}sendMessage(e,t){this._ensureArrayBuffer(4),this._startOffset=this._offset,this._i32View[this._offset+1]=e,this._offset+=2,t(this._appender),this._i32View[this._startOffset]=this._offset-this._startOffset,this._startOffset=-1,this._sendOneTime()}_sendOneTime(){!1===this._timeoutSet&&(this._timeoutSet=!0,setTimeout(()=>{this._timeoutSet=!1,this._send()},0))}_send(){0!==this._freeBufferPool.length?(this._i32View[0]=this._offset,this._messageSender(this._buffer),this._buffer=void 0,this._buffer=this._freeBufferPool.pop(),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u8cView=new Uint8ClampedArray(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=1,this._startOffset=-1):this._sendOneTime()}int(e){this._ensureArrayBuffer(1),this._i32View[this._offset]=e,this._offset++}double(e){this._ensureArrayBuffer(2),this._offset%2==1&&this._offset++,this._f64View[this._offset/2]=e,this._offset+=2}float(e){this._ensureArrayBuffer(1),this._f32View[this._offset]=e,this._offset++}int32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t];this._offset+=e.length}float32Array(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._f32View[this._offset+t]=e[t];this._offset+=e.length}booleanArray(e){this._ensureArrayBuffer(e.length);for(let t=0;t<e.length;++t)this._i32View[this._offset+t]=e[t]?1:0;this._offset+=e.length}uint8ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8View.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}arrayBuffer(e){let t=new Uint8Array(e);this.uint8ArrayBuffer(t)}uint8ClampedArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.byteLength,this._offset++,this._u8cView.set(e,4*this._offset),this._offset+=e.byteLength>>2,0!=(3&e.byteLength)&&this._offset++}float32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._f32View.set(e,this._offset),this._offset+=e.length}uint16ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++;let t=2*this._offset;this._u16View.set(e,t),this._offset+=e.length>>1,0!=(1&e.length)&&this._offset++}int32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._i32View.set(e,this._offset),this._offset+=e.length}uint32ArrayBuffer(e){this._ensureArrayBuffer(e.byteLength/4),this._i32View[this._offset]=e.length,this._offset++,this._u32View.set(e,this._offset),this._offset+=e.length}string(e){let t=(new TextEncoder).encode(e);this._ensureArrayBuffer(t.byteLength/4),this._i32View[this._offset]=t.byteLength,this._offset++,this._u8View.set(t,4*this._offset),this._offset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._offset++}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MessageDeserializer=void 0;t.MessageDeserializer=class{constructor(){this._buffer=new ArrayBuffer(0),this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,this._startOffset=-1,this._processor={int:()=>this._i32View[this._startOffset++],bool:()=>1===this._i32View[this._startOffset++],type:()=>this._i32View[this._startOffset++],float:()=>this._f32View[this._startOffset++],timestamp:()=>{this._startOffset%2==1&&this._startOffset++;let e=this._f64View[this._startOffset/2];return this._startOffset+=2,e},string:()=>{let e=this._i32View[this._startOffset++],t=(new TextDecoder).decode(new Uint8Array(this._buffer,4*this._startOffset,e));return this._startOffset+=e>>2,0!=(3&e)&&this._startOffset++,t},dataWithLength:()=>{let e=this._i32View[this._startOffset++],t=new Uint8Array(e);return t.set(this._u8View.subarray(4*this._startOffset,4*this._startOffset+e)),this._startOffset+=t.byteLength>>2,0!=(3&t.byteLength)&&this._startOffset++,t.buffer},matrix4x4:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+16)),this._startOffset+=e,t},matrix3x3:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+9)),this._startOffset+=e,t},identityCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+50)),this._startOffset+=e,t},expressionCoefficients:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+29)),this._startOffset+=e,t},cameraModel:()=>{let e=this._i32View[this._startOffset++],t=new Float32Array(e);return t.set(this._f32View.subarray(this._startOffset,this._startOffset+6)),this._startOffset+=e,t},barcodeFormat:()=>this._i32View[this._startOffset++],faceLandmarkName:()=>this._i32View[this._startOffset++],instantTrackerTransformOrientation:()=>this._i32View[this._startOffset++],logLevel:()=>this._i32View[this._startOffset++]}}setData(e){this._buffer=e,this._i32View=new Int32Array(this._buffer),this._f32View=new Float32Array(this._buffer),this._f64View=new Float64Array(this._buffer),this._u8View=new Uint8Array(this._buffer),this._u16View=new Uint16Array(this._buffer),this._u32View=new Uint32Array(this._buffer),this._offset=0,this._length=0,e.byteLength>=4&&(this._offset=1,this._length=this._i32View[0]),this._startOffset=-1}hasMessage(){return this._offset+1<this._length}forMessages(e){for(;this.hasMessage();){let t=this._i32View[this._offset],r=this._i32View[this._offset+1];this._startOffset=this._offset+2,this._offset+=t,e(r,this._processor)}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MsgManager=void 0;const n=r(14);t.MsgManager=class{constructor(){this.onOutgoingMessage=new n.Event,this.onIncomingMessage=new n.Event1,this._outgoingMessages=[]}postIncomingMessage(e){this.onIncomingMessage.emit(e)}postOutgoingMessage(e,t){this._outgoingMessages.push({msg:e,transferables:t}),this.onOutgoingMessage.emit()}getOutgoingMessages(){let e=this._outgoingMessages;return this._outgoingMessages=[],e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Event5=t.Event3=t.Event2=t.Event1=t.Event=void 0;t.Event=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(){for(var e=0,t=this._funcs.length;e<t;e++)this._funcs[e]()}};t.Event1=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e){for(var t=0,r=this._funcs.length;t<r;t++)this._funcs[t](e)}};t.Event2=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t){for(var r=0,n=this._funcs.length;r<n;r++)this._funcs[r](e,t)}};t.Event3=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t,r){for(var n=0,a=this._funcs.length;n<a;n++)this._funcs[n](e,t,r)}};t.Event5=class{constructor(){this._funcs=[]}bind(e){this._funcs.push(e)}unbind(e){let t=this._funcs.indexOf(e);t>-1&&this._funcs.splice(t,1)}emit(e,t,r,n,a){for(var i=0,o=this._funcs.length;i<o;i++)this._funcs[i](e,t,r,n,a)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.frame_pixel_format_t=t.log_level_t=t.instant_world_tracker_transform_orientation_t=t.face_landmark_name_t=t.barcode_format_t=void 0,function(e){e[e.UNKNOWN=131072]="UNKNOWN",e[e.AZTEC=1]="AZTEC",e[e.CODABAR=2]="CODABAR",e[e.CODE_39=4]="CODE_39",e[e.CODE_93=8]="CODE_93",e[e.CODE_128=16]="CODE_128",e[e.DATA_MATRIX=32]="DATA_MATRIX",e[e.EAN_8=64]="EAN_8",e[e.EAN_13=128]="EAN_13",e[e.ITF=256]="ITF",e[e.MAXICODE=512]="MAXICODE",e[e.PDF_417=1024]="PDF_417",e[e.QR_CODE=2048]="QR_CODE",e[e.RSS_14=4096]="RSS_14",e[e.RSS_EXPANDED=8192]="RSS_EXPANDED",e[e.UPC_A=16384]="UPC_A",e[e.UPC_E=32768]="UPC_E",e[e.UPC_EAN_EXTENSION=65536]="UPC_EAN_EXTENSION",e[e.ALL=131071]="ALL"}(t.barcode_format_t||(t.barcode_format_t={})),function(e){e[e.EYE_LEFT=0]="EYE_LEFT",e[e.EYE_RIGHT=1]="EYE_RIGHT",e[e.EAR_LEFT=2]="EAR_LEFT",e[e.EAR_RIGHT=3]="EAR_RIGHT",e[e.NOSE_BRIDGE=4]="NOSE_BRIDGE",e[e.NOSE_TIP=5]="NOSE_TIP",e[e.NOSE_BASE=6]="NOSE_BASE",e[e.LIP_TOP=7]="LIP_TOP",e[e.LIP_BOTTOM=8]="LIP_BOTTOM",e[e.MOUTH_CENTER=9]="MOUTH_CENTER",e[e.CHIN=10]="CHIN",e[e.EYEBROW_LEFT=11]="EYEBROW_LEFT",e[e.EYEBROW_RIGHT=12]="EYEBROW_RIGHT"}(t.face_landmark_name_t||(t.face_landmark_name_t={})),function(e){e[e.WORLD=3]="WORLD",e[e.MINUS_Z_AWAY_FROM_USER=4]="MINUS_Z_AWAY_FROM_USER",e[e.MINUS_Z_HEADING=5]="MINUS_Z_HEADING",e[e.UNCHANGED=6]="UNCHANGED"}(t.instant_world_tracker_transform_orientation_t||(t.instant_world_tracker_transform_orientation_t={})),function(e){e[e.LOG_LEVEL_NONE=0]="LOG_LEVEL_NONE",e[e.LOG_LEVEL_ERROR=1]="LOG_LEVEL_ERROR",e[e.LOG_LEVEL_WARNING=2]="LOG_LEVEL_WARNING",e[e.LOG_LEVEL_VERBOSE=3]="LOG_LEVEL_VERBOSE"}(t.log_level_t||(t.log_level_t={})),function(e){e[e.FRAME_PIXEL_FORMAT_I420=0]="FRAME_PIXEL_FORMAT_I420",e[e.FRAME_PIXEL_FORMAT_I420A=1]="FRAME_PIXEL_FORMAT_I420A",e[e.FRAME_PIXEL_FORMAT_I422=2]="FRAME_PIXEL_FORMAT_I422",e[e.FRAME_PIXEL_FORMAT_I444=3]="FRAME_PIXEL_FORMAT_I444",e[e.FRAME_PIXEL_FORMAT_NV12=4]="FRAME_PIXEL_FORMAT_NV12",e[e.FRAME_PIXEL_FORMAT_RGBA=5]="FRAME_PIXEL_FORMAT_RGBA",e[e.FRAME_PIXEL_FORMAT_BGRA=6]="FRAME_PIXEL_FORMAT_BGRA",e[e.FRAME_PIXEL_FORMAT_Y=7]="FRAME_PIXEL_FORMAT_Y"}(t.frame_pixel_format_t||(t.frame_pixel_format_t={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleImageBitmap=void 0;const n=r(17),a=r(0),i=r(1);let o,s,u,c;t.handleImageBitmap=function(e,t,r,_){const[f,l]=function(){if(!u||!c){const e=new OffscreenCanvas(1,1);if(c=e.getContext("webgl"),!c)throw new Error("Unable to get offscreen GL context");u=new n.ImageProcessGL(c)}return[u,c]}();if(s||(s=l.createTexture(),l.bindTexture(l.TEXTURE_2D,s),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_S,l.CLAMP_TO_EDGE),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_T,l.CLAMP_TO_EDGE),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_MIN_FILTER,l.LINEAR)),!s)return;(!o||o.byteLength<a.profile.dataWidth*a.profile.dataHeight)&&(console.log("Generating pixel buffer",a.profile.dataWidth*a.profile.dataHeight),o=new ArrayBuffer(a.profile.dataWidth*a.profile.dataHeight)),f.uploadFrame(s,e.i,e.r,e.userFacing);let d=f.readFrame(s,o),p={t:"imageBitmapS2C",dataWidth:d.dataWidth,dataHeight:d.dataHeight,frame:e.i,userFacing:d.userFacing,uvTransform:d.uvTransform||i.mat4.create(),tokenId:e.tokenId,p:e.p};_.postOutgoingMessage(p,[e.i]);let h=r._pipeline_by_instance.get(e.p);h&&(t.pipeline_camera_frame_submit(h,o,d.dataWidth,d.dataHeight,e.tokenId,e.cameraToDevice,e.cameraModel,d.userFacing),t.pipeline_frame_update(h),r.exploreState())}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImageProcessGL=void 0;const n=r(1),a=r(0),i=r(20);t.ImageProcessGL=class{constructor(e){this._gl=e,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._computedTransformRotation=-1,this._computedFrontCameraRotation=!1,this._cameraUvTransform=n.mat4.create(),this._framebufferWidth=0,this._framebufferHeight=0,this._framebufferId=null,this._renderTexture=null}resetGLContext(){this._framebufferId=null,this._renderTexture=null,this._vertexBuffer=void 0,this._indexBuffer=void 0,this._greyscaleShader=void 0}destroy(){this.resetGLContext()}uploadFrame(e,t,r,n){let i=this._gl;i.disable(i.SCISSOR_TEST),i.disable(i.DEPTH_TEST),i.disable(i.BLEND),i.disable(i.CULL_FACE),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,e);const o=i.RGBA,s=i.RGBA,u=i.UNSIGNED_BYTE;i.texImage2D(i.TEXTURE_2D,0,o,s,u,t);let c=0,_=0;"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?(c=t.videoWidth,_=t.videoHeight):(c=t.width,_=t.height),_>c&&(_=[c,c=_][0]),this._updateTransforms(r,n);let f=this._getFramebuffer(i,a.profile.dataWidth/4,a.profile.dataHeight),l=this._getVertexBuffer(i),d=this._getIndexBuffer(i),p=this._getGreyscaleShader(i);i.bindFramebuffer(i.FRAMEBUFFER,f),i.viewport(0,0,this._framebufferWidth,this._framebufferHeight),i.clearColor(0,0,0,1),i.clear(i.COLOR_BUFFER_BIT),i.bindBuffer(i.ARRAY_BUFFER,l),i.vertexAttribPointer(p.aVertexPositionLoc,2,i.FLOAT,!1,16,0),i.enableVertexAttribArray(p.aVertexPositionLoc),i.vertexAttribPointer(p.aTextureCoordLoc,2,i.FLOAT,!1,16,8),i.enableVertexAttribArray(p.aTextureCoordLoc),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,d),i.useProgram(p.program),i.uniform1f(p.uTexWidthLoc,a.profile.dataWidth),i.uniformMatrix4fv(p.uUvTransformLoc,!1,this._cameraUvTransform),i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,e),i.uniform1i(p.uSamplerLoc,0),i.drawElements(i.TRIANGLES,6,i.UNSIGNED_SHORT,0),i.disableVertexAttribArray(p.aVertexPositionLoc),i.disableVertexAttribArray(p.aTextureCoordLoc),i.bindFramebuffer(i.FRAMEBUFFER,null),i.bindBuffer(i.ARRAY_BUFFER,null),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,null),i.useProgram(null),i.bindTexture(i.TEXTURE_2D,null)}readFrame(e,t){let r=this._gl,n=new Uint8Array(t),i=this._getFramebuffer(r,a.profile.dataWidth/4,a.profile.dataHeight);return r.bindFramebuffer(r.FRAMEBUFFER,i),r.readPixels(0,0,this._framebufferWidth,this._framebufferHeight,r.RGBA,r.UNSIGNED_BYTE,n),r.bindFramebuffer(r.FRAMEBUFFER,null),{uvTransform:this._cameraUvTransform,data:t,texture:e,dataWidth:a.profile.dataWidth,dataHeight:a.profile.dataHeight,userFacing:this._computedFrontCameraRotation}}_updateTransforms(e,t){e==this._computedTransformRotation&&t==this._computedFrontCameraRotation||(this._computedTransformRotation=e,this._computedFrontCameraRotation=t,this._cameraUvTransform=this._getCameraUvTransform())}_getCameraUvTransform(){switch(this._computedTransformRotation){case 270:return new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]);case 180:return new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);case 90:return new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1])}return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}_getFramebuffer(e,t,r){if(this._framebufferWidth===t&&this._framebufferHeight===r&&this._framebufferId)return this._framebufferId;if(this._framebufferId&&(e.deleteFramebuffer(this._framebufferId),this._framebufferId=null),this._renderTexture&&(e.deleteTexture(this._renderTexture),this._renderTexture=null),this._framebufferId=e.createFramebuffer(),!this._framebufferId)throw new Error("Unable to create framebuffer");if(e.bindFramebuffer(e.FRAMEBUFFER,this._framebufferId),this._renderTexture=e.createTexture(),!this._renderTexture)throw new Error("Unable to create render texture");e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._renderTexture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameterf(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this._renderTexture,0);let n=e.checkFramebufferStatus(e.FRAMEBUFFER);if(n!==e.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer not complete: "+n.toString());return this._framebufferWidth=t,this._framebufferHeight=r,e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),this._framebufferId}_getVertexBuffer(e){if(this._vertexBuffer)return this._vertexBuffer;if(this._vertexBuffer=e.createBuffer(),!this._vertexBuffer)throw new Error("Unable to create vertex buffer");e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer);let t=new Float32Array([-1,-1,0,0,-1,1,0,1,1,1,1,1,1,-1,1,0]);return e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW),this._vertexBuffer}_getIndexBuffer(e){if(this._indexBuffer)return this._indexBuffer;if(this._indexBuffer=e.createBuffer(),!this._indexBuffer)throw new Error("Unable to create index buffer");e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer);let t=new Uint16Array([0,1,2,0,2,3]);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW),this._indexBuffer}_getGreyscaleShader(e){if(this._greyscaleShader)return this._greyscaleShader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=i.compileShader(e,e.VERTEX_SHADER,o),n=i.compileShader(e,e.FRAGMENT_SHADER,s);e.attachShader(t,r),e.attachShader(t,n),i.linkProgram(e,t);let a=e.getUniformLocation(t,"uTexWidth");if(!a)throw new Error("Unable to get uniform location uTexWidth");let u=e.getUniformLocation(t,"uUvTransform");if(!u)throw new Error("Unable to get uniform location uUvTransform");let c=e.getUniformLocation(t,"uSampler");if(!c)throw new Error("Unable to get uniform location uSampler");return this._greyscaleShader={program:t,aVertexPositionLoc:e.getAttribLocation(t,"aVertexPosition"),aTextureCoordLoc:e.getAttribLocation(t,"aTextureCoord"),uTexWidthLoc:a,uUvTransformLoc:u,uSamplerLoc:c},this._greyscaleShader}};let o="\\n attribute vec4 aVertexPosition;\\n attribute vec2 aTextureCoord;\\n\\n varying highp vec2 vTextureCoord1;\\n varying highp vec2 vTextureCoord2;\\n varying highp vec2 vTextureCoord3;\\n varying highp vec2 vTextureCoord4;\\n\\n uniform float uTexWidth;\\n\\tuniform mat4 uUvTransform;\\n\\n void main(void) {\\n highp vec2 offset1 = vec2(1.5 / uTexWidth, 0);\\n highp vec2 offset2 = vec2(0.5 / uTexWidth, 0);\\n\\n gl_Position = aVertexPosition;\\n vTextureCoord1 = (uUvTransform * vec4(aTextureCoord - offset1, 0, 1)).xy;\\n vTextureCoord2 = (uUvTransform * vec4(aTextureCoord - offset2, 0, 1)).xy;\\n vTextureCoord3 = (uUvTransform * vec4(aTextureCoord + offset2, 0, 1)).xy;\\n vTextureCoord4 = (uUvTransform * vec4(aTextureCoord + offset1, 0, 1)).xy;\\n }\\n",s="\\n varying highp vec2 vTextureCoord1;\\n varying highp vec2 vTextureCoord2;\\n varying highp vec2 vTextureCoord3;\\n varying highp vec2 vTextureCoord4;\\n\\n uniform sampler2D uSampler;\\n\\n const lowp vec3 colorWeights = vec3(77.0 / 256.0, 150.0 / 256.0, 29.0 / 256.0);\\n\\n void main(void) {\\n lowp vec4 outpx;\\n\\n outpx.r = dot(colorWeights, texture2D(uSampler, vTextureCoord1).xyz);\\n outpx.g = dot(colorWeights, texture2D(uSampler, vTextureCoord2).xyz);\\n outpx.b = dot(colorWeights, texture2D(uSampler, vTextureCoord3).xyz);\\n outpx.a = dot(colorWeights, texture2D(uSampler, vTextureCoord4).xyz);\\n\\n gl_FragColor = outpx;\\n }\\n"},function(e,t,r){var n;!function(a,i){"use strict";var o="model",s="name",u="type",c="vendor",_="version",f="mobile",l="tablet",d="smarttv",p=function(e){var t={};for(var r in e)t[e[r].toUpperCase()]=e[r];return t},h=function(e,t){return"string"==typeof e&&-1!==m(t).indexOf(m(e))},m=function(e){return e.toLowerCase()},b=function(e,t){if("string"==typeof e)return e=e.replace(/^\\s\\s*/,"").replace(/\\s\\s*$/,""),void 0===t?e:e.substring(0,255)},g=function(e,t){for(var r,n,a,i,o,s,u=0;u<t.length&&!o;){var c=t[u],_=t[u+1];for(r=n=0;r<c.length&&!o;)if(o=c[r++].exec(e))for(a=0;a<_.length;a++)s=o[++n],"object"==typeof(i=_[a])&&i.length>0?2==i.length?"function"==typeof i[1]?this[i[0]]=i[1].call(this,s):this[i[0]]=i[1]:3==i.length?"function"!=typeof i[1]||i[1].exec&&i[1].test?this[i[0]]=s?s.replace(i[1],i[2]):void 0:this[i[0]]=s?i[1].call(this,s,i[2]):void 0:4==i.length&&(this[i[0]]=s?i[3].call(this,s.replace(i[1],i[2])):void 0):this[i]=s||void 0;u+=2}},w=function(e,t){for(var r in t)if("object"==typeof t[r]&&t[r].length>0){for(var n=0;n<t[r].length;n++)if(h(t[r][n],e))return"?"===r?void 0:r}else if(h(t[r],e))return"?"===r?void 0:r;return e},v={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},y={browser:[[/\\b(?:crmo|crios)\\/([\\w\\.]+)/i],[_,[s,"Chrome"]],[/edg(?:e|ios|a)?\\/([\\w\\.]+)/i],[_,[s,"Edge"]],[/(opera mini)\\/([-\\w\\.]+)/i,/(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,/(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i],[s,_],[/opios[\\/ ]+([\\w\\.]+)/i],[_,[s,"Opera Mini"]],[/\\bopr\\/([\\w\\.]+)/i],[_,[s,"Opera"]],[/(kindle)\\/([\\w\\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i,/(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i,/(?:ms|\\()(ie) ([\\w\\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\\/([-\\w\\.]+)/i,/(weibo)__([\\d\\.]+)/i],[s,_],[/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i],[_,[s,"UCBrowser"]],[/\\bqbcore\\/([\\w\\.]+)/i],[_,[s,"WeChat(Win) Desktop"]],[/micromessenger\\/([\\w\\.]+)/i],[_,[s,"WeChat"]],[/konqueror\\/([\\w\\.]+)/i],[_,[s,"Konqueror"]],[/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i],[_,[s,"IE"]],[/yabrowser\\/([\\w\\.]+)/i],[_,[s,"Yandex"]],[/(avast|avg)\\/([\\w\\.]+)/i],[[s,/(.+)/,"$1 Secure Browser"],_],[/\\bfocus\\/([\\w\\.]+)/i],[_,[s,"Firefox Focus"]],[/\\bopt\\/([\\w\\.]+)/i],[_,[s,"Opera Touch"]],[/coc_coc\\w+\\/([\\w\\.]+)/i],[_,[s,"Coc Coc"]],[/dolfin\\/([\\w\\.]+)/i],[_,[s,"Dolphin"]],[/coast\\/([\\w\\.]+)/i],[_,[s,"Opera Coast"]],[/miuibrowser\\/([\\w\\.]+)/i],[_,[s,"MIUI Browser"]],[/fxios\\/([-\\w\\.]+)/i],[_,[s,"Firefox"]],[/\\bqihu|(qi?ho?o?|360)browser/i],[[s,"360 Browser"]],[/(oculus|samsung|sailfish)browser\\/([\\w\\.]+)/i],[[s,/(.+)/,"$1 Browser"],_],[/(comodo_dragon)\\/([\\w\\.]+)/i],[[s,/_/g," "],_],[/(electron)\\/([\\w\\.]+) safari/i,/(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i],[s,_],[/(metasr)[\\/ ]?([\\w\\.]+)/i,/(lbbrowser)/i],[s],[/((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i],[[s,"Facebook"],_],[/safari (line)\\/([\\w\\.]+)/i,/\\b(line)\\/([\\w\\.]+)\\/iab/i,/(chromium|instagram)[\\/ ]([-\\w\\.]+)/i],[s,_],[/\\bgsa\\/([\\w\\.]+) .*safari\\//i],[_,[s,"GSA"]],[/headlesschrome(?:\\/([\\w\\.]+)| )/i],[_,[s,"Chrome Headless"]],[/ wv\\).+(chrome)\\/([\\w\\.]+)/i],[[s,"Chrome WebView"],_],[/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i],[_,[s,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i],[s,_],[/version\\/([\\w\\.]+) .*mobile\\/\\w+ (safari)/i],[_,[s,"Mobile Safari"]],[/version\\/([\\w\\.]+) .*(mobile ?safari|safari)/i],[_,s],[/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i],[s,[_,w,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\\/([\\w\\.]+)/i],[s,_],[/(navigator|netscape\\d?)\\/([-\\w\\.]+)/i],[[s,"Netscape"],_],[/mobile vr; rv:([\\w\\.]+)\\).+firefox/i],[_,[s,"Firefox Reality"]],[/ekiohf.+(flow)\\/([\\w\\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,/(firefox)\\/([\\w\\.]+)/i,/(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,/(links) \\(([\\w\\.]+)/i],[s,_]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i],[["architecture","amd64"]],[/(ia32(?=;))/i],[["architecture",m]],[/((?:i[346]|x)86)[;\\)]/i],[["architecture","ia32"]],[/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i],[["architecture","arm64"]],[/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i],[["architecture","armhf"]],[/windows (ce|mobile); ppc;/i],[["architecture","arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i],[["architecture",/ower/,"",m]],[/(sun4\\w)[;\\)]/i],[["architecture","sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i],[["architecture",m]]],device:[[/\\b(sch-i[89]0\\d|shw-m380s|sm-[pt]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i],[o,[c,"Samsung"],[u,l]],[/\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i,/samsung[- ]([-\\w]+)/i,/sec-(sgh\\w+)/i],[o,[c,"Samsung"],[u,f]],[/\\((ip(?:hone|od)[\\w ]*);/i],[o,[c,"Apple"],[u,f]],[/\\((ipad);[-\\w\\),; ]+apple/i,/applecoremedia\\/[\\w\\.]+ \\((ipad)/i,/\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i],[o,[c,"Apple"],[u,l]],[/\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i],[o,[c,"Huawei"],[u,l]],[/(?:huawei|honor)([-\\w ]+)[;\\)]/i,/\\b(nexus 6p|\\w{2,4}-[atu]?[ln][01259x][012359][an]?)\\b(?!.+d\\/s)/i],[o,[c,"Huawei"],[u,f]],[/\\b(poco[\\w ]+)(?: bui|\\))/i,/\\b; (\\w+) build\\/hm\\1/i,/\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,/\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,/\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i],[[o,/_/g," "],[c,"Xiaomi"],[u,f]],[/\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i],[[o,/_/g," "],[c,"Xiaomi"],[u,l]],[/; (\\w+) bui.+ oppo/i,/\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007)\\b/i],[o,[c,"OPPO"],[u,f]],[/vivo (\\w+)(?: bui|\\))/i,/\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i],[o,[c,"Vivo"],[u,f]],[/\\b(rmx[12]\\d{3})(?: bui|;|\\))/i],[o,[c,"Realme"],[u,f]],[/\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,/\\bmot(?:orola)?[- ](\\w*)/i,/((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i],[o,[c,"Motorola"],[u,f]],[/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i],[o,[c,"Motorola"],[u,l]],[/((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i],[o,[c,"LG"],[u,l]],[/(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,/\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,/\\blg-?([\\d\\w]+) bui/i],[o,[c,"LG"],[u,f]],[/(ideatab[-\\w ]+)/i,/lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i],[o,[c,"Lenovo"],[u,l]],[/(?:maemo|nokia).*(n900|lumia \\d+)/i,/nokia[-_ ]?([-\\w\\.]*)/i],[[o,/_/g," "],[c,"Nokia"],[u,f]],[/(pixel c)\\b/i],[o,[c,"Google"],[u,l]],[/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i],[o,[c,"Google"],[u,f]],[/droid.+ ([c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i],[o,[c,"Sony"],[u,f]],[/sony tablet [ps]/i,/\\b(?:sony)?sgp\\w+(?: bui|\\))/i],[[o,"Xperia Tablet"],[c,"Sony"],[u,l]],[/ (kb2005|in20[12]5|be20[12][59])\\b/i,/(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i],[o,[c,"OnePlus"],[u,f]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\\))/i,/(kf[a-z]+)( bui|\\)).+silk\\//i],[o,[c,"Amazon"],[u,l]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i],[[o,/(.+)/g,"Fire Phone $1"],[c,"Amazon"],[u,f]],[/(playbook);[-\\w\\),; ]+(rim)/i],[o,c,[u,l]],[/\\b((?:bb[a-f]|st[hv])100-\\d)/i,/\\(bb10; (\\w+)/i],[o,[c,"BlackBerry"],[u,f]],[/(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i],[o,[c,"ASUS"],[u,l]],[/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i],[o,[c,"ASUS"],[u,f]],[/(nexus 9)/i],[o,[c,"HTC"],[u,l]],[/(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,/(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,/(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\\w]*)/i],[c,[o,/_/g," "],[u,f]],[/droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i],[o,[c,"Acer"],[u,l]],[/droid.+; (m[1-5] note) bui/i,/\\bmz-([-\\w]{2,})/i],[o,[c,"Meizu"],[u,f]],[/\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i],[o,[c,"Sharp"],[u,f]],[/(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,/(hp) ([\\w ]+\\w)/i,/(asus)-?(\\w+)/i,/(microsoft); (lumia[\\w ]+)/i,/(lenovo)[-_ ]?([-\\w]+)/i,/(jolla)/i,/(oppo) ?([\\w ]+) bui/i],[c,o,[u,f]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\\/([\\w\\.]+)/i,/(nook)[\\w ]+build\\/(\\w+)/i,/(dell) (strea[kpr\\d ]*[\\dko])/i,/(le[- ]+pan)[- ]+(\\w{1,9}) bui/i,/(trinity)[- ]*(t\\d{3}) bui/i,/(gigaset)[- ]+(q\\w{1,9}) bui/i,/(vodafone) ([\\w ]+)(?:\\)| bui)/i],[c,o,[u,l]],[/(surface duo)/i],[o,[c,"Microsoft"],[u,l]],[/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i],[o,[c,"Fairphone"],[u,f]],[/(u304aa)/i],[o,[c,"AT&T"],[u,f]],[/\\bsie-(\\w*)/i],[o,[c,"Siemens"],[u,f]],[/\\b(rct\\w+) b/i],[o,[c,"RCA"],[u,l]],[/\\b(venue[\\d ]{2,7}) b/i],[o,[c,"Dell"],[u,l]],[/\\b(q(?:mv|ta)\\w+) b/i],[o,[c,"Verizon"],[u,l]],[/\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i],[o,[c,"Barnes & Noble"],[u,l]],[/\\b(tm\\d{3}\\w+) b/i],[o,[c,"NuVision"],[u,l]],[/\\b(k88) b/i],[o,[c,"ZTE"],[u,l]],[/\\b(nx\\d{3}j) b/i],[o,[c,"ZTE"],[u,f]],[/\\b(gen\\d{3}) b.+49h/i],[o,[c,"Swiss"],[u,f]],[/\\b(zur\\d{3}) b/i],[o,[c,"Swiss"],[u,l]],[/\\b((zeki)?tb.*\\b) b/i],[o,[c,"Zeki"],[u,l]],[/\\b([yr]\\d{2}) b/i,/\\b(dragon[- ]+touch |dt)(\\w{5}) b/i],[[c,"Dragon Touch"],o,[u,l]],[/\\b(ns-?\\w{0,9}) b/i],[o,[c,"Insignia"],[u,l]],[/\\b((nxa|next)-?\\w{0,9}) b/i],[o,[c,"NextBook"],[u,l]],[/\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[c,"Voice"],o,[u,f]],[/\\b(lvtel\\-)?(v1[12]) b/i],[[c,"LvTel"],o,[u,f]],[/\\b(ph-1) /i],[o,[c,"Essential"],[u,f]],[/\\b(v(100md|700na|7011|917g).*\\b) b/i],[o,[c,"Envizen"],[u,l]],[/\\b(trio[-\\w\\. ]+) b/i],[o,[c,"MachSpeed"],[u,l]],[/\\btu_(1491) b/i],[o,[c,"Rotor"],[u,l]],[/(shield[\\w ]+) b/i],[o,[c,"Nvidia"],[u,l]],[/(sprint) (\\w+)/i],[c,o,[u,f]],[/(kin\\.[onetw]{3})/i],[[o,/\\./g," "],[c,"Microsoft"],[u,f]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i],[o,[c,"Zebra"],[u,l]],[/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i],[o,[c,"Zebra"],[u,f]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[c,o,[u,"console"]],[/droid.+; (shield) bui/i],[o,[c,"Nvidia"],[u,"console"]],[/(playstation [345portablevi]+)/i],[o,[c,"Sony"],[u,"console"]],[/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i],[o,[c,"Microsoft"],[u,"console"]],[/smart-tv.+(samsung)/i],[c,[u,d]],[/hbbtv.+maple;(\\d+)/i],[[o,/^/,"SmartTV"],[c,"Samsung"],[u,d]],[/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i],[[c,"LG"],[u,d]],[/(apple) ?tv/i],[c,[o,"Apple TV"],[u,d]],[/crkey/i],[[o,"Chromecast"],[c,"Google"],[u,d]],[/droid.+aft(\\w)( bui|\\))/i],[o,[c,"Amazon"],[u,d]],[/\\(dtv[\\);].+(aquos)/i],[o,[c,"Sharp"],[u,d]],[/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i,/hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i],[[c,b],[o,b],[u,d]],[/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i],[[u,d]],[/((pebble))app/i],[c,o,[u,"wearable"]],[/droid.+; (glass) \\d/i],[o,[c,"Google"],[u,"wearable"]],[/droid.+; (wt63?0{2,3})\\)/i],[o,[c,"Zebra"],[u,"wearable"]],[/(quest( 2)?)/i],[o,[c,"Facebook"],[u,"wearable"]],[/(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i],[c,[u,"embedded"]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i],[o,[u,f]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i],[o,[u,l]],[/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i],[[u,l]],[/(phone|mobile(?:[;\\/]| safari)|pda(?=.+windows ce))/i],[[u,f]],[/(android[-\\w\\. ]{0,9});.+buil/i],[o,[c,"Generic"]]],engine:[[/windows.+ edge\\/([\\w\\.]+)/i],[_,[s,"EdgeHTML"]],[/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i],[_,[s,"Blink"]],[/(presto)\\/([\\w\\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,/ekioh(flow)\\/([\\w\\.]+)/i,/(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,/(icab)[\\/ ]([23]\\.[\\d\\.]+)/i],[s,_],[/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i],[_,s]],os:[[/microsoft (windows) (vista|xp)/i],[s,_],[/(windows) nt 6\\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i,/(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i],[s,[_,w,v]],[/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i],[[s,"Windows"],[_,w,v]],[/ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i,/cfnetwork\\/.+darwin/i],[[_,/_/g,"."],[s,"iOS"]],[/(mac os x) ?([\\w\\. ]*)/i,/(macintosh|mac_powerpc\\b)(?!.+haiku)/i],[[s,"Mac OS"],[_,/_/g,"."]],[/droid ([\\w\\.]+)\\b.+(android[- ]x86)/i],[_,s],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,/(blackberry)\\w*\\/([\\w\\.]*)/i,/(tizen|kaios)[\\/ ]([\\w\\.]+)/i,/\\((series40);/i],[s,_],[/\\(bb(10);/i],[_,[s,"BlackBerry"]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i],[_,[s,"Symbian"]],[/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i],[_,[s,"Firefox OS"]],[/web0s;.+rt(tv)/i,/\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i],[_,[s,"webOS"]],[/crkey\\/([\\d\\.]+)/i],[_,[s,"Chromecast"]],[/(cros) [\\w]+ ([\\w\\.]+\\w)/i],[[s,"Chromium OS"],_],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\\);]+)/i,/\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,/(mint)[\\/\\(\\) ]?(\\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,/(hurd|linux) ?([\\w\\.]*)/i,/(gnu) ?([\\w\\.]*)/i,/\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,/(haiku) (\\w+)/i],[s,_],[/(sunos) ?([\\w\\.\\d]*)/i],[[s,"Solaris"],_],[/((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,/(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,/\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\\w\\.]*)/i],[s,_]]},M=function(e,t){if("object"==typeof e&&(t=e,e=void 0),!(this instanceof M))return new M(e,t).getResult();var r=e||(void 0!==a&&a.navigator&&a.navigator.userAgent?a.navigator.userAgent:""),n=t?function(e,t){var r={};for(var n in e)t[n]&&t[n].length%2==0?r[n]=t[n].concat(e[n]):r[n]=e[n];return r}(y,t):y;return this.getBrowser=function(){var e,t={};return t[s]=void 0,t[_]=void 0,g.call(t,r,n.browser),t.major="string"==typeof(e=t.version)?e.replace(/[^\\d\\.]/g,"").split(".")[0]:void 0,t},this.getCPU=function(){var e={architecture:void 0};return g.call(e,r,n.cpu),e},this.getDevice=function(){var e={vendor:void 0,model:void 0,type:void 0};return g.call(e,r,n.device),e},this.getEngine=function(){var e={name:void 0,version:void 0};return g.call(e,r,n.engine),e},this.getOS=function(){var e={name:void 0,version:void 0};return g.call(e,r,n.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r="string"==typeof e&&e.length>255?b(e,255):e,this},this.setUA(r),this};M.VERSION="0.7.30",M.BROWSER=p([s,_,"major"]),M.CPU=p(["architecture"]),M.DEVICE=p([o,c,u,"console",f,d,l,"wearable","embedded"]),M.ENGINE=M.OS=p([s,_]),void 0!==t?(void 0!==e&&e.exports&&(t=e.exports=M),t.UAParser=M):r(19)?void 0===(n=function(){return M}.call(t,r,t,e))||(e.exports=n):void 0!==a&&(a.UAParser=M);var k=void 0!==a&&(a.jQuery||a.Zepto);if(k&&!k.ua){var x=new M;k.ua=x.getResult(),k.ua.get=function(){return x.getUA()},k.ua.set=function(e){x.setUA(e);var t=x.getResult();for(var r in t)k.ua[r]=t[r]}}}("object"==typeof window?window:this)},function(e,t){(function(t){e.exports=t}).call(this,{})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.linkProgram=t.compileShader=void 0,t.compileShader=function(e,t,r){let n=e.createShader(t);if(!n)throw new Error("Unable to create shader");e.shaderSource(n,r),e.compileShader(n);let a=e.getShaderInfoLog(n);if(a&&a.trim().length>0)throw new Error("Shader compile error: "+a);return n},t.linkProgram=function(e,t){e.linkProgram(t);let r=e.getProgramInfoLog(t);if(r&&r.trim().length>0)throw new Error("Unable to link: "+r)}},function(e,t,r){"use strict";r.r(t),t.default=r.p+"9d9c4b542b40c41e3ef7587fb91e5d38.wasm"}]);',"Worker",void 0,r.p+"zappar-cv.worker.js")}},function(e,t,r){"use strict";r.r(t),t.default=r.p+"9d9c4b542b40c41e3ef7587fb91e5d38.wasm"},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.permissionDeniedUI=t.permissionRequestUI=t.permissionRequestMotion=t.permissionRequestCamera=t.permissionRequestAll=t.permissionGrantedAll=t.permissionDeniedAny=t.permissionDeniedMotion=t.permissionDeniedCamera=t.permissionGrantedMotion=t.permissionGrantedCamera=void 0;let a=new(r(11).UAParser),i=!1,o=!1,s=!1,u=!1;function c(){return n(this,void 0,void 0,(function*(){if(navigator.permissions&&navigator.permissions.query)try{let e=yield navigator.permissions.query({name:"camera"});s="denied"===e.state,i="granted"===e.state}catch(e){}}))}function _(){return s||u}function f(){return i&&o}function l(){return n(this,void 0,void 0,(function*(){yield h(),yield d()}))}function d(){return n(this,void 0,void 0,(function*(){try{(yield navigator.mediaDevices.getUserMedia({video:!0})).getTracks().forEach(e=>e.stop()),i=!0,s=!1}catch(e){i=!1,s=!0}}))}function h(){return n(this,void 0,void 0,(function*(){if(window.DeviceOrientationEvent&&window.DeviceOrientationEvent.requestPermission){if("granted"!==(yield window.DeviceOrientationEvent.requestPermission()))return o=!1,u=!0,!1}o=!0,u=!1}))}window.DeviceOrientationEvent&&window.DeviceOrientationEvent.requestPermission||(o=!0),c(),t.permissionGrantedCamera=function(){return i},t.permissionGrantedMotion=function(){return o},t.permissionDeniedCamera=function(){return s},t.permissionDeniedMotion=function(){return u},t.permissionDeniedAny=_,t.permissionGrantedAll=f,t.permissionRequestAll=l,t.permissionRequestCamera=d,t.permissionRequestMotion=h,t.permissionRequestUI=function(){return n(this,void 0,void 0,(function*(){if(yield c(),f())return!0;let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML='\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n max-width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">Almost there...</div>\n <div class="zappar-text">In order to provide this augmented reality experience, we need access to your device\'s camera and motion sensors.</div>\n <button id="zappar-permission-request-button">Grant Access</button>\n </div>\n',document.body.append(e);let t=e.querySelector("#zappar-permission-request-button");return yield new Promise(r=>{null==t||t.addEventListener("click",()=>n(this,void 0,void 0,(function*(){for(yield l(),e.remove();;){if(yield new Promise(e=>requestAnimationFrame(()=>e())),_())return void r(!1);if(f())return void r(!0)}})))})}))},t.permissionDeniedUI=function(){switch(a.getBrowser().name){case"Chrome":!function(){let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML='\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">Permission is Needed</div>\n <div class="zappar-text">Permission to access your device\'s camera and motion sensors is necessary for this experience.<br/><br/>To grant access, please tap the ! button in the address bar of your browser, then "Site settings", and finally "Clear and reset". You can then reload the page to try again.</div>\n <button id="zappar-permission-reload-button">Reload</button>\n </div>\n',document.body.append(e);let t=e.querySelector("#zappar-permission-reload-button");null==t||t.addEventListener("click",()=>window.location.reload())}();break;default:!function(){let e=document.createElement("div");e.classList.add("zappar-permission-request"),e.innerHTML='\n <style>\n .zappar-permission-request {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0px;\n left: 0px;\n z-index: 1000;\n background-color: rgba(0, 0, 0, 0.9);\n font-family: sans-serif;\n color: white;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n .zappar-inner {\n max-width: 400px;\n text-align: center;\n }\n .zappar-title {\n font-size: 20px;\n }\n .zappar-text {\n font-size: 14px;\n padding: 15px;\n }\n .zappar-inner > button {\n background: none;\n outline: none;\n border: 2px solid white;\n border-radius: 10px;\n color: white;\n padding: 10px 40px;\n text-transform: uppercase;\n }\n </style>\n <div class="zappar-inner">\n <div class="zappar-title">Permission is Needed</div>\n <div class="zappar-text">Permission to access your device\'s camera and motion sensors is necessary for this experience. Please reload the page to try again.</div>\n <button id="zappar-permission-reload-button">Reload</button>\n </div>\n',document.body.append(e);let t=e.querySelector("#zappar-permission-reload-button");null==t||t.addEventListener("click",()=>window.location.reload())}()}}},function(e,t){(function(t){e.exports=t}).call(this,{})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FaceMesh=t.getFaceMesh=t.destroyFaceMesh=t.createFaceMesh=void 0;const n=r(1),a=r(0);let i=1,o=new Map;t.createFaceMesh=function(){let e=i++;return o.set(e,new s),a.zcout("face_mesh_t initialized"),e},t.destroyFaceMesh=function(e){o.delete(e)},t.getFaceMesh=function(e){return o.get(e)};class s{constructor(){this.render_mean_=new Float32Array,this.render_identity_=new Float32Array(50),this.render_expression_=new Float32Array(29),this.render_uvs_=new Float32Array,this.render_indices_=new Uint16Array,this.vertices_=new Float32Array,this.normals_=new Float32Array,this.normalsCalculated_=!1,this.modelVersion_=-1,this.mirrored_=!1}loadFromMemory(e,t,r,n,a){let i=0,o=new Uint16Array(e),s=new Int32Array(e),u=new Float32Array(e),c=()=>{let e=s[i++]*s[i++],t=u.subarray(i,i+e);return i+=e,t},_=()=>{let e=s[i++],t=o.subarray(2*i,2*i+e);return i+=e/2,t};this.render_mean_=c(),this.render_identity_=c(),this.render_expression_=c(),this.render_uvs_=c();let f=_(),l=i<s.length?_():new Uint16Array,d=i<s.length?_():new Uint16Array,h=i<s.length?_():new Uint16Array,m=i<s.length?_():new Uint16Array;if(t||r||n||a){let e=f.length;t&&(e+=l.length),r&&(e+=d.length),n&&(e+=h.length),a&&(e+=m.length),this.render_indices_=new Uint16Array(e),this.render_indices_.set(f,0);let i=f.length;t&&(this.render_indices_.set(l,i),i+=l.length),r&&(this.render_indices_.set(d,i),i+=d.length),n&&(this.render_indices_.set(h,i),i+=h.length),a&&(this.render_indices_.set(m,i),i+=m.length)}else this.render_indices_=f;this.vertices_=new Float32Array(this.render_mean_),this.normals_=new Float32Array(this.vertices_.length),this.modelVersion_++}getVertices(){return this.vertices_}getUVs(){return this.render_uvs_}getIndices(){if(this.mirrored_){if(!this.render_indices_reversed){this.render_indices_reversed=new Uint16Array(this.render_indices_.length);for(let e=0;e<this.render_indices_.length;e+=3)this.render_indices_reversed[e]=this.render_indices_[e+2],this.render_indices_reversed[e+1]=this.render_indices_[e+1],this.render_indices_reversed[e+2]=this.render_indices_[e]}return this.render_indices_reversed}return this.render_indices_}getNormals(){return this.normalsCalculated_||this.calculateNormals(),this.normals_}getModelVersion(){return this.modelVersion_}getLandmarkDataForVertex(e){let t=[this.render_mean_[3*e],this.render_mean_[3*e+1],this.render_mean_[3*e+2]],r=[];for(let t=0;t<50;t++)r.push(this.render_identity_[3*e*50+t]),r.push(this.render_identity_[50*(3*e+1)+t]),r.push(this.render_identity_[50*(3*e+2)+t]);let n=[];for(let t=0;t<29;t++)n.push(this.render_expression_[3*e*29+t]),n.push(this.render_expression_[29*(3*e+1)+t]),n.push(this.render_expression_[29*(3*e+2)+t]);return{mean:t,identity:r,expression:n}}update(e,t,r){if(0!==this.render_mean_.length&&0!==this.render_identity_.length&&0!==this.render_expression_.length){this.mirrored_=r,this.vertices_.set(this.render_mean_);for(let t=0;t<e.length;t++)for(let r=0;r<this.vertices_.length;r++)this.vertices_[r]+=e[t]*this.render_identity_[r*e.length+t];for(let e=0;e<t.length;e++)for(let r=0;r<this.vertices_.length;r++)this.vertices_[r]+=t[e]*this.render_expression_[r*t.length+e];if(r)for(let e=0;e<this.vertices_.length;e+=3)this.vertices_[e]*=-1;this.normalsCalculated_=!1}}calculateNormals(){let e=this.getIndices(),t=this.vertices_,r=new Float32Array(e.length);if(!t)return;let a=e.length,i=this.normals_,o=new Float32Array([0,0,0]),s=new Float32Array([0,0,0]),u=new Float32Array([0,0,0]);for(let i=0;i<a;i+=3){let a=3*e[i],c=3*e[i+1],_=3*e[i+2];o[0]=t[c]-t[a],o[1]=t[c+1]-t[a+1],o[2]=t[c+2]-t[a+2],s[0]=t[_]-t[a],s[1]=t[_+1]-t[a+1],s[2]=t[_+2]-t[a+2],n.vec3.cross(u,o,s);let f=n.vec3.length(u);r[i]=u[0]/f,r[i+1]=u[1]/f,r[i+2]=u[2]/f}i.fill(0);for(let t=0;t<a;t+=3){let n=3*e[t],a=3*e[t+1],o=3*e[t+2];i[n]+=r[t],i[n+1]+=r[t+1],i[n+2]+=r[t+2],i[a]+=r[t],i[a+1]+=r[t+1],i[a+2]+=r[t+2],i[o]+=r[t],i[o+1]+=r[t+1],i[o+2]+=r[t+2]}let c=i.length/3;for(let e=0;e<c;e++){let t=3*e;o[0]=i[t],o[1]=i[t+1],o[2]=i[t+2],n.vec3.normalize(s,o),i[t]=s[0],i[t+1]=s[1],i[t+2]=s[2]}this.normalsCalculated_=!0}}t.FaceMesh=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.cameraFrameTextureMatrix=t.CameraDraw=void 0;const n=r(4),a=r(1);let i=a.mat4.create();t.CameraDraw=class{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._vbo=void 0,this._shader&&this._gl.deleteProgram(this._shader.prog),this._shader=void 0}_generate(e,t){if(this._vbo)return this._vbo;if(this._vbo||(this._vbo=e.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");let r=new Float32Array([-1,-1,0,0,0,-1,1,0,0,1,1,-1,0,1,0,1,-1,0,1,0,-1,1,0,0,1,1,1,0,1,1]);return e.bindBuffer(e.ARRAY_BUFFER,this._vbo),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,null),this._vbo}drawCameraFrame(e,t,r,n){if(!r.texture)return;let a=this._gl;a.disable(a.DEPTH_TEST),a.disable(a.SCISSOR_TEST),a.disable(a.CULL_FACE),a.disable(a.BLEND);let o=this._getCameraShader(a),s=this._generate(a,r);a.activeTexture(a.TEXTURE0),a.useProgram(o.prog),a.uniformMatrix4fv(o.unif_skinTexTransform,!1,u(r.dataWidth,r.dataHeight,e,t,r.uvTransform||i,n)),a.uniform1i(o.unif_skinSampler,0),a.bindTexture(a.TEXTURE_2D,r.texture),a.bindBuffer(a.ARRAY_BUFFER,s),a.vertexAttribPointer(o.attr_position,3,a.FLOAT,!1,20,0),a.enableVertexAttribArray(o.attr_position),a.vertexAttribPointer(o.attr_texCoord,2,a.FLOAT,!1,20,12),a.enableVertexAttribArray(o.attr_texCoord),a.drawArrays(a.TRIANGLES,0,6),a.disableVertexAttribArray(o.attr_position),a.disableVertexAttribArray(o.attr_texCoord),a.bindTexture(a.TEXTURE_2D,null),a.bindBuffer(a.ARRAY_BUFFER,null),a.useProgram(null)}_getCameraShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=n.compileShader(e,e.VERTEX_SHADER,o),a=n.compileShader(e,e.FRAGMENT_SHADER,s);e.attachShader(t,r),e.attachShader(t,a),n.linkProgram(e,t);let i=e.getUniformLocation(t,"skinTexTransform");if(!i)throw new Error("Unable to get uniform location skinTexTransform");let u=e.getUniformLocation(t,"skinSampler");if(!u)throw new Error("Unable to get uniform location skinSampler");return this._shader={prog:t,unif_skinTexTransform:i,unif_skinSampler:u,attr_position:e.getAttribLocation(t,"position"),attr_texCoord:e.getAttribLocation(t,"texCoord")},this._shader}};let o="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nattribute vec4 position;\nattribute vec4 texCoord;\nvarying vec4 skinTexVarying;\nuniform mat4 skinTexTransform;\n\nvoid main()\n{\n gl_Position = position;\n skinTexVarying = skinTexTransform * texCoord;\n}",s="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying vec4 skinTexVarying;\nuniform lowp sampler2D skinSampler;\n\nvoid main()\n{\n gl_FragColor = texture2DProj(skinSampler, skinTexVarying);\n}";function u(e,t,r,n,i,o){let s=a.mat4.create(),u=a.mat4.create();a.mat4.fromTranslation(u,[-.5,-.5,0]),a.mat4.multiply(s,u,s),o&&(a.mat4.fromScaling(u,[-1,1,1]),a.mat4.multiply(s,u,s)),a.mat4.fromRotation(u,-1*function(){if(window.screen.orientation)switch(window.screen.orientation.type){case"portrait-primary":return 270;case"landscape-secondary":return 180;case"portrait-secondary":return 90;default:return 0}else if(void 0!==window.orientation)switch(window.orientation){case 0:return 270;case 90:return 0;case 180:return 90;case-90:return 180}return 0}()*Math.PI/180,[0,0,1]),a.mat4.multiply(s,u,s);let c=a.vec3.create();c[0]=r,c[1]=n,c[2]=0,a.vec3.transformMat4(c,c,u);let _=Math.abs(c[0]),f=Math.abs(c[1]);a.mat4.fromScaling(u,[1,-1,1]),a.mat4.multiply(s,u,s);let l=_/f,d=e/t;return l>d?a.mat4.fromScaling(u,[1,d/l,1]):a.mat4.fromScaling(u,[l/d,1,1]),a.mat4.multiply(s,u,s),a.mat4.fromTranslation(u,[.5,.5,0]),a.mat4.multiply(s,u,s),a.mat4.multiply(s,i,s),s}t.cameraFrameTextureMatrix=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FaceDraw=void 0;const n=r(4);t.FaceDraw=class{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._normalbo&&this._gl.deleteBuffer(this._normalbo),this._ibo&&this._gl.deleteBuffer(this._ibo),this._shader&&this._gl.deleteProgram(this._shader.prog),this._vbo=void 0,this._normalbo=void 0,this._ibo=void 0,this._shader=void 0}_generateIBO(e,t){if(this._ibo&&this._lastIndices===e)return this._ibo;if(this._lastIndices=e,this._ibo||(this._ibo=t.createBuffer()),!this._ibo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this._ibo),t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),this._ibo}_generateVBO(e,t){if(this._vbo||(this._vbo=t.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._vbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._vbo}_generateNormalBO(e,t){if(this._normalbo||(this._normalbo=t.createBuffer()),!this._normalbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._normalbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._normalbo}drawFace(e,t){let r=this._gl,n=this._getShader(r),a=this._generateVBO(t.getVertices(),r),i=this._generateNormalBO(t.getNormals(),r),o=this._generateIBO(t.getIndices(),r);r.enable(r.DEPTH_TEST),r.enable(r.CULL_FACE),r.useProgram(n.prog),r.uniformMatrix4fv(n.unif_matrix,!1,e),r.bindBuffer(r.ARRAY_BUFFER,a),r.vertexAttribPointer(n.attr_position,3,r.FLOAT,!1,12,0),r.enableVertexAttribArray(n.attr_position),r.bindBuffer(r.ARRAY_BUFFER,i),r.vertexAttribPointer(n.attr_normal,3,r.FLOAT,!1,12,0),r.enableVertexAttribArray(n.attr_normal),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,o),r.drawElements(r.TRIANGLES,t.getIndices().length,r.UNSIGNED_SHORT,0),r.disableVertexAttribArray(n.attr_position),r.disableVertexAttribArray(n.attr_normal),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,null)}_getShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=n.compileShader(e,e.VERTEX_SHADER,a),o=n.compileShader(e,e.FRAGMENT_SHADER,i);e.attachShader(t,r),e.attachShader(t,o),n.linkProgram(e,t);let s=e.getUniformLocation(t,"matrix");if(!s)throw new Error("Unable to get uniform location mattrix");return this._shader={prog:t,unif_matrix:s,attr_position:e.getAttribLocation(t,"position"),attr_normal:e.getAttribLocation(t,"normal")},this._shader}};let a="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 matrix;\nattribute vec4 position;\nattribute vec3 normal;\nvarying highp vec3 vnormal;\n\nvoid main()\n{\n gl_Position = matrix * position;\n vnormal = normal;\n}",i="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying vec4 skinTexVarying;\nvarying highp vec3 vnormal;\nuniform lowp sampler2D skinSampler;\n\nvoid main()\n{\n vec3 normal2 = 0.5 * vnormal + 0.5;\n gl_FragColor = vec4(normal2.x , normal2.y, normal2.z, 1.0);\n}"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FaceDrawProject=void 0;const n=r(4);t.FaceDrawProject=class{constructor(e){this._gl=e}dispose(){this._vbo&&this._gl.deleteBuffer(this._vbo),this._uvbo&&this._gl.deleteBuffer(this._uvbo),this._ibo&&this._gl.deleteBuffer(this._ibo),this._shader&&this._gl.deleteProgram(this._shader.prog),this._vbo=void 0,this._uvbo=void 0,this._ibo=void 0,this._shader=void 0}_generateIBO(e,t){if(this._ibo&&this._lastIndices===e)return this._ibo;if(this._lastIndices=e,this._ibo||(this._ibo=t.createBuffer()),!this._ibo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this._ibo),t.bufferData(t.ELEMENT_ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),this._ibo}_generateVBO(e,t){if(this._vbo||(this._vbo=t.createBuffer()),!this._vbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._vbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._vbo}_generateUVBO(e,t){if(this._uvbo||(this._uvbo=t.createBuffer()),!this._uvbo)throw new Error("Unable to create buffer object");return t.bindBuffer(t.ARRAY_BUFFER,this._uvbo),t.bufferData(t.ARRAY_BUFFER,e,t.STREAM_DRAW),t.bindBuffer(t.ARRAY_BUFFER,null),this._uvbo}drawFace(e,t,r,n,a,i){let o=this._gl,s=this._getShader(o),u=this._generateVBO(t,o),c=this._generateUVBO(n,o),_=this._generateIBO(a,o);o.enable(o.DEPTH_TEST),o.enable(o.CULL_FACE),o.useProgram(s.prog),o.uniformMatrix4fv(s.unif_matrix,!1,e),o.uniformMatrix4fv(s.unif_uvmatrix,!1,r),o.activeTexture(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,i),o.uniform1i(s.unif_sampler,0),o.bindBuffer(o.ARRAY_BUFFER,u),o.vertexAttribPointer(s.attr_position,3,o.FLOAT,!1,12,0),o.enableVertexAttribArray(s.attr_position),o.bindBuffer(o.ARRAY_BUFFER,c),o.vertexAttribPointer(s.attr_uv,3,o.FLOAT,!1,12,0),o.enableVertexAttribArray(s.attr_uv),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,_),o.drawElements(o.TRIANGLES,6912,o.UNSIGNED_SHORT,0),o.disableVertexAttribArray(s.attr_position),o.disableVertexAttribArray(s.attr_uv),o.bindBuffer(o.ARRAY_BUFFER,null),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null)}_getShader(e){if(this._shader)return this._shader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=n.compileShader(e,e.VERTEX_SHADER,a),o=n.compileShader(e,e.FRAGMENT_SHADER,i);e.attachShader(t,r),e.attachShader(t,o),n.linkProgram(e,t);let s=e.getUniformLocation(t,"matrix");if(!s)throw new Error("Unable to get uniform location matrix");let u=e.getUniformLocation(t,"uvmatrix");if(!u)throw new Error("Unable to get uniform location matrix");let c=e.getUniformLocation(t,"uSampler");if(!c)throw new Error("Unable to get uniform location sampler");return this._shader={prog:t,unif_matrix:s,unif_sampler:c,unif_uvmatrix:u,attr_position:e.getAttribLocation(t,"position"),attr_uv:e.getAttribLocation(t,"uv"),attr_texturecoord:e.getAttribLocation(t,"aTextureCoord")},this._shader}};let a="\n#ifndef GL_ES\n#define highp\n#define mediump\n#define lowp\n#endif\n\nuniform mat4 matrix;\nuniform mat4 uvmatrix;\nattribute vec4 position;\nattribute vec3 normal;\nattribute vec3 uv;\n\n// varying highp vec3 vnormal;\n\nvarying highp vec2 vTextureCoord;\nvarying highp float vAlpha;\n\nvoid main()\n{\n gl_Position = matrix * position;\n vec4 ret = uvmatrix * vec4(uv.x, uv.y, uv.z, 1.0);\n ret.x /= ret.w * 2.0;\n ret.y /= ret.w * 2.0;\n ret.x += 0.5;\n ret.y += 0.0;\n vAlpha = 1.0;\n vTextureCoord = ret.xy;\n}",i="\n#define highp mediump\n#ifdef GL_ES\n // define default precision for float, vec, mat.\n precision highp float;\n#else\n#define highp\n#define mediump\n#define lowp\n#endif\n\nvarying highp vec2 vTextureCoord;\nvarying highp vec3 vnormal;\nvarying highp float vAlpha;\nuniform lowp sampler2D uSampler;\n\nvoid main()\n{\n // vec3 normal2 = 0.5 * vnormal + 0.5;\n vec4 p = texture2D(uSampler, vTextureCoord);\n p.a = vAlpha;\n gl_FragColor = p; // vec4(normal2.x , normal2.y, normal2.z, 1.0);\n}"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImageProcessGL=void 0;const n=r(1),a=r(3),i=r(4);t.ImageProcessGL=class{constructor(e){this._gl=e,this._isPaused=!0,this._hadFrames=!1,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._isUploadFrame=!0,this._computedTransformRotation=-1,this._computedFrontCameraRotation=!1,this._cameraUvTransform=n.mat4.create(),this._framebufferWidth=0,this._framebufferHeight=0,this._framebufferId=null,this._renderTexture=null}resetGLContext(){this._framebufferId=null,this._renderTexture=null,this._vertexBuffer=void 0,this._indexBuffer=void 0,this._greyscaleShader=void 0}destroy(){this.resetGLContext()}uploadFrame(e,t,r,n){let i=this._gl;i.disable(i.SCISSOR_TEST),i.disable(i.DEPTH_TEST),i.disable(i.BLEND),i.disable(i.CULL_FACE),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,e);const o=i.RGBA,s=i.RGBA,u=i.UNSIGNED_BYTE;i.texImage2D(i.TEXTURE_2D,0,o,s,u,t);let c=0,_=0;"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement?(c=t.videoWidth,_=t.videoHeight):(c=t.width,_=t.height),_>c&&(_=[c,c=_][0]),this._updateTransforms(r,n);let f=this._getFramebuffer(i,a.profile.dataWidth/4,a.profile.dataHeight),l=this._getVertexBuffer(i),d=this._getIndexBuffer(i),h=this._getGreyscaleShader(i);i.bindFramebuffer(i.FRAMEBUFFER,f),i.viewport(0,0,this._framebufferWidth,this._framebufferHeight),i.clearColor(0,0,0,1),i.clear(i.COLOR_BUFFER_BIT),i.bindBuffer(i.ARRAY_BUFFER,l),i.vertexAttribPointer(h.aVertexPositionLoc,2,i.FLOAT,!1,16,0),i.enableVertexAttribArray(h.aVertexPositionLoc),i.vertexAttribPointer(h.aTextureCoordLoc,2,i.FLOAT,!1,16,8),i.enableVertexAttribArray(h.aTextureCoordLoc),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,d),i.useProgram(h.program),i.uniform1f(h.uTexWidthLoc,a.profile.dataWidth),i.uniformMatrix4fv(h.uUvTransformLoc,!1,this._cameraUvTransform),i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,e),i.uniform1i(h.uSamplerLoc,0),i.drawElements(i.TRIANGLES,6,i.UNSIGNED_SHORT,0),i.disableVertexAttribArray(h.aVertexPositionLoc),i.disableVertexAttribArray(h.aTextureCoordLoc),i.bindFramebuffer(i.FRAMEBUFFER,null),i.bindBuffer(i.ARRAY_BUFFER,null),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,null),i.useProgram(null),i.bindTexture(i.TEXTURE_2D,null)}readFrame(e,t){let r=this._gl,n=new Uint8Array(t),i=this._getFramebuffer(r,a.profile.dataWidth/4,a.profile.dataHeight);return r.bindFramebuffer(r.FRAMEBUFFER,i),r.readPixels(0,0,this._framebufferWidth,this._framebufferHeight,r.RGBA,r.UNSIGNED_BYTE,n),r.bindFramebuffer(r.FRAMEBUFFER,null),{uvTransform:this._cameraUvTransform,data:t,texture:e,dataWidth:a.profile.dataWidth,dataHeight:a.profile.dataHeight,userFacing:this._computedFrontCameraRotation}}_updateTransforms(e,t){e==this._computedTransformRotation&&t==this._computedFrontCameraRotation||(this._computedTransformRotation=e,this._computedFrontCameraRotation=t,this._cameraUvTransform=this._getCameraUvTransform())}_getCameraUvTransform(){switch(this._computedTransformRotation){case 270:return new Float32Array([0,1,0,0,-1,0,0,0,0,0,1,0,1,0,0,1]);case 180:return new Float32Array([-1,0,0,0,0,-1,0,0,0,0,1,0,1,1,0,1]);case 90:return new Float32Array([0,-1,0,0,1,0,0,0,0,0,1,0,0,1,0,1])}return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}_getFramebuffer(e,t,r){if(this._framebufferWidth===t&&this._framebufferHeight===r&&this._framebufferId)return this._framebufferId;if(this._framebufferId&&(e.deleteFramebuffer(this._framebufferId),this._framebufferId=null),this._renderTexture&&(e.deleteTexture(this._renderTexture),this._renderTexture=null),this._framebufferId=e.createFramebuffer(),!this._framebufferId)throw new Error("Unable to create framebuffer");if(e.bindFramebuffer(e.FRAMEBUFFER,this._framebufferId),this._renderTexture=e.createTexture(),!this._renderTexture)throw new Error("Unable to create render texture");e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._renderTexture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameterf(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this._renderTexture,0);let n=e.checkFramebufferStatus(e.FRAMEBUFFER);if(n!==e.FRAMEBUFFER_COMPLETE)throw new Error("Framebuffer not complete: "+n.toString());return this._framebufferWidth=t,this._framebufferHeight=r,e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),this._framebufferId}_getVertexBuffer(e){if(this._vertexBuffer)return this._vertexBuffer;if(this._vertexBuffer=e.createBuffer(),!this._vertexBuffer)throw new Error("Unable to create vertex buffer");e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer);let t=new Float32Array([-1,-1,0,0,-1,1,0,1,1,1,1,1,1,-1,1,0]);return e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW),this._vertexBuffer}_getIndexBuffer(e){if(this._indexBuffer)return this._indexBuffer;if(this._indexBuffer=e.createBuffer(),!this._indexBuffer)throw new Error("Unable to create index buffer");e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer);let t=new Uint16Array([0,1,2,0,2,3]);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW),this._indexBuffer}_getGreyscaleShader(e){if(this._greyscaleShader)return this._greyscaleShader;let t=e.createProgram();if(!t)throw new Error("Unable to create program");let r=i.compileShader(e,e.VERTEX_SHADER,o),n=i.compileShader(e,e.FRAGMENT_SHADER,s);e.attachShader(t,r),e.attachShader(t,n),i.linkProgram(e,t);let a=e.getUniformLocation(t,"uTexWidth");if(!a)throw new Error("Unable to get uniform location uTexWidth");let u=e.getUniformLocation(t,"uUvTransform");if(!u)throw new Error("Unable to get uniform location uUvTransform");let c=e.getUniformLocation(t,"uSampler");if(!c)throw new Error("Unable to get uniform location uSampler");return this._greyscaleShader={program:t,aVertexPositionLoc:e.getAttribLocation(t,"aVertexPosition"),aTextureCoordLoc:e.getAttribLocation(t,"aTextureCoord"),uTexWidthLoc:a,uUvTransformLoc:u,uSamplerLoc:c},this._greyscaleShader}};let o="\n attribute vec4 aVertexPosition;\n attribute vec2 aTextureCoord;\n\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform float uTexWidth;\n\tuniform mat4 uUvTransform;\n\n void main(void) {\n highp vec2 offset1 = vec2(1.5 / uTexWidth, 0);\n highp vec2 offset2 = vec2(0.5 / uTexWidth, 0);\n\n gl_Position = aVertexPosition;\n vTextureCoord1 = (uUvTransform * vec4(aTextureCoord - offset1, 0, 1)).xy;\n vTextureCoord2 = (uUvTransform * vec4(aTextureCoord - offset2, 0, 1)).xy;\n vTextureCoord3 = (uUvTransform * vec4(aTextureCoord + offset2, 0, 1)).xy;\n vTextureCoord4 = (uUvTransform * vec4(aTextureCoord + offset1, 0, 1)).xy;\n }\n",s="\n varying highp vec2 vTextureCoord1;\n varying highp vec2 vTextureCoord2;\n varying highp vec2 vTextureCoord3;\n varying highp vec2 vTextureCoord4;\n\n uniform sampler2D uSampler;\n\n const lowp vec3 colorWeights = vec3(77.0 / 256.0, 150.0 / 256.0, 29.0 / 256.0);\n\n void main(void) {\n lowp vec4 outpx;\n\n outpx.r = dot(colorWeights, texture2D(uSampler, vTextureCoord1).xyz);\n outpx.g = dot(colorWeights, texture2D(uSampler, vTextureCoord2).xyz);\n outpx.b = dot(colorWeights, texture2D(uSampler, vTextureCoord3).xyz);\n outpx.a = dot(colorWeights, texture2D(uSampler, vTextureCoord4).xyz);\n\n gl_FragColor = outpx;\n }\n"},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.ImageBitmapCameraSource=void 0;const a=r(3),i=r(2),o=r(8),s=r(5),u=r(0),c=r(7),_=r(1);class f extends o.Source{constructor(e,t,r){super(),this._impl=e,this._pipeline=t,this._deviceId=r,this._currentStream=null,this._activeDeviceId=null,this._isPaused=!0,this._isUserFacing=!1,this._hadFrames=!1,this._canvas=new OffscreenCanvas(640,480),this._context=this._canvas.getContext("2d"),this._lastFrameTime=-1,this._video=document.createElement("video"),this._cameraToDeviceTransform=_.mat4.create(),this._cameraToDeviceTransformUserFacing=_.mat4.create(),this._cameraModel=new Float32Array([300,300,160,120,0,0]),this._hasStartedOrientation=!1,this._deviceMotionListener=e=>{let t=i.Pipeline.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.accelerationIncludingGravity&&null!==e.accelerationIncludingGravity.x&&null!==e.accelerationIncludingGravity.y&&null!==e.accelerationIncludingGravity.z&&t.motionAccelerometerSubmit(r,e.accelerationIncludingGravity.x*a.profile.deviceMotionMutliplier,e.accelerationIncludingGravity.y*a.profile.deviceMotionMutliplier,e.accelerationIncludingGravity.z*a.profile.deviceMotionMutliplier),null===e.rotationRate||null===e.rotationRate.alpha||null===e.rotationRate.beta||null===e.rotationRate.gamma||this._hasStartedOrientation?this._hasStartedOrientation||this._startDeviceOrientation():(e.timeStamp,t.motionRotationRateSubmit(r,e.rotationRate.alpha*Math.PI/-180,e.rotationRate.beta*Math.PI/-180,e.rotationRate.gamma*Math.PI/-180))},u.zcout("Using ImageBitmap camera source"),_.mat4.fromScaling(this._cameraToDeviceTransformUserFacing,[-1,1,-1]),this._video.muted=!0,this._video.setAttribute("playsinline",""),this._video.setAttribute("webkit-playsinline",""),a.profile.videoElementInDOM&&(this._video.style.width="0px",this._video.style.height="0px",document.body.appendChild(this._video)),this._video.addEventListener("loadedmetadata",()=>{this._hadFrames=!0})}destroy(){this.pause(),c.deleteCameraSource(this._impl)}_stop(){if(!this._currentStream)return;this._currentStream.getTracks().forEach(e=>e.stop()),this._currentStream=null}pause(){this._isPaused=!0;let e=i.Pipeline.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0),this._stopDeviceMotion(),this._syncCamera()}start(){var e;let t=i.Pipeline.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this),this._isPaused=!1,this._startDeviceMotion(),this._syncCamera()}_getConstraints(){return n(this,void 0,void 0,(function*(){let e,t;this._deviceId!==f.DEFAULT_DEVICE_ID&&this._deviceId!==f.USER_DEFAULT_DEVICE_ID?e=this._deviceId:t=this._deviceId===f.DEFAULT_DEVICE_ID?"environment":"user";let r={audio:!1,video:{facingMode:t,width:a.profile.videoWidth,height:a.profile.videoHeight,frameRate:a.profile.requestHighFrameRate?60:void 0,deviceId:e}};if(e)return r;if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return r;let n=yield navigator.mediaDevices.enumerateDevices(),i=!1;return n=n.filter(e=>{if("videoinput"!==e.kind)return!1;if(e.getCapabilities){i=!0;let r=e.getCapabilities();if(r&&r.facingMode&&r.facingMode.indexOf("user"===t?"user":"environment")<0)return!1}return!0}),i&&0!==n.length?("object"==typeof r.video&&(u.zcout("choosing device ID",n[n.length-1].deviceId),r.video.deviceId=n[n.length-1].deviceId),r):r}))}getFrame(e){var t,r;if(!this._context)return;if(!this._hadFrames)return;if(e)return;let n=performance.now();if(n<this._lastFrameTime+25)return;this._lastFrameTime=n,this._canvas.width!==this._video.videoWidth&&(this._canvas.width=this._video.videoWidth),this._canvas.height!==this._video.videoHeight&&(this._canvas.height=this._video.videoHeight),this._context.drawImage(this._video,0,0);const o=this._canvas.transferToImageBitmap();let u=s.cameraRotationForScreenOrientation(!1),c=i.Pipeline.get(this._pipeline);if(!c)return;let _=300*a.profile.dataWidth/320;this._cameraModel[0]=_,this._cameraModel[1]=_,this._cameraModel[2]=.5*a.profile.dataWidth,this._cameraModel[3]=.5*a.profile.dataHeight;let f=c.registerToken({dataWidth:this._canvas.width,dataHeight:this._canvas.height,texture:void 0,userFacing:this._isUserFacing,cameraSource:this,cameraModel:this._cameraModel.slice(),cameraToDevice:this._isUserFacing?this._cameraToDeviceTransformUserFacing:this._cameraToDeviceTransform});null===(r=null===(t=i.Pipeline.get(this._pipeline))||void 0===t?void 0:t.sendImageBitmapToWorker)||void 0===r||r.call(t,o,u,this._isUserFacing,f,this._cameraModel,this._isUserFacing?this._cameraToDeviceTransformUserFacing:this._cameraToDeviceTransform)}_getUserMedia(){return n(this,void 0,void 0,(function*(){let e=yield this._getConstraints();return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?yield navigator.mediaDevices.getUserMedia(e):yield new Promise((t,r)=>{navigator.getUserMedia(e,t,r)})}))}_syncCamera(){return n(this,void 0,void 0,(function*(){if(this._currentStream&&this._isPaused)this._stop();else if(this._currentStream&&this._activeDeviceId!==this._deviceId&&this._stop(),!this._isPaused){if(this._activeDeviceId=this._deviceId,this._currentStream=yield this._getUserMedia(),this._isPaused)return void(yield this._syncCamera());if(this._isUserFacing=!1,this._currentStream){let e=this._currentStream.getVideoTracks();e.length>0&&(this._isUserFacing="user"===e[0].getSettings().facingMode)}this._video.src="",this._video.loop=!1,this._video.muted=!0,this._video.srcObject=this._currentStream,this._video.play()}}))}_startDeviceOrientation(){this._hasStartedOrientation||(this._hasStartedOrientation=!0,window.addEventListener("deviceorientation",e=>{let t=i.Pipeline.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.alpha&&null!==e.beta&&null!==e.gamma&&t.motionAttitudeSubmit(r,e.alpha,e.beta,e.gamma)}))}_startDeviceMotion(){window.addEventListener("devicemotion",this._deviceMotionListener,!1)}_stopDeviceMotion(){window.removeEventListener("devicemotion",this._deviceMotionListener)}uploadGL(e){const t=i.Pipeline.get(this._pipeline),r=null==t?void 0:t.glContext;if(!e||e.texture||!e.frame||!t||!r)return;let n=t.getVideoTexture();n&&(r.bindTexture(r.TEXTURE_2D,n),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e.frame),r.bindTexture(r.TEXTURE_2D,null),e.texture=n,e.frame.close(),delete e.frame)}}t.ImageBitmapCameraSource=f,f.USER_DEFAULT_DEVICE_ID="Simulated User Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b",f.DEFAULT_DEVICE_ID="Simulated Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b"},function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,i){function o(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.MSTPCameraSource=void 0;const a=r(3),i=r(2),o=r(8),s=r(5),u=r(0),c=r(7);class _ extends o.Source{constructor(e,t,r){super(),this._impl=e,this._pipeline=t,this._deviceId=r,this._currentStream=null,this._activeDeviceId=null,this._isPaused=!0,this._isUserFacing=!1,this._cameraToScreenRotation=0,this._hasStartedOrientation=!1,this._deviceMotionListener=e=>{let t=i.Pipeline.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.accelerationIncludingGravity&&null!==e.accelerationIncludingGravity.x&&null!==e.accelerationIncludingGravity.y&&null!==e.accelerationIncludingGravity.z&&t.motionAccelerometerSubmit(r,e.accelerationIncludingGravity.x*a.profile.deviceMotionMutliplier,e.accelerationIncludingGravity.y*a.profile.deviceMotionMutliplier,e.accelerationIncludingGravity.z*a.profile.deviceMotionMutliplier),null===e.rotationRate||null===e.rotationRate.alpha||null===e.rotationRate.beta||null===e.rotationRate.gamma||this._hasStartedOrientation?this._hasStartedOrientation||this._startDeviceOrientation():(e.timeStamp,t.motionRotationRateSubmit(r,e.rotationRate.alpha*Math.PI/-180,e.rotationRate.beta*Math.PI/-180,e.rotationRate.gamma*Math.PI/-180))},u.zcout("Using MSTP camera source")}destroy(){this.pause(),c.deleteCameraSource(this._impl)}_stop(){if(!this._currentStream)return;this._currentStream.getTracks().forEach(e=>e.stop()),this._currentStream=null}pause(){this._isPaused=!0;let e=i.Pipeline.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0),this._stopDeviceMotion(),this._syncCamera()}start(){var e;let t=i.Pipeline.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this),this._isPaused=!1,this._startDeviceMotion(),this._syncCamera()}_getConstraints(){return n(this,void 0,void 0,(function*(){let e,t;this._deviceId!==_.DEFAULT_DEVICE_ID&&this._deviceId!==_.USER_DEFAULT_DEVICE_ID?e=this._deviceId:t=this._deviceId===_.DEFAULT_DEVICE_ID?"environment":"user";let r={audio:!1,video:{facingMode:t,width:a.profile.videoWidth,height:a.profile.videoHeight,frameRate:a.profile.requestHighFrameRate?60:void 0,deviceId:e}};if(e)return r;if(!navigator.mediaDevices||!navigator.mediaDevices.enumerateDevices)return r;let n=yield navigator.mediaDevices.enumerateDevices(),i=!1;return n=n.filter(e=>{if("videoinput"!==e.kind)return!1;if(e.getCapabilities){i=!0;let r=e.getCapabilities();if(r&&r.facingMode&&r.facingMode.indexOf("user"===t?"user":"environment")<0)return!1}return!0}),i&&0!==n.length?("object"==typeof r.video&&(u.zcout("choosing device ID",n[n.length-1].deviceId),r.video.deviceId=n[n.length-1].deviceId),r):r}))}getFrame(e){var t,r;let n=s.cameraRotationForScreenOrientation(!1);n!=this._cameraToScreenRotation&&(null===(r=null===(t=i.Pipeline.get(this._pipeline))||void 0===t?void 0:t.sendCameraToScreenRotationToWorker)||void 0===r||r.call(t,n),this._cameraToScreenRotation=n)}_getUserMedia(){return n(this,void 0,void 0,(function*(){let e=yield this._getConstraints();return navigator.mediaDevices&&navigator.mediaDevices.getUserMedia?yield navigator.mediaDevices.getUserMedia(e):yield new Promise((t,r)=>{navigator.getUserMedia(e,t,r)})}))}_syncCamera(){return n(this,void 0,void 0,(function*(){if(this._currentStream&&this._isPaused)this._stop();else if(this._currentStream&&this._activeDeviceId!==this._deviceId&&this._stop(),!this._isPaused){if(this._activeDeviceId=this._deviceId,this._currentStream=yield this._getUserMedia(),this._isPaused)return void(yield this._syncCamera());if(this._isUserFacing=!1,this._currentStream){let e=this._currentStream.getVideoTracks();if(e.length>0){this._isUserFacing="user"===e[0].getSettings().facingMode;let t=new MediaStreamTrackProcessor({track:e[0]}),r=i.Pipeline.get(this._pipeline);r&&r.sendCameraStreamToWorker(this._impl,t.readable,this._isUserFacing)}}}}))}_startDeviceOrientation(){this._hasStartedOrientation||(this._hasStartedOrientation=!0,window.addEventListener("deviceorientation",e=>{let t=i.Pipeline.get(this._pipeline);if(!t)return;let r=void 0!==e.timeStamp&&null!==e.timeStamp?e.timeStamp:performance.now();null!==e.alpha&&null!==e.beta&&null!==e.gamma&&t.motionAttitudeSubmit(r,e.alpha,e.beta,e.gamma)}))}_startDeviceMotion(){window.addEventListener("devicemotion",this._deviceMotionListener,!1)}_stopDeviceMotion(){window.removeEventListener("devicemotion",this._deviceMotionListener)}uploadGL(e){const t=i.Pipeline.get(this._pipeline),r=null==t?void 0:t.glContext;if(!e||e.texture||!e.frame||!t||!r)return;let n=t.getVideoTexture();n&&(r.bindTexture(r.TEXTURE_2D,n),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e.frame),r.bindTexture(r.TEXTURE_2D,null),e.texture=n,e.frame.close(),delete e.frame)}}t.MSTPCameraSource=_,_.USER_DEFAULT_DEVICE_ID="Simulated User Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b",_.DEFAULT_DEVICE_ID="Simulated Default Device ID: a908df7f-5661-4d20-b227-a1c15d2fdb4b"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FaceLandmark=t.getFaceLandmark=t.destroyFaceLandmark=t.createFaceLandmark=void 0;const n=r(1),a=r(37),i=r(0);let o=1,s=new Map;t.createFaceLandmark=function(e){let t=o++;return s.set(t,new u(e)),i.zcout("face_landmark_t initialized"),t},t.destroyFaceLandmark=function(e){s.delete(e)},t.getFaceLandmark=function(e){return s.get(e)};class u{constructor(e){this._name=e,this.anchor_pose=n.mat4.create()}_getVertex(e,t,r){let n=r.mean.slice();for(let t=0;t<50;t++)n[0]+=e[t]*r.identity[3*t+0],n[1]+=e[t]*r.identity[3*t+1],n[2]+=e[t]*r.identity[3*t+2];for(let e=0;e<29;e++)n[0]+=t[e]*r.expression[3*e+0],n[1]+=t[e]*r.expression[3*e+1],n[2]+=t[e]*r.expression[3*e+2];return n}update(e,t,r){let i,o=a.landmarkData[this._name.toString()];if(o){if(Array.isArray(o)){i=this._getVertex(e,t,o[0]);let r=this._getVertex(e,t,o[1]);i[0]=.5*(i[0]+r[0]),i[1]=.5*(i[1]+r[1]),i[2]=.5*(i[2]+r[2])}else i=this._getVertex(e,t,o);r&&(i[0]*=-1),n.mat4.fromTranslation(this.anchor_pose,i)}}}t.FaceLandmark=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.landmarkData=void 0,t.landmarkData={0:[{mean:[.235,.2344,.7305],identity:[.008,.0087,.0024,-.0026,6e-4,-.0022,5e-4,.0033,.0026,.0017,-.0055,-8e-4,.0011,.0059,0,2e-4,.001,-.001,-.0044,-.0011,-1e-4,.0024,.0019,-9e-4,4e-4,-.0015,0,.0038,.0013,3e-4,.002,-.0021,.0018,.0023,.0011,.0012,-.0011,-.0017,9e-4,-.0012,-8e-4,7e-4,-.0017,.0029,-.0029,8e-4,-.0027,8e-4,-.0017,4e-4,9e-4,-.001,-3e-4,8e-4,-.0016,-3e-4,-7e-4,.0016,-9e-4,.0021,-5e-4,.0011,-.0024,-1e-4,6e-4,1e-4,-.0026,-4e-4,-3e-4,-9e-4,5e-4,3e-4,-8e-4,-.001,-4e-4,-8e-4,.0022,-.0014,-1e-4,-.0023,0,-.0018,7e-4,-.0036,.0017,.0017,-.0018,-2e-4,-4e-4,-9e-4,-8e-4,3e-4,.0012,9e-4,-4e-4,-.0016,5e-4,-.0013,.0011,.0023,.0029,.0024,.0017,-.0027,-4e-4,-.001,-.0018,-.0015,-.001,.001,-.0013,-1e-4,-2e-4,7e-4,3e-4,3e-4,-.0016,9e-4,-.0021,4e-4,.0014,.002,-7e-4,-4e-4,2e-4,-4e-4,-6e-4,-9e-4,.0015,4e-4,-4e-4,5e-4,-.0015,9e-4,3e-4,3e-4,-2e-4,-8e-4,-9e-4,.0023,4e-4,1e-4,-4e-4,-1e-4,7e-4,2e-4,.001,1e-4,-.0029,-5e-4],expression:[0,3e-4,.0052,-7e-4,-.0051,-.0103,0,.0019,.0027,-.0054,.0135,.035,-5e-4,-6e-4,.0025,-.0045,-.0557,-.003,-.0191,-.1199,.0548,-.0036,-.0682,-.0167,2e-4,-.0085,-.0085,.0044,.0041,-.0568,.0044,.179,.0065,-.0017,-.1006,.0036,-.0267,-.3279,.0301,-.0011,-.0173,-.001,.0046,.2808,.0207,.0162,.238,-.0225,.0017,.1041,.0203,5e-4,.0161,.0031,-.0436,.6504,.0873,-.0099,.1039,.0048,-.0254,.2534,-.0042,.003,-.0106,-.0153,-.0118,.0252,9e-4,-.0071,.0099,.007,-.0724,.0461,-.0235,.0833,.004,.0141,-.0219,.0132,-.0042,-.0179,.0045,-.0215,.3638,.0054,-.0445]},{mean:[.2358,.1466,.7183],identity:[.0077,.0093,1e-4,-.0022,0,-.0041,5e-4,.0022,.0028,.0018,-.0038,-.0013,.001,.0044,-2e-4,0,.0017,-.0016,-.0043,-2e-4,-1e-4,.0023,9e-4,5e-4,-7e-4,-4e-4,-.0017,.003,7e-4,6e-4,.0011,-.0018,5e-4,.0018,-8e-4,4e-4,-.0023,-6e-4,-3e-4,-.0015,-.0014,-1e-4,-.0018,.0027,-.0026,3e-4,-.0031,.0011,-.0026,-.0011,.0012,-.0013,-2e-4,7e-4,-.0021,.0021,4e-4,.0012,-.001,.002,-3e-4,2e-4,-.0026,-3e-4,.001,1e-4,-.0018,-.001,9e-4,-.0011,.001,4e-4,-8e-4,-7e-4,-.001,-3e-4,7e-4,-5e-4,-6e-4,-.0019,-5e-4,-.002,7e-4,-.0027,.0014,.0013,6e-4,-5e-4,-3e-4,-3e-4,-.001,0,.0019,1e-4,6e-4,-.0012,4e-4,-9e-4,4e-4,.0025,3e-4,.0024,.0017,-9e-4,-.0015,-.0015,-.001,-.0023,-.001,-5e-4,-4e-4,8e-4,9e-4,7e-4,2e-4,7e-4,-9e-4,9e-4,-.0013,1e-4,9e-4,2e-4,6e-4,-6e-4,-8e-4,-4e-4,-7e-4,8e-4,.0019,3e-4,.0015,2e-4,-.0015,-3e-4,0,6e-4,3e-4,6e-4,-6e-4,2e-4,5e-4,-4e-4,.0012,-4e-4,2e-4,-8e-4,6e-4,-4e-4,2e-4,-.0021],expression:[-.0034,.0054,.0069,.004,6e-4,-.0104,-3e-4,.0036,.0025,.0065,.0296,.0208,-9e-4,.0154,.0029,-.0167,.0124,.004,-.0102,.0351,.028,-.019,.0146,-.0035,-.0023,-.0069,-.0051,-.01,.0262,-.028,.0112,.082,.023,-.0019,-.066,-.0104,-.0408,.0164,.0075,-.0074,.0367,.0041,.0517,-.0207,.0045,.0291,-.0672,-.0129,.0345,-.1558,-.0106,.0037,-.0437,-.0021,.0854,-.1121,.0187,.0041,.0072,.0011,.0193,-.0143,-.0119,.005,-.02,-.0122,-.008,.0527,.0036,-.006,.0222,.007,-.0429,.046,-.0046,.0226,-.0059,.0202,-.0173,.0087,0,-.0067,-.0095,-.0153,.1506,-.0017,.0021]}],1:[{mean:[-.2271,.2323,.7319],identity:[-.0084,.0097,.0018,.0041,2e-4,-.002,-.0012,.0036,.0019,-9e-4,-.0063,-.001,-3e-4,.0053,6e-4,1e-4,5e-4,-.0015,.0044,-.0025,-.0015,-.002,.0016,-6e-4,2e-4,-.0013,0,-.0022,2e-4,2e-4,-.0025,-.0014,.0015,8e-4,2e-4,.0012,6e-4,-6e-4,.0017,0,3e-4,-1e-4,.0024,.0025,-.0029,-.0015,-.0015,1e-4,.0031,-.0016,7e-4,.0019,6e-4,.002,9e-4,.001,-.0014,-.002,-.0015,.0029,1e-4,5e-4,-.0023,8e-4,-.0011,.0019,.0017,-3e-4,-.0011,-3e-4,.0011,-8e-4,.0019,-.0022,1e-4,.0015,.0017,-8e-4,-.0011,-.0022,3e-4,.0022,6e-4,-.003,-2e-4,0,-.0017,-2e-4,0,1e-4,4e-4,.0012,.0019,-.0014,4e-4,-.0017,-.0012,-.0011,.0021,-.0029,.0026,.0018,-.0023,-.0029,1e-4,.0014,-.0019,-4e-4,-4e-4,.0023,-.0016,0,-9e-4,.0014,-.0015,.0015,-.0016,-.0011,-.0022,1e-4,-.0018,.0027,-.0013,4e-4,-1e-4,-5e-4,.0011,-2e-4,.0015,5e-4,-9e-4,-1e-4,.0029,6e-4,0,-3e-4,7e-4,-8e-4,-5e-4,.0025,3e-4,2e-4,-8e-4,-1e-4,3e-4,0,.0014,2e-4,-.0024,1e-4],expression:[-.0025,-9e-4,.006,.004,-.0027,-.0113,-8e-4,.001,.0031,-.0016,.0144,.0382,-3e-4,-5e-4,.0035,-.0044,-.0511,-.0014,-7e-4,-.1007,.0582,-6e-4,-.0606,-.0165,5e-4,-.0087,-.0093,.0036,.0057,-.0576,-.0039,.1488,.0127,.0016,-.0666,-9e-4,-.0153,.3162,-.0445,-.0021,.0023,.0043,-.0033,.2382,.0063,-.0217,.167,-.039,.0097,-.1144,-.0189,-.0145,.6831,.0632,-.0012,-.1959,-.0133,4e-4,.1108,-3e-4,.0062,.2593,-.0161,-.0018,-.0051,-.012,.0162,.016,-.0022,-.0052,-.0201,.0101,.0115,.0365,-.024,-.0059,.0188,-.0336,.0352,.0224,-.0229,.0146,.0086,-.0273,-.0032,.0103,-.0112]},{mean:[-.2288,.1541,.7202],identity:[-.0082,.0101,2e-4,.0036,-7e-4,-.0037,-8e-4,.0024,.0022,-.0013,-.0045,-.0013,-6e-4,.0045,-4e-4,4e-4,.0012,-.0014,.0042,-.001,-7e-4,-.0019,3e-4,-2e-4,.0012,-4e-4,-.0012,-.0018,-4e-4,-1e-4,-.0014,-.0012,1e-4,1e-4,-.0017,.001,.0015,-1e-4,6e-4,1e-4,0,-6e-4,.0028,.0021,-.0025,-.002,-.0015,7e-4,.0028,-.0023,9e-4,.0013,1e-4,.0016,.0012,.0032,-6e-4,-.0013,-.0011,.0021,3e-4,-5e-4,-.0024,4e-4,-4e-4,.0014,.0015,-8e-4,-3e-4,3e-4,.0017,-6e-4,.002,-.0018,-3e-4,9e-4,1e-4,2e-4,-6e-4,-.0015,-4e-4,.0022,7e-4,-.0023,0,-2e-4,-2e-4,-3e-4,-1e-4,6e-4,-2e-4,6e-4,.0022,-3e-4,.0013,-.0014,-5e-4,-3e-4,.0013,-.0027,6e-4,.0025,-.0023,-8e-4,-.0013,.0017,-9e-4,-.0019,1e-4,8e-4,-7e-4,-4e-4,0,.001,-.001,.0019,-8e-4,-.0015,-6e-4,-2e-4,-.0011,8e-4,1e-4,9e-4,-8e-4,-4e-4,6e-4,7e-4,.0021,-4e-4,7e-4,-5e-4,.0021,-7e-4,-4e-4,-9e-4,8e-4,3e-4,1e-4,3e-4,1e-4,9e-4,.001,-5e-4,5e-4,-.001,.001,4e-4,-5e-4,-.0012],expression:[8e-4,.0037,.0078,-4e-4,5e-4,-.012,-2e-4,-.0046,.0033,-.0089,.0295,.0221,-.0024,-.0084,.0013,.0057,.0125,.0049,-.0036,.0373,.0285,.0115,.0135,-.0035,.0048,.0108,-.0033,.0106,.0281,-.0301,-.0082,.0803,.0244,-7e-4,-.0725,-.0105,-.0247,-.0036,-.0143,-.0045,-.029,2e-4,-.0303,.0093,-.0021,-.0196,-.0754,-.0211,.0326,.1246,.006,-.0804,-.1499,.0109,.0182,-.0029,-.0014,-.0035,.0072,-8e-4,-.0152,-.0108,-.0166,-.0073,-.0144,-.0095,.0101,.047,-.0018,-.004,-.0189,.0027,.0104,.0298,-.0042,-.0096,.0191,-.0217,.0228,.0226,-.0105,.0047,-.0048,-.0172,.0061,-.0043,-.0016]}],2:{mean:[.5396,.2028,.2496],identity:[.0204,.0146,-.0182,-.0052,.0158,-.0038,-.0025,-.0108,-.006,.0085,-.0044,.0029,.0042,.001,.0095,.0015,-.0034,-.0064,-.0057,7e-4,.0026,7e-4,.0037,-6e-4,.0037,.0026,.0024,5e-4,-.0019,-.0013,.003,-.0028,.0018,-9e-4,.002,-.0047,.004,-.003,.0031,-.0027,-.0026,-.0017,.0016,.0014,-4e-4,.0021,-.002,0,.0017,7e-4,-4e-4,-7e-4,-.0018,-9e-4,2e-4,-.0012,1e-4,-5e-4,-.0011,4e-4,2e-4,.0011,1e-4,8e-4,.0017,-.0013,.0025,.0017,.001,2e-4,3e-4,5e-4,-4e-4,-1e-4,-5e-4,7e-4,-.0022,-.0029,6e-4,-8e-4,-6e-4,6e-4,-5e-4,5e-4,.0013,3e-4,-5e-4,-.003,7e-4,2e-4,.0016,-4e-4,0,0,4e-4,1e-4,.0014,.0012,1e-4,4e-4,-1e-4,8e-4,9e-4,4e-4,-4e-4,9e-4,-2e-4,.001,9e-4,4e-4,1e-4,7e-4,7e-4,.001,-.0017,-8e-4,2e-4,.0017,-3e-4,-1e-4,4e-4,5e-4,7e-4,5e-4,-1e-4,-6e-4,-1e-4,1e-4,-3e-4,-7e-4,-2e-4,-5e-4,0,-3e-4,3e-4,8e-4,-2e-4,-3e-4,5e-4,1e-4,-7e-4,-.001,-2e-4,3e-4,4e-4,-1e-4,7e-4,0,4e-4,4e-4],expression:[1e-4,-4e-4,1e-4,0,5e-4,2e-4,0,0,3e-4,-2e-4,3e-4,5e-4,-1e-4,2e-4,8e-4,1e-4,-2e-4,-5e-4,-3e-4,6e-4,5e-4,0,1e-4,2e-4,1e-4,-1e-4,-6e-4,-2e-4,5e-4,0,-4e-4,4e-4,.0016,4e-4,-4e-4,-.0015,0,1e-4,1e-4,-3e-4,3e-4,.0019,-2e-4,7e-4,4e-4,4e-4,-8e-4,-.0015,.0013,-.0016,-.0069,4e-4,-6e-4,-.0019,0,-1e-4,5e-4,-3e-4,2e-4,.0014,-3e-4,6e-4,.0011,4e-4,-3e-4,-.0032,-6e-4,8e-4,.0025,-3e-4,3e-4,.0015,-1e-4,1e-4,3e-4,-1e-4,0,0,-3e-4,4e-4,.0019,1e-4,0,-8e-4,-1e-4,1e-4,5e-4]},3:{mean:[-.5464,.2141,.26],identity:[-.0207,.0172,-.0176,.0068,.0148,-.0051,.0042,-.0101,-.0058,-.0087,-.0059,.0045,-.0056,.0017,.0097,-.0048,-.004,-.0044,.0019,2e-4,.0041,-.0052,.0041,2e-4,-.0027,6e-4,.002,-.0027,-.0033,-6e-4,-.004,9e-4,-.0012,-1e-4,-.0026,.0021,-.003,-.0025,.0052,.0025,.0022,-1e-4,-8e-4,.0013,.001,4e-4,.0018,.0014,6e-4,-5e-4,-.0015,-.0039,.0014,-1e-4,8e-4,-2e-4,6e-4,-5e-4,-.0038,-.0012,-.0018,-3e-4,.001,9e-4,.0012,.0024,-.0024,-7e-4,-.0016,-.0016,3e-4,-.001,-.0014,-.0014,.001,-3e-4,-7e-4,-.0012,3e-4,6e-4,3e-4,-5e-4,3e-4,.0012,6e-4,-8e-4,4e-4,4e-4,8e-4,-2e-4,-.0014,3e-4,0,.0023,-3e-4,-.0012,-.0013,.0011,-2e-4,-.0014,-1e-4,.0014,0,3e-4,3e-4,-8e-4,-5e-4,-7e-4,-7e-4,-2e-4,3e-4,5e-4,2e-4,-1e-4,.0011,-.0014,1e-4,-.0015,-1e-4,-3e-4,0,-.001,-1e-4,-8e-4,8e-4,-8e-4,-2e-4,-.0011,-3e-4,-4e-4,1e-4,-2e-4,3e-4,-7e-4,0,3e-4,1e-4,-8e-4,5e-4,1e-4,4e-4,.0014,-6e-4,-.001,-3e-4,-2e-4,1e-4,-1e-4,-1e-4,7e-4],expression:[-3e-4,-1e-4,6e-4,4e-4,0,-7e-4,0,-3e-4,-2e-4,-4e-4,.0012,8e-4,1e-4,-5e-4,-7e-4,-4e-4,0,1e-4,-4e-4,.0017,7e-4,0,1e-4,3e-4,0,4e-4,4e-4,5e-4,1e-4,-.001,-7e-4,.0022,.0026,5e-4,-.0024,-.0023,0,1e-4,3e-4,0,-.0013,-.0015,6e-4,.0014,8e-4,-2e-4,-.0025,-.0023,-3e-4,.0049,.006,-2e-4,-7e-4,-2e-4,0,-.0019,-.0018,-2e-4,.0017,.0017,3e-4,.0015,7e-4,1e-4,-.0023,-.0036,2e-4,.0023,.0017,0,-5e-4,-3e-4,-3e-4,4e-4,2e-4,-1e-4,-3e-4,-5e-4,1e-4,.0018,.0025,1e-4,-6e-4,-.0011,0,1e-4,1e-4]},4:{mean:[.0018,.1864,.853],identity:[-.0011,.0134,.0085,9e-4,-.0025,-7e-4,-3e-4,.0033,4e-4,-5e-4,-.0047,-.002,7e-4,.0026,-.0069,-1e-4,.0036,.0072,5e-4,-8e-4,-.0047,4e-4,-8e-4,-.001,0,2e-4,-.0036,-2e-4,-.001,-.0048,-1e-4,.0018,.0044,-7e-4,-2e-4,.0043,3e-4,.002,-.0031,0,-7e-4,.0013,0,.0037,.0033,-.0016,-.0012,.002,-1e-4,-.0027,.0051,5e-4,8e-4,7e-4,-.0017,.0054,.0023,-3e-4,.0032,1e-4,0,7e-4,-5e-4,-.0011,2e-4,8e-4,0,-.0033,-8e-4,-7e-4,7e-4,.0033,5e-4,-3e-4,.0029,-1e-4,-.0024,-.0011,-.002,-.0015,-.0019,2e-4,7e-4,.0031,6e-4,.0012,0,0,-.0021,0,-9e-4,-.0011,-.0011,-2e-4,.0015,.001,.0013,8e-4,.001,-3e-4,9e-4,.0027,-2e-4,-.0011,-.0011,6e-4,7e-4,2e-4,1e-4,-5e-4,-.0022,.0011,-.0014,9e-4,3e-4,2e-4,0,-6e-4,-4e-4,-.0011,-7e-4,.001,-.0012,6e-4,-.0012,-.0015,3e-4,-9e-4,-.0013,-.0013,7e-4,.001,-.0011,-.0013,.0015,4e-4,1e-4,4e-4,-1e-4,-.0016,-.0016,9e-4,-7e-4,-.0024,5e-4,-1e-4,-.0017,-2e-4,3e-4,-9e-4],expression:[-.0017,.0019,.0097,.003,-.0103,-.0093,9e-4,6e-4,.0023,-.0017,-.0204,.0376,.0033,-.0034,.0033,-.0026,-.0322,.0396,-.0032,-.0947,.0942,-7e-4,-.0175,.0266,-.001,-6e-4,.0016,.0025,.0157,-.0142,-.0022,.037,.015,.0021,-.0102,-.0107,.0036,.0055,-.0051,.0021,3e-4,-3e-4,4e-4,-.0177,.0074,-6e-4,-.0357,.0149,-.0066,9e-4,.0013,-.0031,.0016,.0095,.002,.0052,.0035,-3e-4,.0053,-.0082,.002,.0022,-.0071,-.0011,5e-4,.0055,.0011,3e-4,-.0126,-4e-4,3e-4,-.0023,-.0015,.0059,.0063,-.0042,-.0023,.0055,.0019,.0017,-.0075,6e-4,-8e-4,.0018,.0012,.0012,-5e-4]},5:{mean:[-.002,-.0469,1.0039],identity:[-.0017,.0018,.0156,6e-4,-.0038,5e-4,4e-4,.0013,.002,-4e-4,-.0015,-.0051,5e-4,-7e-4,-.0055,-1e-4,-9e-4,.008,-2e-4,.0036,-.0053,4e-4,-.0026,-.0016,7e-4,9e-4,-.009,-3e-4,7e-4,-.0084,.0015,.0021,.0032,-.0015,.0018,.0046,-3e-4,-4e-4,-1e-4,8e-4,-.0044,-7e-4,-8e-4,7e-4,.0048,-.0024,-3e-4,.0024,2e-4,-.0051,.0058,-6e-4,.0028,.0018,-.0021,.0035,.0057,.0011,.0065,0,-2e-4,.0011,.003,-.0027,8e-4,7e-4,3e-4,-.0039,-.002,-2e-4,-.0015,.0034,.0012,-.0025,.0024,-2e-4,4e-4,-.0042,-.0024,-.001,-.0023,.0016,-7e-4,.0039,1e-4,-5e-4,.0018,3e-4,-2e-4,-9e-4,-.0015,3e-4,-7e-4,-1e-4,-2e-4,.0023,.0032,.002,-.0013,.0013,-.0038,.0045,1e-4,-.0031,1e-4,.0019,-1e-4,.0016,.0013,0,-.002,.0023,2e-4,.0011,.0018,-.0024,6e-4,-.0017,.002,-8e-4,-.0021,7e-4,.0011,8e-4,4e-4,-.001,.0012,2e-4,-6e-4,-.0027,-5e-4,.001,-9e-4,1e-4,-1e-4,8e-4,-.0011,.0022,-.001,-5e-4,-.0011,.0016,-.0015,8e-4,-3e-4,9e-4,.0013,-7e-4,-7e-4,-2e-4],expression:[-.0018,-.0168,.0088,.0389,.1026,.0414,.2201,-.0262,-.0016,-.0017,.0612,-.0298,-.0323,.0093,.0013,-.005,.2207,.1315,-4e-4,.0858,-.0303,-.0133,.015,-.008,.1454,.0114,.0177,-.0077,.1022,.0356,-.0023,.1088,.0232,.003,-.0706,.0347,-1e-4,.004,-.0011,.0397,-.0096,-.0033,.0029,-.01,-.0083,-6e-4,-.0135,.0016,-.0087,-.0019,.0022,-.004,-.0087,.0105,8e-4,-.005,.0069,.0028,.0409,-.0391,.003,.0103,.0051,.0026,.0776,-.0083,-.0062,-.0567,.0268,.0175,.0017,.0156,-.0043,.0299,-.0395,-.0015,.0051,-.0148,.0125,.0035,.0603,.0109,-.0645,-.0257,.002,6e-4,-8e-4]},6:{mean:[-6e-4,-.1542,.8789],identity:[-7e-4,-.0032,.01,0,-.0027,.0031,6e-4,5e-4,-6e-4,-3e-4,.0013,-.0049,-2e-4,-.002,-.0046,8e-4,-.0011,.0054,2e-4,.0043,-.0027,3e-4,-.0022,-.0019,8e-4,.0032,-.0069,0,4e-4,-.0071,.0016,.0027,.0039,-.0017,9e-4,.0031,-1e-4,-5e-4,-4e-4,7e-4,-.0026,-.0012,-5e-4,6e-4,2e-4,-.0014,-.0013,.0019,-2e-4,-.0053,.0031,-6e-4,.0016,.0023,-.0013,.0021,.0029,8e-4,.0052,0,4e-4,0,.0037,-.0026,3e-4,.002,-2e-4,-.0024,4e-4,-4e-4,-.0012,8e-4,7e-4,-.0023,5e-4,0,.0014,-.0022,-.0016,0,-.0012,8e-4,-7e-4,.0014,-6e-4,-.0012,-3e-4,2e-4,.0012,-3e-4,-.002,-1e-4,1e-4,-2e-4,-.0016,9e-4,.002,.0019,0,6e-4,-.0022,.0016,1e-4,-.0017,-.0013,.001,9e-4,-1e-4,.0011,3e-4,-7e-4,.0014,8e-4,.0013,.0011,-.002,0,-.0015,.0014,.001,-.0015,7e-4,3e-4,.001,-1e-4,.0012,7e-4,6e-4,-4e-4,-.0013,-.0012,-9e-4,-.0011,2e-4,-5e-4,5e-4,4e-4,2e-4,1e-4,0,5e-4,5e-4,-.0014,.0015,-9e-4,5e-4,.0014,-8e-4,-8e-4,.0012],expression:[8e-4,.0481,.1653,.0784,.1008,-.3992,.5088,-.02,.0542,.001,.3723,-.0151,-.0986,.0283,-.0033,-.0121,.2634,.1202,.0036,-.0529,-.0245,-.0297,-.1085,.0495,.3264,.0083,4e-4,-.0314,.1459,-.1142,-.003,1e-4,.1154,-.0035,-.0285,-.0184,-1e-4,.0012,.0035,.079,-.0103,.0043,.011,-.004,-.0774,-.0047,-.023,.0284,-.0048,-.001,.0149,-.0039,.0046,.0528,-6e-4,.0063,.0376,.0096,.0558,-.0295,0,-.0311,-.0634,.0062,.0176,-.0154,-.0109,-.1149,.0192,.0326,.0121,.0237,.0034,.0262,-.0778,.0014,-.0045,-.0203,.0077,.0588,.0575,.008,-.0557,-.0095,.0032,.0054,-.0042]},7:{mean:[.0038,-.2927,.833],identity:[6e-4,-.0109,.0073,-6e-4,-.0044,.0017,-1e-4,-.0022,-6e-4,-3e-4,.0065,-.0014,-6e-4,-.0051,-.0046,3e-4,-.0029,.003,2e-4,.0038,-6e-4,0,-.0012,6e-4,-4e-4,.0053,-.0075,-2e-4,-7e-4,-.0063,.0014,.0026,.0019,-.0022,.0018,.0028,-1e-4,-.0012,.0011,9e-4,.0019,-.0019,-1e-4,.0012,-.0022,-3e-4,-.0012,4e-4,-8e-4,3e-4,-3e-4,0,.0017,.0021,-4e-4,.0012,.0022,-3e-4,.0026,-3e-4,4e-4,-.0026,.0032,-.0019,3e-4,.0015,1e-4,-.0015,.0013,-1e-4,1e-4,-.0029,0,-2e-4,-.0028,-7e-4,.0019,-3e-4,-2e-4,.0012,9e-4,4e-4,-.001,-.002,-.0016,.0011,-1e-4,3e-4,.0021,2e-4,-.0014,-9e-4,-1e-4,0,-2e-4,-.001,.0015,.0018,1e-4,7e-4,8e-4,.0017,.001,-9e-4,1e-4,4e-4,.0023,-1e-4,.0012,1e-4,-8e-4,2e-4,.0018,6e-4,3e-4,1e-4,.0012,-3e-4,.002,-6e-4,0,-1e-4,-.0022,4e-4,5e-4,.0011,2e-4,-.0013,-.0023,6e-4,6e-4,-5e-4,-5e-4,9e-4,2e-4,2e-4,.0011,-3e-4,.0011,.0015,.0011,3e-4,2e-4,8e-4,-4e-4,-8e-4,3e-4,0,.0012,-1e-4],expression:[.026,.1107,.3257,.1917,.3206,-1.1348,1.0791,-.035,.1549,-.0103,.6953,1e-4,-.3262,.068,.0219,-.0044,.3643,.2178,.0168,-.2478,-.1321,-.0414,-.3782,-.0617,.5088,-.0031,-.0311,-.0497,.0948,-.385,.0148,-.2224,-.1415,-.0074,.0863,-.203,3e-4,-.0081,.0057,.1164,-.0039,.0015,-.0024,.0505,.1532,.0039,-.0148,-.0753,.0163,.0058,-.0339,.0036,.0252,-.0569,-.0041,.0163,-.0361,.0035,-.018,.1266,0,-.0163,-.0046,.0133,-.1656,.2134,.0191,.0057,.0734,.0681,.0039,-.0144,.029,-.074,-.046,.0122,.0072,-.0162,-.0349,-.1234,.0212,-.0355,.0535,.1218,.0043,-.024,.0016]},8:{mean:[-.0018,-.3037,.8491],identity:[2e-4,-.0112,.0077,-4e-4,-.0044,.0024,1e-4,-.0021,-4e-4,-4e-4,.0066,-.002,-4e-4,-.0052,-.0044,3e-4,-.0032,.0039,4e-4,.0042,-3e-4,2e-4,-.0012,-2e-4,-2e-4,.0052,-.0083,-1e-4,-8e-4,-.0056,.0017,.0024,.0019,-.0023,.002,.0027,-2e-4,-.0013,.002,9e-4,.0017,-.0028,-2e-4,.0012,-.0026,0,-.0016,2e-4,-5e-4,3e-4,-.001,-1e-4,.0016,.0016,-3e-4,.0012,.0012,-3e-4,.0027,-3e-4,3e-4,-.0026,.0037,-.0017,1e-4,.0016,1e-4,-.0015,.0024,1e-4,2e-4,-.0039,0,-3e-4,-.0033,-6e-4,.0017,-4e-4,-4e-4,.0012,.0018,2e-4,-.0012,-.002,-.0017,.0013,-.001,3e-4,.0021,4e-4,-.0012,-6e-4,-2e-4,0,-4e-4,-9e-4,.0016,.0017,4e-4,7e-4,7e-4,.001,9e-4,-8e-4,5e-4,5e-4,.0023,.001,.0013,2e-4,-4e-4,2e-4,.0017,8e-4,3e-4,-1e-4,9e-4,-4e-4,.0019,-5e-4,3e-4,0,-.0025,3e-4,3e-4,.0011,1e-4,-.0015,-.001,7e-4,7e-4,-7e-4,-7e-4,8e-4,0,1e-4,.0013,-4e-4,.0012,.0014,.0017,4e-4,2e-4,3e-4,-3e-4,-9e-4,1e-4,0,.001,-4e-4],expression:[-.0092,2.8809,1.416,.2018,1.1982,-.9351,1.4492,-.1902,.1749,.0305,-.167,-.1572,-.7354,-.0492,.0115,.0608,.2971,.1179,.0046,-.0997,-.0041,-.0104,.3379,-.1854,.009,.0366,-.0583,.0269,-.0029,-.4175,-8e-4,.1794,.0752,-.0135,.1158,.1234,5e-4,.003,-.0032,.1034,-.0504,-.0055,-.0076,-.0772,.224,.0047,.0229,-.1044,.0162,-.0161,-.0241,-.0083,-.1388,-.0434,-.0125,-.0997,-.0327,-.0111,.1576,-.3911,.0199,.2522,.142,.0059,-.0721,-.0045,.031,-.1136,-.1685,.0641,.0142,.0312,.0426,-.1366,.1011,.0101,-.0157,.0018,-.0103,-.0344,.0907,.0016,.1168,-.0806,.0104,-.0057,.0111]},9:[{mean:[.0038,-.2927,.833],identity:[6e-4,-.0109,.0073,-6e-4,-.0044,.0017,-1e-4,-.0022,-6e-4,-3e-4,.0065,-.0014,-6e-4,-.0051,-.0046,3e-4,-.0029,.003,2e-4,.0038,-6e-4,0,-.0012,6e-4,-4e-4,.0053,-.0075,-2e-4,-7e-4,-.0063,.0014,.0026,.0019,-.0022,.0018,.0028,-1e-4,-.0012,.0011,9e-4,.0019,-.0019,-1e-4,.0012,-.0022,-3e-4,-.0012,4e-4,-8e-4,3e-4,-3e-4,0,.0017,.0021,-4e-4,.0012,.0022,-3e-4,.0026,-3e-4,4e-4,-.0026,.0032,-.0019,3e-4,.0015,1e-4,-.0015,.0013,-1e-4,1e-4,-.0029,0,-2e-4,-.0028,-7e-4,.0019,-3e-4,-2e-4,.0012,9e-4,4e-4,-.001,-.002,-.0016,.0011,-1e-4,3e-4,.0021,2e-4,-.0014,-9e-4,-1e-4,0,-2e-4,-.001,.0015,.0018,1e-4,7e-4,8e-4,.0017,.001,-9e-4,1e-4,4e-4,.0023,-1e-4,.0012,1e-4,-8e-4,2e-4,.0018,6e-4,3e-4,1e-4,.0012,-3e-4,.002,-6e-4,0,-1e-4,-.0022,4e-4,5e-4,.0011,2e-4,-.0013,-.0023,6e-4,6e-4,-5e-4,-5e-4,9e-4,2e-4,2e-4,.0011,-3e-4,.0011,.0015,.0011,3e-4,2e-4,8e-4,-4e-4,-8e-4,3e-4,0,.0012,-1e-4],expression:[.026,.1107,.3257,.1917,.3206,-1.1348,1.0791,-.035,.1549,-.0103,.6953,1e-4,-.3262,.068,.0219,-.0044,.3643,.2178,.0168,-.2478,-.1321,-.0414,-.3782,-.0617,.5088,-.0031,-.0311,-.0497,.0948,-.385,.0148,-.2224,-.1415,-.0074,.0863,-.203,3e-4,-.0081,.0057,.1164,-.0039,.0015,-.0024,.0505,.1532,.0039,-.0148,-.0753,.0163,.0058,-.0339,.0036,.0252,-.0569,-.0041,.0163,-.0361,.0035,-.018,.1266,0,-.0163,-.0046,.0133,-.1656,.2134,.0191,.0057,.0734,.0681,.0039,-.0144,.029,-.074,-.046,.0122,.0072,-.0162,-.0349,-.1234,.0212,-.0355,.0535,.1218,.0043,-.024,.0016]},{mean:[-.0018,-.3037,.8491],identity:[2e-4,-.0112,.0077,-4e-4,-.0044,.0024,1e-4,-.0021,-4e-4,-4e-4,.0066,-.002,-4e-4,-.0052,-.0044,3e-4,-.0032,.0039,4e-4,.0042,-3e-4,2e-4,-.0012,-2e-4,-2e-4,.0052,-.0083,-1e-4,-8e-4,-.0056,.0017,.0024,.0019,-.0023,.002,.0027,-2e-4,-.0013,.002,9e-4,.0017,-.0028,-2e-4,.0012,-.0026,0,-.0016,2e-4,-5e-4,3e-4,-.001,-1e-4,.0016,.0016,-3e-4,.0012,.0012,-3e-4,.0027,-3e-4,3e-4,-.0026,.0037,-.0017,1e-4,.0016,1e-4,-.0015,.0024,1e-4,2e-4,-.0039,0,-3e-4,-.0033,-6e-4,.0017,-4e-4,-4e-4,.0012,.0018,2e-4,-.0012,-.002,-.0017,.0013,-.001,3e-4,.0021,4e-4,-.0012,-6e-4,-2e-4,0,-4e-4,-9e-4,.0016,.0017,4e-4,7e-4,7e-4,.001,9e-4,-8e-4,5e-4,5e-4,.0023,.001,.0013,2e-4,-4e-4,2e-4,.0017,8e-4,3e-4,-1e-4,9e-4,-4e-4,.0019,-5e-4,3e-4,0,-.0025,3e-4,3e-4,.0011,1e-4,-.0015,-.001,7e-4,7e-4,-7e-4,-7e-4,8e-4,0,1e-4,.0013,-4e-4,.0012,.0014,.0017,4e-4,2e-4,3e-4,-3e-4,-9e-4,1e-4,0,.001,-4e-4],expression:[-.0092,2.8809,1.416,.2018,1.1982,-.9351,1.4492,-.1902,.1749,.0305,-.167,-.1572,-.7354,-.0492,.0115,.0608,.2971,.1179,.0046,-.0997,-.0041,-.0104,.3379,-.1854,.009,.0366,-.0583,.0269,-.0029,-.4175,-8e-4,.1794,.0752,-.0135,.1158,.1234,5e-4,.003,-.0032,.1034,-.0504,-.0055,-.0076,-.0772,.224,.0047,.0229,-.1044,.0162,-.0161,-.0241,-.0083,-.1388,-.0434,-.0125,-.0997,-.0327,-.0111,.1576,-.3911,.0199,.2522,.142,.0059,-.0721,-.0045,.031,-.1136,-.1685,.0641,.0142,.0312,.0426,-.1366,.1011,.0101,-.0157,.0018,-.0103,-.0344,.0907,.0016,.1168,-.0806,.0104,-.0057,.0111]}],10:{mean:[-.007,-.6338,.7695],identity:[1e-4,-.0296,.0089,-6e-4,-.0073,-.0065,-1e-4,-.0029,-.0031,-2e-4,.0128,.0065,0,-.0116,-.014,-1e-4,-.0037,-.0052,-5e-4,.0028,.003,-4e-4,.0041,.0015,6e-4,.0088,-.0076,-.0011,-.0015,-.0073,7e-4,-.0011,.0019,-.0011,-5e-4,.0031,-1e-4,-.0018,9e-4,.0018,.0038,.0068,-4e-4,-1e-4,.0061,.0024,.0024,-.0066,-6e-4,.0051,.0014,.002,.005,-.0035,1e-4,-.0034,-.004,-7e-4,.001,-8e-4,1e-4,-5e-4,-.0021,2e-4,.0045,-.0043,-.0012,-.0024,-.0014,6e-4,.0034,.0027,-8e-4,-.0053,.0014,1e-4,.0013,-.0018,6e-4,-.0015,.0029,-2e-4,-.0035,1e-4,-.002,.0012,.0048,.0011,1e-4,-2e-4,-3e-4,-.0012,.0033,6e-4,.002,-.0033,4e-4,.0028,2e-4,8e-4,-1e-4,-.0018,8e-4,.0017,1e-4,9e-4,8e-4,3e-4,.0019,-.001,.001,-7e-4,-.0013,0,1e-4,.0032,-1e-4,1e-4,.0011,-4e-4,5e-4,-7e-4,.0018,-3e-4,2e-4,7e-4,8e-4,-.0014,7e-4,.0015,-6e-4,-1e-4,-4e-4,.0019,-9e-4,-6e-4,-6e-4,-.0012,2e-4,-.0012,-8e-4,4e-4,6e-4,-.0011,3e-4,9e-4,-4e-4,6e-4,-7e-4,-4e-4],expression:[-.0603,2.0527,1.9014,.1025,.6143,.3804,.7881,-.1023,-.0764,.0454,-.2487,-.5073,-.6704,-.031,-.0181,.0466,.0651,-.0726,-.0033,-.0022,.2944,.0101,.1669,-.5225,-.4685,.0236,.0079,.011,.2173,.4529,.0121,-.2104,-.0673,.0225,-.4023,.0317,-9e-4,.0076,-.0032,.0333,.0523,.0129,-.001,-.0319,-.0139,.0015,-.0044,.0247,-5e-4,.0161,.0061,.0074,.0776,-.0176,.007,.055,-.017,.0052,-.1819,.0294,-.0161,-.0337,.0226,-.008,-.0297,.1967,-.0095,.0383,.2039,.0434,.0271,-.0064,-.0037,-.0294,-.024,.0024,-.0137,-.0209,-.0031,.0628,.1003,-.0126,-.056,-.0097,-.0012,-.0041,.0162]},11:{mean:[.2505,.3833,.7793],identity:[.0098,.012,.0077,-6e-4,-3e-4,0,1e-4,.0082,-7e-4,.0019,-.0036,-.0012,2e-4,.0119,-.0039,.001,1e-4,.0031,-.0036,-.0059,-7e-4,.0026,.0028,-.0011,9e-4,-.0032,8e-4,.0029,.0043,3e-4,.0025,-9e-4,.0047,.0016,.0022,.0018,-.001,.0025,-.003,-.001,.0033,.0034,4e-4,-.0052,.0024,-2e-4,.001,-.0014,-6e-4,.0038,-.0015,-6e-4,-.001,-.0011,-4e-4,-.001,4e-4,-7e-4,.0036,-8e-4,-2e-4,-.0019,5e-4,3e-4,-6e-4,-.0024,-.0017,-.0014,6e-4,-4e-4,-.0031,-.0013,-6e-4,.0042,2e-4,-2e-4,-.002,-3e-4,8e-4,.0018,-5e-4,-6e-4,-2e-4,-6e-4,.0025,.0019,.001,8e-4,-.0015,-.0012,-1e-4,-6e-4,-4e-4,.0023,-.001,6e-4,-2e-4,-.001,0,-9e-4,-.002,-.0011,1e-4,0,-1e-4,5e-4,6e-4,9e-4,-6e-4,5e-4,8e-4,-1e-4,-2e-4,-.0017,-6e-4,-4e-4,4e-4,-6e-4,.0012,4e-4,3e-4,-7e-4,3e-4,-2e-4,6e-4,1e-4,5e-4,-.0019,-6e-4,4e-4,7e-4,-1e-4,1e-4,5e-4,.001,-6e-4,-.002,-7e-4,-5e-4,5e-4,3e-4,7e-4,.0014,0,5e-4,-5e-4,-2e-4,3e-4,-6e-4,-1e-4],expression:[-9e-4,-3e-4,.0032,-.003,-.0034,-.0031,.0014,0,4e-4,-.0139,-.0764,.0275,-.002,-.0089,.0031,-.0503,-.0771,.038,-.1323,-.3523,.1368,-.0474,-.0564,.0296,-.0045,.007,-.0013,.0153,.1259,-.0464,.0866,.2175,-.0786,-.0413,-.1248,.0448,-.1777,-.4607,.1782,-5e-4,-.005,.0016,.0629,.1506,-.0624,.0545,.2576,-.0864,-.0231,-.0552,.0244,-.0136,-.0359,.0169,-.1158,-.2996,.1214,-.0235,-.0354,.0165,-.0745,-.1079,.0475,-.0116,-.0039,.0012,.0013,-.0108,-8e-4,.0044,-.0027,-1e-4,-.0694,.0363,.0071,.1462,-.136,.0047,.009,-.0177,.0038,-.0271,.0118,.0011,-.0399,-.0111,.0123]},12:{mean:[-.2981,.3828,.7563],identity:[-.0116,.014,.0054,.0018,5e-4,0,-4e-4,.0068,-.0013,-.0019,-.0048,-5e-4,5e-4,.0108,-.0036,-.0029,-.0018,.0029,.0043,-.0077,6e-4,-.0017,.002,-.0011,-.0014,-.0035,.0015,-.0024,.0011,4e-4,-.0048,2e-4,.0029,-1e-4,-1e-4,.003,.0019,.0035,-.0016,-4e-4,.0039,.0019,1e-4,-.0064,.004,3e-4,.002,-.0021,.0017,.0011,-.001,.0026,.0025,-5e-4,2e-4,-3e-4,-5e-4,-7e-4,9e-4,-4e-4,-.001,-.0022,.001,9e-4,-.0014,7e-4,.0011,-.001,-5e-4,-8e-4,-.0017,-.0021,9e-4,.0036,5e-4,4e-4,-.0031,6e-4,-.0015,.0027,2e-4,1e-4,-.0011,2e-4,-.0011,-.0018,4e-4,-.0013,-2e-4,7e-4,9e-4,-3e-4,.001,-.0021,8e-4,6e-4,-9e-4,4e-4,-7e-4,8e-4,-.002,-.0013,0,7e-4,-.0012,-1e-4,.0014,.0014,-1e-4,.0013,6e-4,6e-4,-.0014,-.0015,-9e-4,1e-4,1e-4,9e-4,7e-4,0,1e-4,-.001,-4e-4,0,-5e-4,1e-4,-3e-4,4e-4,-5e-4,-1e-4,-.0011,2e-4,0,1e-4,8e-4,8e-4,0,-7e-4,-8e-4,0,2e-4,-1e-4,.001,3e-4,4e-4,-2e-4,0,5e-4,.0018,-1e-4],expression:[0,-4e-4,.0028,.0036,-8e-4,-.0026,-.0015,-8e-4,3e-4,.0075,-.0608,.025,.0019,-.0076,.0033,.0379,-.0437,.0335,.0964,-.2452,.1233,.0368,-.0251,.0253,.0033,.0097,-.0021,-.0095,.1171,-.0475,-.064,.1548,-.0718,.0228,-.0831,.0343,-.1924,.6206,-.2771,.0021,-.0143,.0056,-.0705,.2522,-.1116,-.0692,.4229,-.1592,-.0093,.05,-.0185,.0948,-.3196,.1437,-.0184,.0194,-.0131,.0205,-.0353,.0201,.0676,-.135,.0672,.0137,-.0311,.0118,3e-4,-.0077,-2e-4,-.0151,4e-4,-.0058,.029,-.0139,.0163,.1324,.1819,-.0039,.0406,.0501,.0017,.0331,.0161,.0062,-.0235,-.0446,.0047]}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={incompatible:()=>!("function"==typeof Promise&&"object"==typeof WebAssembly&&!!(navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices&&navigator.mediaDevices.getUserMedia)),incompatible_ui:()=>{const e=document.createElement("div");e.append(function(){let e=document.createElement("div"),t="a recent web browser";navigator.userAgent.match(/Android/i)?(t="Chrome for Android",window.location.href="googlechrome://navigate?url="+encodeURI(window.location.href),setTimeout(()=>{window.location.href="samsunginternet://open?url="+encodeURI(window.location.href)},2e3)):navigator.userAgent.match(/iPhone|iPod|iPad/i)&&(t="Safari",e.classList.add("zee-launcher-browser-safari")),e.classList.add("zee-launcher-unsupported"),e.innerHTML=`\n <style>.zee-launcher-unsupported {\n display: flex;\n flex-direction: column;\n height: 100%;\n justify-content: center;\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n align-items: center;\n }\n .zee-launcher-browser-logo {\n background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 210 211' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-82 -146)' fill-rule='nonzero' stroke='%23ffffff' stroke-width='2'%3E%3Cg transform='translate(83 146.5)'%3E%3Cpath d='m55.146 88.785l-32.039-49.472c19.962-24.947 49.904-38.684 80.517-38.81 17.739-0.12642 35.855 4.4246 52.336 13.99 18.2 10.619 32.039 25.874 40.846 43.404l-86.095-4.5511c-24.365-1.4327-47.556 12.347-55.565 35.439zm13.797 16.224c0 19.468 15.684 35.229 35.059 35.229 19.374 0 35.059-15.76 35.059-35.229 0-19.468-15.684-35.229-35.059-35.229-19.374 0-35.059 15.718-35.059 35.229zm132.06-37.588l-58.585 3.034c15.894 18.668 16.145 45.595 2.7678 66.243l-47.01 72.648c19.5 1.0535 39.588-3.2447 57.788-13.864 45.039-26.126 63.282-80.908 45.039-128.06zm-144.93 57.647l-39.126-77.326c-10.694 16.434-16.942 36.156-16.942 57.267 0 52.253 38.078 95.53 87.856 103.2l26.713-52.59c-24.155 4.5511-47.472-8.765-58.501-30.551z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");\n width: 211px;\n height: 211px;\n margin-bottom: 25%;\n margin-top: -60px;\n background-repeat: no-repeat;\n }\n .zee-launcher-browser-safari .zee-launcher-browser-logo {\n background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 211 211' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-82 -146)' fill-rule='nonzero' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='m180 251.86c0-4.0385 2.9377-7.855 7.2552-7.855 3.9614 0 7.7448 2.8402 7.7448 7.145 0 4.0385-2.8487 7.855-7.1662 7.855-4.0059 0-7.8338-2.9734-7.8338-7.145zm112-0.35503c0 57.728-46.772 104.5-104.5 104.5s-104.5-46.772-104.5-104.5 46.772-104.5 104.5-104.5 104.5 46.772 104.5 104.5zm-12-1c0-51.649-41.851-93.5-93.5-93.5s-93.5 41.851-93.5 93.5 41.851 93.5 93.5 93.5 93.5-41.851 93.5-93.5zm-30.624 40.983c0 1.5095 5.4495 4.2768 6.8328 5.1154-11.486 17.401-29.26 29.938-49.423 34.928l-1.8444-7.757c-0.12576-1.0482-0.79646-1.174-1.7606-1.174-0.79646 0-1.2576 1.174-1.1737 1.7611l1.8444 7.8828c-5.5753 1.174-11.234 1.7611-16.935 1.7611-15.217 0-30.182-4.2768-43.177-12.202 0.71263-1.174 5.1141-7.5474 5.1141-8.4698 0-0.79666-0.71263-1.5095-1.5091-1.5095-1.6348 0-5.1141 6.9603-6.1621 8.344-17.522-11.615-30.182-29.602-35.044-50.148l8.0066-1.761c0.92222-0.25158 1.1737-0.92246 1.1737-1.7611 0-0.79667-1.1737-1.2579-1.8444-1.174l-7.8389 1.803c-1.048-5.3251-1.6348-10.692-1.6348-16.143 0-15.556 4.4015-30.86 12.66-43.984 1.1737 0.71281 6.749 4.5284 7.6712 4.5284 0.79646 0 1.5091-0.58702 1.5091-1.3837 0-1.6353-6.1621-4.7381-7.5455-5.7024 11.821-17.275 29.805-29.728 50.219-34.34l1.7606 7.757c0.25152 0.92246 0.92222 1.174 1.7606 1.174 0.83838 0 1.2576-1.174 1.1737-1.8449l-1.7606-7.6732c5.1141-0.92246 10.312-1.5095 15.552-1.5095 15.552 0 30.727 4.4026 43.973 12.663-0.79646 1.174-4.5273 6.6249-4.5273 7.5474 0 0.79667 0.58687 1.5095 1.3833 1.5095 1.6348 0 4.7369-6.0379 5.5753-7.4216 17.187 11.615 29.469 29.351 34.248 49.561l-6.4975 1.3837c-1.048 0.25158-1.1737 0.92246-1.1737 1.8449 0 0.79667 1.1737 1.2579 1.7606 1.174l6.6232-1.5095c1.048 5.3251 1.6348 10.776 1.6348 16.227 0 15.221-4.1919 30.189-12.073 43.062-1.1737-0.58702-6.0364-4.0672-6.9586-4.0672-0.8803 0-1.5929 0.71281-1.5929 1.5095zm-14.876-98.483c-5.2178 4.88-53.863 49.48-55.228 51.8l-38.772 64.2c5.0974-4.76 53.863-49.6 55.108-51.72l38.892-64.28z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");\n }\n .zee-launcher-unsupported-message {\n text-align: center;\n width: 250px;\n font-family: sans-serif;\n color: #ffffff;\n }\n .zee-launcher-unsupported-message-copy {\n border: 1px solid #ffffff;\n border-radius: 5px;\n margin-top: 10px;\n }\n #zee-launcher-unsupported-message-input {\n border: none;\n padding: 10px;\n border-radius: 0px;\n border-right: 1px solid #344B60;\n height: 40px;\n color: #ffffff;\n background-color: black;\n box-sizing: border-box;\n width: calc(100% - 65px);\n margin-left: 5px;\n }\n #zee-launcher-unsupported-message-button {\n background: none;\n border: none;\n outline: none;\n text-transform: uppercase;\n color: #ffffff;\n height: 40px;\n display: inline-block;\n width: 59px;\n }\n .zee-launcher-unsupported-message-before-copy {\n height: 100px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: 20px;\n }\n .zee-launcher-unsupported-message-copied .zee-launcher-unsupported-message-before-copy {\n display: none;\n }\n .zee-launcher-unsupported-message-after-copy {\n display: none;\n }\n .zee-launcher-unsupported-message-copied .zee-launcher-unsupported-message-after-copy {\n height: 100px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: 20px;\n }\n </style>\n <div class="zee-launcher-browser-logo"></div>\n <div class="zee-launcher-unsupported-message">Open with ${t} to access this content.</div>\n <div class="zee-launcher-unsupported-message-before-copy">\n <div class="zee-launcher-unsupported-message ">Tap below to copy the address for easy pasting into ${t}.</div>\n <div class="zee-launcher-unsupported-message-copy"><input id="zee-launcher-unsupported-message-input" type="text/"><button id="zee-launcher-unsupported-message-button">Copy</button></div>\n </div>\n <div class="zee-launcher-unsupported-message zee-launcher-unsupported-message-after-copy">COPIED! Now paste into ${t}'s address bar to experience the content.</div>\n `;let r=e.querySelector("#zee-launcher-unsupported-message-input")||document.createElement("input");r.value=window.location.href;let n=()=>{if(navigator.userAgent.match(/iPhone|iPod|iPad/i)){let e=document.createRange();e.selectNodeContents(r);let t=window.getSelection();if(!t)return;t.removeAllRanges(),t.addRange(e),r.setSelectionRange(0,999999999)}else r.select();document.execCommand("copy"),r.blur(),e.classList.toggle("zee-launcher-unsupported-message-copied",!0)};return(e.querySelector("#zee-launcher-unsupported-message-button")||document.createElement("button")).addEventListener("click",n),r.addEventListener("click",n),e}()),Object.assign(e.style,{position:"fixed",width:"100%",height:"100%",top:"0px",left:"0px",zIndex:1001,backgroundColor:"rgba(0, 0, 0, 0.9)",fontFamily:"sans-serif",color:"white",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"}),e.classList.add("zee_launcher_compatibility"),document.body.append(e)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SequenceSource=void 0;const n=r(0),a=r(13),i=r(8),o=r(2),s=r(1);let u=1,c=new Map;class _ extends i.Source{constructor(e,t){super(),this._impl=e,this._pipeline=t,this._packetNumber=0,this._motionUpdatesQueued=0,this._motionUpdatesSent=0,this._minFrameGapMs=0,this._lastUpdateTime=0}static create(e){let t=u++;return c.set(t,new _(t,e)),n.zcout("sequence_source_source_t initialized"),t}static get(e){return c.get(e)}loadFromMemory(e){try{this._decoder=new a.SequenceDecoder(e),this._packetNumber=0,this._lastUpdateTime=0}catch(e){n.zcerr("Unable to decode sequence:",e)}}maxPlaybackFpsSet(e){this._minFrameGapMs=e<=0?0:1e3/e}getFrame(e){let t=o.Pipeline.get(this._pipeline);if(!t)return;if(!this._decoder)return;if(this._submitMotionUpdates(t),this._motionUpdatesQueued>this._motionUpdatesSent)return;if(e)return;let r=performance.now();if(r<this._lastUpdateTime+this._minFrameGapMs)return;if(this._packetNumber>=this._decoder.numberPackets)return;let n=this._decoder.dataByPacket.get(this._packetNumber);if(n.type!=a.SequenceRecorderPacketType.CAMERA_FRAME)return;this._packetNumber++;let i=t.cameraPixelArrays.pop();for(;i&&i.byteLength!==n.greyscale.byteLength;)i=t.cameraPixelArrays.pop();i||(i=new ArrayBuffer(n.greyscale.byteLength)),new Uint8Array(i).set(n.greyscale),this._lastUpdateTime=r;let u={data:i,cameraSourceData:n.greyscale,cameraModel:n.cameraModel,cameraToDevice:n.cameraToDevice,dataWidth:n.width,dataHeight:n.height,texture:void 0,userFacing:n.userFacing,uvTransform:s.mat4.create(),cameraSource:this};this._submitMotionUpdates(t);const c=t.registerToken(u);t.sendDataToWorker(u.data||new ArrayBuffer(0),c,u.dataWidth,u.dataHeight,u.userFacing,u.cameraToDevice,u.cameraModel)}destroy(){c.delete(this._impl),this.pause()}start(){var e;let t=o.Pipeline.get(this._pipeline);t&&t.currentCameraSource!==this&&(null===(e=t.currentCameraSource)||void 0===e||e.pause(),t.currentCameraSource=this)}pause(){let e=o.Pipeline.get(this._pipeline);e&&e.currentCameraSource===this&&(e.currentCameraSource=void 0)}uploadGL(e){let t=o.Pipeline.get(this._pipeline);if(!t)return;let r=null==t?void 0:t.glContext;r&&(e.texture||(e.texture=t.getVideoTexture()),e.texture&&e.cameraSourceData&&(r.bindTexture(r.TEXTURE_2D,e.texture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e.dataWidth,e.dataHeight,0,r.LUMINANCE,r.UNSIGNED_BYTE,new Uint8Array(e.cameraSourceData)),r.bindTexture(r.TEXTURE_2D,null)))}_submitMotionUpdates(e){let t=!1;for(;this._packetNumber<this._decoder.numberPackets;){let r=this._decoder.dataByPacket.get(this._packetNumber);if(r.type==a.SequenceRecorderPacketType.CAMERA_FRAME)break;switch(r.type){case a.SequenceRecorderPacketType.ACCELEROMETER:e.motionAccelerometerSubmit(r.t,r.x,r.y,r.z),t=!0;break;case a.SequenceRecorderPacketType.ROTATION_RATE:e.motionRotationRateSubmit(r.t,r.x,r.y,r.z),t=!0;break;case a.SequenceRecorderPacketType.ATTITUDE:e.motionAttitudeSubmit(r.t,r.x,r.y,r.z),t=!0;break;case a.SequenceRecorderPacketType.ATTITUDE_MATRIX:e.motionAttitudeMatrix(r.attitude),t=!0}this._packetNumber++}t&&(this._motionUpdatesQueued++,setTimeout(()=>{this._motionUpdatesSent++},0))}}t.SequenceSource=_},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.gfx=void 0,t.gfx='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="250" height="80.408" viewBox="0 0 250 80.408"><defs><filter id="a" x="0" y="1.182" width="250" height="79.226" filterUnits="userSpaceOnUse"><feOffset dy="3" input="SourceAlpha"/><feGaussianBlur stdDeviation="3" result="b"/><feFlood flood-opacity="0.161"/><feComposite operator="in" in2="b"/><feComposite in="SourceGraphic"/></filter><filter id="c" x="6.929" y="0" width="111.975" height="40.988" filterUnits="userSpaceOnUse"><feOffset dy="3" input="SourceAlpha"/><feGaussianBlur stdDeviation="3" result="d"/><feFlood flood-opacity="0.161"/><feComposite operator="in" in2="d"/><feComposite in="SourceGraphic"/></filter></defs><g transform="translate(-26.873 -414.029)"><g transform="translate(44 423.332)"><g transform="translate(0 0.635)" style="isolation:isolate"><g transform="translate(0 0)"><g transform="matrix(1, 0, 0, 1, -17.13, -9.94)" filter="url(#a)"><path d="M55.766,44.97V11.8h8.272v2.6h.089a8.258,8.258,0,0,1,7.046-3.357,11.4,11.4,0,0,1,8.5,3.686,12.667,12.667,0,0,1,3.278,8.622,12.509,12.509,0,0,1-3.25,8.57,11.353,11.353,0,0,1-8.429,3.6,9.533,9.533,0,0,1-7.229-2.95V43.378l-8.269,1.594h0Zm8-21.671a4.958,4.958,0,0,0,5.319,5.15A4.957,4.957,0,0,0,74.4,23.3a5.321,5.321,0,0,0-10.638,0ZM16.105,18.412H2.752V11.038H30.9L14.887,37.16H38.22L0,44.534ZM131.469,38.45a.761.761,0,0,1-.484-.166.582.582,0,0,1-.228-.419l-.553-3.586a12.243,12.243,0,0,1-1.782-.721l-2.789,2.084a.718.718,0,0,1-.5.176.688.688,0,0,1-.495-.214,25.864,25.864,0,0,1-3.264-3.274.754.754,0,0,1,.018-.9c.2-.277.543-.713,1.01-1.3.483-.6.832-1.05,1.068-1.374a9.614,9.614,0,0,1-.811-1.929l-3.62-.527a.631.631,0,0,1-.416-.243.728.728,0,0,1-.159-.458V21.283a.743.743,0,0,1,.159-.448.6.6,0,0,1,.376-.253l3.68-.546a9.511,9.511,0,0,1,.772-1.792c-.523-.733-1.235-1.638-2.117-2.69a.731.731,0,0,1-.2-.467.82.82,0,0,1,.178-.449,19.577,19.577,0,0,1,1.949-2.095c.953-.924,1.582-1.393,1.87-1.393a.861.861,0,0,1,.515.195l2.729,2.084a11.551,11.551,0,0,1,1.8-.741,31.446,31.446,0,0,1,.573-3.623.666.666,0,0,1,.712-.546h4.392a.757.757,0,0,1,.485.166.58.58,0,0,1,.228.419l.553,3.584a12.576,12.576,0,0,1,1.782.722l2.809-2.085a.641.641,0,0,1,.475-.176.776.776,0,0,1,.5.195,27.035,27.035,0,0,1,3.264,3.313.625.625,0,0,1,.139.429.742.742,0,0,1-.159.447c-.2.271-.525.7-1.008,1.3-.467.581-.827,1.043-1.069,1.373a11.8,11.8,0,0,1,.812,1.91l3.62.545a.626.626,0,0,1,.416.244.736.736,0,0,1,.158.457v4.325a.755.755,0,0,1-.158.449.6.6,0,0,1-.4.253l-3.66.545a12.692,12.692,0,0,1-.772,1.774c.465.653,1.177,1.559,2.117,2.688a.751.751,0,0,1,.2.488.648.648,0,0,1-.178.448,19.638,19.638,0,0,1-1.958,2.1c-.947.918-1.573,1.384-1.861,1.384a.976.976,0,0,1-.515-.176l-2.731-2.1a11.361,11.361,0,0,1-1.8.741,31.849,31.849,0,0,1-.573,3.625.668.668,0,0,1-.713.546Zm-1.385-18.491a4.935,4.935,0,0,0,0,7.053,5.12,5.12,0,0,0,7.163,0,4.931,4.931,0,0,0,0-7.053,5.117,5.117,0,0,0-7.163,0Zm69.969,14.868a18.523,18.523,0,0,1-4.932-2.073l1.705-6.1A13.441,13.441,0,0,0,200.779,29a12.14,12.14,0,0,0,4.344.818,4.644,4.644,0,0,0,2.351-.482,1.538,1.538,0,0,0,.806-1.4q0-1.5-3.25-2.242-1.061-.246-1.705-.425a12.335,12.335,0,0,1-5.358-2.589,5.5,5.5,0,0,1-1.671-4.157,6.323,6.323,0,0,1,2.547-5.267,10.993,10.993,0,0,1,6.9-1.972,21.351,21.351,0,0,1,4.552.5,25.439,25.439,0,0,1,4.736,1.557l-1.705,5.491a14.244,14.244,0,0,0-3.319-1.636,10.6,10.6,0,0,0-3.364-.561,4.227,4.227,0,0,0-2.121.426,1.357,1.357,0,0,0-.714,1.232q0,1.211,3.227,2.04.737.2,1.106.291,4.264,1.187,5.935,2.79a5.728,5.728,0,0,1,1.67,4.337A6.781,6.781,0,0,1,213,33.37a11.48,11.48,0,0,1-7.259,2.14A22.577,22.577,0,0,1,200.053,34.827ZM30.568,31.834a12.566,12.566,0,0,1-3.292-8.59,12.567,12.567,0,0,1,3.247-8.568,11.3,11.3,0,0,1,8.423-3.638,9.519,9.519,0,0,1,7.217,3V11.8h8.264V34.735H46.163V32.186h-.09c-1.32,2.071-3.951,3.308-7.038,3.308A11.412,11.412,0,0,1,30.568,31.834Zm5.245-8.545a4.95,4.95,0,0,0,5.312,5.141,4.95,4.95,0,0,0,5.312-5.141A5.023,5.023,0,0,0,41.125,18.1,5.023,5.023,0,0,0,35.813,23.289Zm69.2,11.554-3.527-10.452q-.282-.892-.505-1.8t-.412-1.8a30.821,30.821,0,0,1-.917,3.454l-.047.16L96.1,34.842H90.176l-9.925-23.1h8.632l3.552,10.223q.4,1.12.634,1.955t.377,1.635a23.558,23.558,0,0,1,.917-3.179q.093-.274.141-.411l3.528-10.223h5.056l3.5,10.2.07.183a20.724,20.724,0,0,1,.988,3.43q.141-.732.364-1.532t.647-2.058l3.574-10.223h8.678l-9.971,23.1Zm80.154-.092-8.587-9.841v9.841h-7.888V1.5L176.583,0V22.28l8.272-9.665h9.96L184.584,23.266l11.156,11.485Zm-35.09,0V11.782h8.272v3.761h.091a8.131,8.131,0,0,1,7.546-4.074h1.593V19.3a6.8,6.8,0,0,0-3.5-.761c-4.593,0-5.728,3-5.728,6.941v9.268Z" transform="translate(17.13 15.31)"/></g><g transform="matrix(1, 0, 0, 1, -17.13, -9.94)" filter="url(#c)"><path d="M3.576-12.852v-4.3H6.628a2.867,2.867,0,0,1,1.945.55A2.034,2.034,0,0,1,9.188-15a2.06,2.06,0,0,1-.615,1.608,2.784,2.784,0,0,1-1.945.542ZM2.017-18.464V-6.748H3.576v-4.792H7.153a3.569,3.569,0,0,0,2.683-.9A3.478,3.478,0,0,0,10.747-15a3.45,3.45,0,0,0-.911-2.552,3.638,3.638,0,0,0-2.683-.911Zm11.421,7.483a4.221,4.221,0,0,1,.205-1.37,2.957,2.957,0,0,1,.566-1.009,2.411,2.411,0,0,1,.845-.624A2.515,2.515,0,0,1,16.08-14.2a2.515,2.515,0,0,1,1.026.213,2.411,2.411,0,0,1,.845.624,2.957,2.957,0,0,1,.566,1.009,4.221,4.221,0,0,1,.205,1.37,4.221,4.221,0,0,1-.205,1.37,2.867,2.867,0,0,1-.566,1,2.457,2.457,0,0,1-.845.615,2.515,2.515,0,0,1-1.026.213,2.515,2.515,0,0,1-1.026-.213,2.457,2.457,0,0,1-.845-.615,2.867,2.867,0,0,1-.566-1A4.221,4.221,0,0,1,13.438-10.981Zm-1.477,0a5.573,5.573,0,0,0,.263,1.739,3.97,3.97,0,0,0,.788,1.4,3.623,3.623,0,0,0,1.3.935,4.4,4.4,0,0,0,1.772.336A4.381,4.381,0,0,0,17.86-6.9a3.641,3.641,0,0,0,1.288-.935,3.97,3.97,0,0,0,.788-1.4,5.573,5.573,0,0,0,.263-1.739,5.65,5.65,0,0,0-.263-1.748,3.96,3.96,0,0,0-.788-1.411,3.729,3.729,0,0,0-1.288-.944,4.29,4.29,0,0,0-1.78-.345,4.3,4.3,0,0,0-1.772.345,3.71,3.71,0,0,0-1.3.944,3.96,3.96,0,0,0-.788,1.411A5.65,5.65,0,0,0,11.961-10.981Zm18.28,4.234,2.708-8.484H31.5L29.6-8.29h-.033L27.8-15.231H26.27L24.564-8.29h-.033l-1.92-6.941H21.068l2.724,8.484H25.3l1.707-6.744h.033l1.723,6.744ZM40.169-11.8H35.3a2.905,2.905,0,0,1,.213-.927A2.473,2.473,0,0,1,36-13.492a2.255,2.255,0,0,1,.747-.517,2.429,2.429,0,0,1,.976-.189,2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,40.169-11.8Zm1.346,2.363H40.136a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.105,5.105,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,41.515-9.439Zm1.526-5.793v8.484h1.395v-3.774a5.8,5.8,0,0,1,.164-1.452,2.784,2.784,0,0,1,.525-1.075,2.251,2.251,0,0,1,.952-.673,3.945,3.945,0,0,1,1.428-.23v-1.477a3.135,3.135,0,0,0-1.871.459,3.779,3.779,0,0,0-1.247,1.526h-.033v-1.789ZM54.15-11.8H49.276a2.905,2.905,0,0,1,.213-.927,2.473,2.473,0,0,1,.492-.763,2.255,2.255,0,0,1,.747-.517A2.429,2.429,0,0,1,51.7-14.2a2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,54.15-11.8ZM55.5-9.439H54.117a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.1,5.1,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,55.5-9.439Zm2.593-1.477a5.581,5.581,0,0,1,.131-1.214,3.212,3.212,0,0,1,.427-1.05,2.221,2.221,0,0,1,.788-.738,2.4,2.4,0,0,1,1.2-.279,2.589,2.589,0,0,1,1.231.271,2.389,2.389,0,0,1,.829.714,2.985,2.985,0,0,1,.468,1.026,4.889,4.889,0,0,1,.148,1.206,4.919,4.919,0,0,1-.139,1.165,3.053,3.053,0,0,1-.451,1.026,2.4,2.4,0,0,1-.8.73,2.4,2.4,0,0,1-1.2.279,2.491,2.491,0,0,1-1.173-.263,2.332,2.332,0,0,1-.82-.706,3.122,3.122,0,0,1-.476-1.009A4.338,4.338,0,0,1,58.088-10.916Zm6.564,4.168V-18.464H63.257V-14.1h-.033a2.247,2.247,0,0,0-.566-.632,3.216,3.216,0,0,0-.714-.41,3.583,3.583,0,0,0-.755-.222,4.132,4.132,0,0,0-.706-.066,3.861,3.861,0,0,0-1.7.353,3.487,3.487,0,0,0-1.214.952,4.018,4.018,0,0,0-.722,1.4,5.985,5.985,0,0,0-.238,1.707,5.8,5.8,0,0,0,.246,1.707,4.218,4.218,0,0,0,.73,1.411,3.529,3.529,0,0,0,1.214.968,3.827,3.827,0,0,0,1.715.361,4.135,4.135,0,0,0,1.625-.312A2.053,2.053,0,0,0,63.224-7.9h.033v1.149Zm6.761-11.716V-6.748h1.395V-7.88h.033a2.247,2.247,0,0,0,.566.632,2.982,2.982,0,0,0,.714.4,3.874,3.874,0,0,0,.763.213,4.193,4.193,0,0,0,.7.066,3.94,3.94,0,0,0,1.7-.345,3.4,3.4,0,0,0,1.214-.944,4.018,4.018,0,0,0,.722-1.4,5.985,5.985,0,0,0,.238-1.707,5.8,5.8,0,0,0-.246-1.707,4.312,4.312,0,0,0-.73-1.419,3.488,3.488,0,0,0-1.214-.976,3.827,3.827,0,0,0-1.715-.361,4.043,4.043,0,0,0-1.625.32,2.088,2.088,0,0,0-1.083,1.026h-.033v-4.381Zm6.564,7.4a5.581,5.581,0,0,1-.131,1.214,3.212,3.212,0,0,1-.427,1.05,2.243,2.243,0,0,1-.779.738,2.385,2.385,0,0,1-1.206.279A2.589,2.589,0,0,1,74.2-8.052a2.389,2.389,0,0,1-.829-.714,2.985,2.985,0,0,1-.468-1.026A4.889,4.889,0,0,1,72.758-11a4.919,4.919,0,0,1,.139-1.165,3.053,3.053,0,0,1,.451-1.026,2.4,2.4,0,0,1,.8-.73,2.4,2.4,0,0,1,1.2-.279,2.491,2.491,0,0,1,1.173.263,2.332,2.332,0,0,1,.82.706,3.122,3.122,0,0,1,.476,1.009A4.338,4.338,0,0,1,77.976-11.063Zm6.449,5.448a8.871,8.871,0,0,1-.484,1.05,2.871,2.871,0,0,1-.525.7,1.782,1.782,0,0,1-.64.394,2.462,2.462,0,0,1-.812.123,3.721,3.721,0,0,1-.492-.033A2.324,2.324,0,0,1,81-3.5v-1.28a2.342,2.342,0,0,0,.418.139,1.765,1.765,0,0,0,.4.057,1.2,1.2,0,0,0,.714-.205,1.255,1.255,0,0,0,.435-.583L83.539-6.8l-3.364-8.434h1.575L84.228-8.29h.033l2.379-6.941h1.477Z" transform="translate(17.85 28.4)"/></g></g></g><g transform="translate(0 0)"><g transform="translate(0 5.371)"><path d="M11.76,24.456A11.41,11.41,0,0,1,3.292,20.8,12.564,12.564,0,0,1,0,12.206,12.569,12.569,0,0,1,3.246,3.638,11.307,11.307,0,0,1,11.67,0a9.519,9.519,0,0,1,7.217,3V.759h8.264V23.7H18.887V21.148H18.8C17.478,23.219,14.846,24.456,11.76,24.456ZM13.849,7.064A5.023,5.023,0,0,0,8.537,12.25a4.95,4.95,0,0,0,5.312,5.141A4.95,4.95,0,0,0,19.16,12.25,5.023,5.023,0,0,0,13.849,7.064Z" transform="translate(27.277 11.038)" fill="#fff"/><path d="M0,33.931V.758H8.271v2.6H8.36A8.258,8.258,0,0,1,15.406,0,11.4,11.4,0,0,1,23.9,3.686a12.665,12.665,0,0,1,3.278,8.622,12.508,12.508,0,0,1-3.25,8.57,11.351,11.351,0,0,1-8.429,3.6,9.535,9.535,0,0,1-7.229-2.95V32.337L0,33.931ZM13.317,7.07A5.028,5.028,0,0,0,8,12.259a4.957,4.957,0,0,0,5.319,5.15,4.957,4.957,0,0,0,5.319-5.15A5.028,5.028,0,0,0,13.317,7.07Z" transform="translate(55.766 11.041)" fill="#fff"/><path d="M22.836,0l3.5,10.2.07.183a20.748,20.748,0,0,1,.988,3.43q.141-.731.364-1.532t.647-2.058L31.985,0h8.678L30.691,23.1H24.764L21.237,12.647q-.282-.891-.505-1.8t-.412-1.8A30.927,30.927,0,0,1,19.4,12.51l-.047.16L15.851,23.1H9.925L0,0H8.631l3.552,10.223q.4,1.121.635,1.955t.377,1.635a23.522,23.522,0,0,1,.917-3.179q.093-.274.141-.411L17.78,0h5.056" transform="translate(80.251 11.743)" fill="#fff"/><path d="M0,34.75V1.5L7.888,0V22.28l8.272-9.665H26.12L15.889,23.266,27.045,34.75H16.475L7.888,24.91v9.84H0" transform="translate(168.695 0)" fill="#fff"/><path d="M0,21.47l1.705-6.1a13.453,13.453,0,0,0,3.952,2.342A12.145,12.145,0,0,0,10,18.534a4.643,4.643,0,0,0,2.351-.482,1.539,1.539,0,0,0,.807-1.4q0-1.5-3.25-2.241-1.06-.246-1.705-.426A12.325,12.325,0,0,1,2.846,11.4,5.5,5.5,0,0,1,1.176,7.239,6.324,6.324,0,0,1,3.722,1.972,11,11,0,0,1,10.624,0a21.365,21.365,0,0,1,4.551.5,25.45,25.45,0,0,1,4.736,1.558l-1.706,5.49a14.24,14.24,0,0,0-3.319-1.636,10.6,10.6,0,0,0-3.364-.56A4.22,4.22,0,0,0,9.4,5.782a1.356,1.356,0,0,0-.714,1.233q0,1.211,3.227,2.04.737.2,1.106.291,4.264,1.188,5.935,2.79a5.728,5.728,0,0,1,1.671,4.337,6.782,6.782,0,0,1-2.743,5.614,11.478,11.478,0,0,1-7.259,2.14,22.565,22.565,0,0,1-5.693-.683A18.517,18.517,0,0,1,0,21.47" transform="translate(195.121 11.284)" fill="#fff"/><path d="M8.273,4.075h.091A8.13,8.13,0,0,1,15.909,0H17.5V7.834A6.8,6.8,0,0,0,14,7.074c-4.593,0-5.728,3-5.728,6.941v9.268H0V.313H8.273V4.075" transform="translate(150.08 11.469)" fill="#fff"/><path d="M17.392,29.929H13a.76.76,0,0,1-.485-.166.579.579,0,0,1-.227-.419l-.553-3.586a12.3,12.3,0,0,1-1.781-.721L7.163,27.123a.719.719,0,0,1-.495.176.687.687,0,0,1-.495-.214A25.873,25.873,0,0,1,2.91,23.81a.753.753,0,0,1,.019-.9c.2-.277.542-.713,1.009-1.3.483-.6.832-1.05,1.068-1.374a9.591,9.591,0,0,1-.811-1.929l-3.62-.526a.63.63,0,0,1-.416-.243A.729.729,0,0,1,0,17.089V12.762a.746.746,0,0,1,.159-.448.6.6,0,0,1,.376-.253l3.68-.546a9.5,9.5,0,0,1,.772-1.792C4.464,8.991,3.752,8.085,2.87,7.034a.732.732,0,0,1-.2-.468.82.82,0,0,1,.179-.449A19.622,19.622,0,0,1,4.8,4.023C5.751,3.1,6.38,2.631,6.668,2.631a.859.859,0,0,1,.515.194L9.913,4.91a11.536,11.536,0,0,1,1.8-.741A31.372,31.372,0,0,1,12.287.546.665.665,0,0,1,13,0h4.392a.755.755,0,0,1,.485.166.581.581,0,0,1,.229.419l.553,3.584a12.543,12.543,0,0,1,1.781.722L23.25,2.807a.641.641,0,0,1,.475-.176.775.775,0,0,1,.495.194,27.092,27.092,0,0,1,3.264,3.313.625.625,0,0,1,.139.429.745.745,0,0,1-.159.448c-.2.271-.525.695-1.008,1.3-.467.581-.827,1.043-1.069,1.373a11.784,11.784,0,0,1,.812,1.91l3.62.545a.625.625,0,0,1,.416.244.736.736,0,0,1,.157.458v4.325a.754.754,0,0,1-.157.449.606.606,0,0,1-.4.253l-3.66.545a12.628,12.628,0,0,1-.772,1.774c.465.654,1.177,1.559,2.117,2.688a.752.752,0,0,1,.2.488.648.648,0,0,1-.177.448,19.641,19.641,0,0,1-1.959,2.1c-.947.918-1.573,1.384-1.86,1.384a.978.978,0,0,1-.515-.176l-2.731-2.1a11.429,11.429,0,0,1-1.8.741,32.016,32.016,0,0,1-.573,3.624A.668.668,0,0,1,17.392,29.929ZM15.2,9.976a4.938,4.938,0,0,0-3.582,1.463,4.935,4.935,0,0,0,0,7.053,5.12,5.12,0,0,0,7.163,0,4.932,4.932,0,0,0,0-7.053A4.938,4.938,0,0,0,15.2,9.976Z" transform="translate(118.47 8.521)" fill="#fff"/><path d="M0,33.5,16.106,7.374H2.752V0H30.9L14.887,26.122H38.22L0,33.5" transform="translate(0 11.038)" fill="#fff"/></g><path d="M3.576-12.852v-4.3H6.628a2.867,2.867,0,0,1,1.945.55A2.034,2.034,0,0,1,9.188-15a2.06,2.06,0,0,1-.615,1.608,2.784,2.784,0,0,1-1.945.542ZM2.017-18.464V-6.748H3.576v-4.792H7.153a3.569,3.569,0,0,0,2.683-.9A3.478,3.478,0,0,0,10.747-15a3.45,3.45,0,0,0-.911-2.552,3.638,3.638,0,0,0-2.683-.911Zm11.421,7.483a4.221,4.221,0,0,1,.205-1.37,2.957,2.957,0,0,1,.566-1.009,2.411,2.411,0,0,1,.845-.624A2.515,2.515,0,0,1,16.08-14.2a2.515,2.515,0,0,1,1.026.213,2.411,2.411,0,0,1,.845.624,2.957,2.957,0,0,1,.566,1.009,4.221,4.221,0,0,1,.205,1.37,4.221,4.221,0,0,1-.205,1.37,2.867,2.867,0,0,1-.566,1,2.457,2.457,0,0,1-.845.615,2.515,2.515,0,0,1-1.026.213,2.515,2.515,0,0,1-1.026-.213,2.457,2.457,0,0,1-.845-.615,2.867,2.867,0,0,1-.566-1A4.221,4.221,0,0,1,13.438-10.981Zm-1.477,0a5.573,5.573,0,0,0,.263,1.739,3.97,3.97,0,0,0,.788,1.4,3.623,3.623,0,0,0,1.3.935,4.4,4.4,0,0,0,1.772.336A4.381,4.381,0,0,0,17.86-6.9a3.641,3.641,0,0,0,1.288-.935,3.97,3.97,0,0,0,.788-1.4,5.573,5.573,0,0,0,.263-1.739,5.65,5.65,0,0,0-.263-1.748,3.96,3.96,0,0,0-.788-1.411,3.729,3.729,0,0,0-1.288-.944,4.29,4.29,0,0,0-1.78-.345,4.3,4.3,0,0,0-1.772.345,3.71,3.71,0,0,0-1.3.944,3.96,3.96,0,0,0-.788,1.411A5.65,5.65,0,0,0,11.961-10.981Zm18.28,4.234,2.708-8.484H31.5L29.6-8.29h-.033L27.8-15.231H26.27L24.564-8.29h-.033l-1.92-6.941H21.068l2.724,8.484H25.3l1.707-6.744h.033l1.723,6.744ZM40.169-11.8H35.3a2.905,2.905,0,0,1,.213-.927A2.473,2.473,0,0,1,36-13.492a2.255,2.255,0,0,1,.747-.517,2.429,2.429,0,0,1,.976-.189,2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,40.169-11.8Zm1.346,2.363H40.136a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.105,5.105,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,41.515-9.439Zm1.526-5.793v8.484h1.395v-3.774a5.8,5.8,0,0,1,.164-1.452,2.784,2.784,0,0,1,.525-1.075,2.251,2.251,0,0,1,.952-.673,3.945,3.945,0,0,1,1.428-.23v-1.477a3.135,3.135,0,0,0-1.871.459,3.779,3.779,0,0,0-1.247,1.526h-.033v-1.789ZM54.15-11.8H49.276a2.905,2.905,0,0,1,.213-.927,2.473,2.473,0,0,1,.492-.763,2.255,2.255,0,0,1,.747-.517A2.429,2.429,0,0,1,51.7-14.2a2.386,2.386,0,0,1,.96.189,2.415,2.415,0,0,1,.755.509,2.391,2.391,0,0,1,.509.763A2.854,2.854,0,0,1,54.15-11.8ZM55.5-9.439H54.117a1.983,1.983,0,0,1-.747,1.247,2.414,2.414,0,0,1-1.452.41,2.889,2.889,0,0,1-1.2-.23,2.348,2.348,0,0,1-.837-.615,2.4,2.4,0,0,1-.476-.886,3.367,3.367,0,0,1-.131-1.058h6.35a6.754,6.754,0,0,0-.139-1.625,4.7,4.7,0,0,0-.624-1.575,3.716,3.716,0,0,0-1.2-1.19,3.48,3.48,0,0,0-1.879-.468,3.858,3.858,0,0,0-1.6.328,3.76,3.76,0,0,0-1.264.919,4.236,4.236,0,0,0-.829,1.395,5.1,5.1,0,0,0-.3,1.772,6.8,6.8,0,0,0,.287,1.789,3.9,3.9,0,0,0,.763,1.411,3.478,3.478,0,0,0,1.255.919,4.358,4.358,0,0,0,1.764.328,3.851,3.851,0,0,0,2.4-.722A3.39,3.39,0,0,0,55.5-9.439Zm2.593-1.477a5.581,5.581,0,0,1,.131-1.214,3.212,3.212,0,0,1,.427-1.05,2.221,2.221,0,0,1,.788-.738,2.4,2.4,0,0,1,1.2-.279,2.589,2.589,0,0,1,1.231.271,2.389,2.389,0,0,1,.829.714,2.985,2.985,0,0,1,.468,1.026,4.889,4.889,0,0,1,.148,1.206,4.919,4.919,0,0,1-.139,1.165,3.053,3.053,0,0,1-.451,1.026,2.4,2.4,0,0,1-.8.73,2.4,2.4,0,0,1-1.2.279,2.491,2.491,0,0,1-1.173-.263,2.332,2.332,0,0,1-.82-.706,3.122,3.122,0,0,1-.476-1.009A4.338,4.338,0,0,1,58.088-10.916Zm6.564,4.168V-18.464H63.257V-14.1h-.033a2.247,2.247,0,0,0-.566-.632,3.216,3.216,0,0,0-.714-.41,3.583,3.583,0,0,0-.755-.222,4.132,4.132,0,0,0-.706-.066,3.861,3.861,0,0,0-1.7.353,3.487,3.487,0,0,0-1.214.952,4.018,4.018,0,0,0-.722,1.4,5.985,5.985,0,0,0-.238,1.707,5.8,5.8,0,0,0,.246,1.707,4.218,4.218,0,0,0,.73,1.411,3.529,3.529,0,0,0,1.214.968,3.827,3.827,0,0,0,1.715.361,4.135,4.135,0,0,0,1.625-.312A2.053,2.053,0,0,0,63.224-7.9h.033v1.149Zm6.761-11.716V-6.748h1.395V-7.88h.033a2.247,2.247,0,0,0,.566.632,2.982,2.982,0,0,0,.714.4,3.874,3.874,0,0,0,.763.213,4.193,4.193,0,0,0,.7.066,3.94,3.94,0,0,0,1.7-.345,3.4,3.4,0,0,0,1.214-.944,4.018,4.018,0,0,0,.722-1.4,5.985,5.985,0,0,0,.238-1.707,5.8,5.8,0,0,0-.246-1.707,4.312,4.312,0,0,0-.73-1.419,3.488,3.488,0,0,0-1.214-.976,3.827,3.827,0,0,0-1.715-.361,4.043,4.043,0,0,0-1.625.32,2.088,2.088,0,0,0-1.083,1.026h-.033v-4.381Zm6.564,7.4a5.581,5.581,0,0,1-.131,1.214,3.212,3.212,0,0,1-.427,1.05,2.243,2.243,0,0,1-.779.738,2.385,2.385,0,0,1-1.206.279A2.589,2.589,0,0,1,74.2-8.052a2.389,2.389,0,0,1-.829-.714,2.985,2.985,0,0,1-.468-1.026A4.889,4.889,0,0,1,72.758-11a4.919,4.919,0,0,1,.139-1.165,3.053,3.053,0,0,1,.451-1.026,2.4,2.4,0,0,1,.8-.73,2.4,2.4,0,0,1,1.2-.279,2.491,2.491,0,0,1,1.173.263,2.332,2.332,0,0,1,.82.706,3.122,3.122,0,0,1,.476,1.009A4.338,4.338,0,0,1,77.976-11.063Zm6.449,5.448a8.871,8.871,0,0,1-.484,1.05,2.871,2.871,0,0,1-.525.7,1.782,1.782,0,0,1-.64.394,2.462,2.462,0,0,1-.812.123,3.721,3.721,0,0,1-.492-.033A2.324,2.324,0,0,1,81-3.5v-1.28a2.342,2.342,0,0,0,.418.139,1.765,1.765,0,0,0,.4.057,1.2,1.2,0,0,0,.714-.205,1.255,1.255,0,0,0,.435-.583L83.539-6.8l-3.364-8.434h1.575L84.228-8.29h.033l2.379-6.941h1.477Z" transform="translate(0.722 18.464)" fill="#fff"/></g></g></g></svg>'},function(e,t,r){"use strict";r.r(t),t.default=r.p+"f7b62a3a53b5c9b3222ba8dc53cb8b11.zbin"},function(e,t,r){"use strict";r.r(t),t.default=r.p+"482727c0e7dd40d73f5aae47f238ad61.zbin"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VERSION=void 0,t.VERSION="0.4.0-beta.7"}])}));
|