react-iiif-vault 2.0.18 → 4.0.0

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.
Files changed (67) hide show
  1. package/README.md +77 -1
  2. package/dist/Image-CXsx26cA.d.ts +45 -0
  3. package/dist/Image-g-DyBvi0.d.cts +45 -0
  4. package/dist/ImageStrategy-BHLIi5gd.d.ts +55 -0
  5. package/dist/ImageStrategy-Be9YES5a.d.cts +55 -0
  6. package/dist/SimpleViewerContext.hooks-CTgfe0Gg.d.cts +617 -0
  7. package/dist/SimpleViewerContext.hooks-DYJSrd-U.d.ts +617 -0
  8. package/dist/SimpleViewerContext.types-CWf5OFM7.d.ts +51 -0
  9. package/dist/SimpleViewerContext.types-Df-cpBss.d.cts +51 -0
  10. package/dist/ViewerPresetContext-D7N6KH9p.d.ts +144 -0
  11. package/dist/ViewerPresetContext-DwFTIkDx.d.cts +144 -0
  12. package/dist/bundle.d.ts +290 -196
  13. package/dist/bundle.global.js +45 -74
  14. package/dist/canvas-panel/scene.cjs +1 -0
  15. package/dist/canvas-panel/scene.d.cts +133 -0
  16. package/dist/canvas-panel/scene.d.ts +133 -0
  17. package/dist/canvas-panel/scene.js +1 -0
  18. package/dist/canvas-panel.cjs +1 -47
  19. package/dist/canvas-panel.d.cts +10 -5
  20. package/dist/canvas-panel.d.ts +10 -5
  21. package/dist/canvas-panel.js +1 -1
  22. package/dist/chunk-3XPYQXUE.js +48 -0
  23. package/dist/chunk-6WG6RPHU.js +1 -0
  24. package/dist/chunk-DXC5VCRN.js +1 -0
  25. package/dist/chunk-DZ7DMQ3V.cjs +1 -0
  26. package/dist/chunk-HFC72RK6.js +1 -0
  27. package/dist/chunk-L2GTJVPY.js +1 -0
  28. package/dist/chunk-L576POBV.cjs +2 -0
  29. package/dist/chunk-LKWFF45D.cjs +1 -0
  30. package/dist/chunk-MEQI335A.js +2 -0
  31. package/dist/chunk-MIANDAMK.cjs +1 -0
  32. package/dist/chunk-ND2R7OTX.js +1 -0
  33. package/dist/chunk-R7HZTE2T.cjs +48 -0
  34. package/dist/chunk-WBVFSMED.cjs +1 -0
  35. package/dist/chunk-XULFR6E3.cjs +1 -0
  36. package/dist/chunk-YEU5T67O.js +1 -0
  37. package/dist/chunk-ZBGD3VEW.cjs +1 -0
  38. package/dist/chunk-ZEGT4BAR.cjs +1 -0
  39. package/dist/core.cjs +1 -0
  40. package/dist/core.d.cts +133 -0
  41. package/dist/core.d.ts +133 -0
  42. package/dist/core.js +1 -0
  43. package/dist/{index-DijgVxjb.d.ts → index-ClFUurPI.d.ts} +15 -69
  44. package/dist/{index-DHghDluJ.d.cts → index-QFlDahI_.d.cts} +15 -69
  45. package/dist/index.cjs +1 -49
  46. package/dist/index.d.cts +33 -1496
  47. package/dist/index.d.ts +33 -1496
  48. package/dist/index.js +1 -1
  49. package/dist/presentation-4.cjs +1 -0
  50. package/dist/presentation-4.d.cts +304 -0
  51. package/dist/presentation-4.d.ts +304 -0
  52. package/dist/presentation-4.js +1 -0
  53. package/dist/ranges-Cc2ppjFD.d.ts +689 -0
  54. package/dist/ranges-D-UBNcsJ.d.cts +689 -0
  55. package/dist/{useRenderingStrategy-CoKE915F.d.cts → useRenderingStrategy-Vubk-vUU.d.cts} +47 -24
  56. package/dist/{useRenderingStrategy-CoKE915F.d.ts → useRenderingStrategy-Vubk-vUU.d.ts} +47 -24
  57. package/dist/utils-DHWZGbVU.d.ts +54 -0
  58. package/dist/utils-De5WTLDh.d.cts +54 -0
  59. package/dist/utils.cjs +1 -1
  60. package/dist/utils.d.cts +7 -5
  61. package/dist/utils.d.ts +7 -5
  62. package/dist/utils.js +1 -1
  63. package/package.json +54 -15
  64. package/dist/chunk-KUNXFW7A.js +0 -49
  65. package/dist/chunk-P7XHGETS.js +0 -1
  66. package/dist/utils-BKdiug6F.d.cts +0 -41
  67. package/dist/utils-CmwQWQLa.d.ts +0 -41
@@ -1,45 +1,39 @@
1
- "use strict";var ReactIIIFVault=(()=>{var y6=Object.create;var km=Object.defineProperty;var v6=Object.getOwnPropertyDescriptor;var b6=Object.getOwnPropertyNames;var S6=Object.getPrototypeOf,x6=Object.prototype.hasOwnProperty;var Li=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),w6=(t,e)=>{for(var n in e)km(t,n,{get:e[n],enumerable:!0})},_2=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of b6(e))!x6.call(t,a)&&a!==n&&km(t,a,{get:()=>e[a],enumerable:!(i=v6(e,a))||i.enumerable});return t};var N=(t,e,n)=>(n=t!=null?y6(S6(t)):{},_2(e||!t||!t.__esModule?km(n,"default",{value:t,enumerable:!0}):n,t)),T6=t=>_2(km({},"__esModule",{value:!0}),t);var ct=Li((TG,U2)=>{"use strict";U2.exports=React});var j2=Li(Km=>{"use strict";var tH=Symbol.for("react.transitional.element"),eH=Symbol.for("react.fragment");function q2(t,e,n){var i=null;if(n!==void 0&&(i=""+n),e.key!==void 0&&(i=""+e.key),"key"in e){n={};for(var a in e)a!=="key"&&(n[a]=e[a])}else n=e;return e=n.ref,{$$typeof:tH,type:t,key:i,ref:e!==void 0?e:null,props:n}}Km.Fragment=eH;Km.jsx=q2;Km.jsxs=q2});var K=Li((EG,k2)=>{"use strict";k2.exports=j2()});var oO=Li(rO=>{"use strict";var Ec=ct();function yF(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var vF=typeof Object.is=="function"?Object.is:yF,bF=Ec.useState,SF=Ec.useEffect,xF=Ec.useLayoutEffect,wF=Ec.useDebugValue;function TF(t,e){var n=e(),i=bF({inst:{value:n,getSnapshot:e}}),a=i[0].inst,r=i[1];return xF(function(){a.value=n,a.getSnapshot=e,k1(a)&&r({inst:a})},[t,n,e]),SF(function(){return k1(a)&&r({inst:a}),t(function(){k1(a)&&r({inst:a})})},[t]),wF(n),n}function k1(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!vF(t,n)}catch{return!0}}function RF(t,e){return e()}var EF=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?RF:TF;rO.useSyncExternalStore=Ec.useSyncExternalStore!==void 0?Ec.useSyncExternalStore:EF});var lO=Li((hX,sO)=>{"use strict";sO.exports=oO()});var cO=Li(uO=>{"use strict";var _g=ct(),CF=lO();function AF(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var MF=typeof Object.is=="function"?Object.is:AF,OF=CF.useSyncExternalStore,_F=_g.useRef,zF=_g.useEffect,IF=_g.useMemo,NF=_g.useDebugValue;uO.useSyncExternalStoreWithSelector=function(t,e,n,i,a){var r=_F(null);if(r.current===null){var l={hasValue:!1,value:null};r.current=l}else l=r.current;r=IF(function(){function f(g){if(!h){if(h=!0,d=g,g=i(g),a!==void 0&&l.hasValue){var b=l.value;if(a(b,g))return m=b}return m=g}if(b=m,MF(d,g))return b;var T=i(g);return a!==void 0&&a(b,T)?b:(d=g,m=T)}var h=!1,d,m,y=n===void 0?null:n;return[function(){return f(e())},y===null?void 0:function(){return f(y())}]},[e,n,i,a]);var u=OF(t,r[0],r[1]);return zF(function(){l.hasValue=!0,l.value=u},[u]),NF(u),u}});var fO=Li((mX,dO)=>{"use strict";dO.exports=cO()});var O_=Li(an=>{"use strict";function mx(t,e){var n=t.length;t.push(e);t:for(;0<n;){var i=n-1>>>1,a=t[i];if(0<jg(a,e))t[i]=e,t[n]=a,n=i;else break t}}function Pr(t){return t.length===0?null:t[0]}function Gg(t){if(t.length===0)return null;var e=t[0],n=t.pop();if(n!==e){t[0]=n;t:for(var i=0,a=t.length,r=a>>>1;i<r;){var l=2*(i+1)-1,u=t[l],f=l+1,h=t[f];if(0>jg(u,n))f<a&&0>jg(h,u)?(t[i]=h,t[f]=n,i=f):(t[i]=u,t[l]=n,i=l);else if(f<a&&0>jg(h,n))t[i]=h,t[f]=n,i=f;else break t}}return e}function jg(t,e){var n=t.sortIndex-e.sortIndex;return n!==0?n:t.id-e.id}an.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(S_=performance,an.unstable_now=function(){return S_.now()}):(fx=Date,x_=fx.now(),an.unstable_now=function(){return fx.now()-x_});var S_,fx,x_,vo=[],Ss=[],kV=1,qa=null,Ri=3,gx=!1,kf=!1,Gf=!1,yx=!1,R_=typeof setTimeout=="function"?setTimeout:null,E_=typeof clearTimeout=="function"?clearTimeout:null,w_=typeof setImmediate<"u"?setImmediate:null;function kg(t){for(var e=Pr(Ss);e!==null;){if(e.callback===null)Gg(Ss);else if(e.startTime<=t)Gg(Ss),e.sortIndex=e.expirationTime,mx(vo,e);else break;e=Pr(Ss)}}function vx(t){if(Gf=!1,kg(t),!kf)if(Pr(vo)!==null)kf=!0,Pc||(Pc=!0,Dc());else{var e=Pr(Ss);e!==null&&bx(vx,e.startTime-t)}}var Pc=!1,Yf=-1,C_=5,A_=-1;function M_(){return yx?!0:!(an.unstable_now()-A_<C_)}function hx(){if(yx=!1,Pc){var t=an.unstable_now();A_=t;var e=!0;try{t:{kf=!1,Gf&&(Gf=!1,E_(Yf),Yf=-1),gx=!0;var n=Ri;try{e:{for(kg(t),qa=Pr(vo);qa!==null&&!(qa.expirationTime>t&&M_());){var i=qa.callback;if(typeof i=="function"){qa.callback=null,Ri=qa.priorityLevel;var a=i(qa.expirationTime<=t);if(t=an.unstable_now(),typeof a=="function"){qa.callback=a,kg(t),e=!0;break e}qa===Pr(vo)&&Gg(vo),kg(t)}else Gg(vo);qa=Pr(vo)}if(qa!==null)e=!0;else{var r=Pr(Ss);r!==null&&bx(vx,r.startTime-t),e=!1}}break t}finally{qa=null,Ri=n,gx=!1}e=void 0}}finally{e?Dc():Pc=!1}}}var Dc;typeof w_=="function"?Dc=function(){w_(hx)}:typeof MessageChannel<"u"?(px=new MessageChannel,T_=px.port2,px.port1.onmessage=hx,Dc=function(){T_.postMessage(null)}):Dc=function(){R_(hx,0)};var px,T_;function bx(t,e){Yf=R_(function(){t(an.unstable_now())},e)}an.unstable_IdlePriority=5;an.unstable_ImmediatePriority=1;an.unstable_LowPriority=4;an.unstable_NormalPriority=3;an.unstable_Profiling=null;an.unstable_UserBlockingPriority=2;an.unstable_cancelCallback=function(t){t.callback=null};an.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):C_=0<t?Math.floor(1e3/t):5};an.unstable_getCurrentPriorityLevel=function(){return Ri};an.unstable_next=function(t){switch(Ri){case 1:case 2:case 3:var e=3;break;default:e=Ri}var n=Ri;Ri=e;try{return t()}finally{Ri=n}};an.unstable_requestPaint=function(){yx=!0};an.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var n=Ri;Ri=t;try{return e()}finally{Ri=n}};an.unstable_scheduleCallback=function(t,e,n){var i=an.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?i+n:i):n=i,t){case 1:var a=-1;break;case 2:a=250;break;case 5:a=1073741823;break;case 4:a=1e4;break;default:a=5e3}return a=n+a,t={id:kV++,callback:e,priorityLevel:t,startTime:n,expirationTime:a,sortIndex:-1},n>i?(t.sortIndex=n,mx(Ss,t),Pr(vo)===null&&t===Pr(Ss)&&(Gf?(E_(Yf),Yf=-1):Gf=!0,bx(vx,n-i))):(t.sortIndex=a,mx(vo,t),kf||gx||(kf=!0,Pc||(Pc=!0,Dc()))),t};an.unstable_shouldYield=M_;an.unstable_wrapCallback=function(t){var e=Ri;return function(){var n=Ri;Ri=e;try{return t.apply(this,arguments)}finally{Ri=n}}}});var Sx=Li((NQ,__)=>{"use strict";__.exports=O_()});var z_=Li((LQ,Xf)=>{"use strict";Xf.exports=function(t){function e(o,s,c,p){return new w5(o,s,c,p)}function n(){}function i(o){var s="https://react.dev/errors/"+o;if(1<arguments.length){s+="?args[]="+encodeURIComponent(arguments[1]);for(var c=2;c<arguments.length;c++)s+="&args[]="+encodeURIComponent(arguments[c])}return"Minified React error #"+o+"; visit "+s+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(o){var s=o,c=o;if(o.alternate)for(;s.return;)s=s.return;else{o=s;do s=o,s.flags&4098&&(c=s.return),o=s.return;while(o)}return s.tag===3?c:null}function r(o){if(a(o)!==o)throw Error(i(188))}function l(o){var s=o.alternate;if(!s){if(s=a(o),s===null)throw Error(i(188));return s!==o?null:o}for(var c=o,p=s;;){var v=c.return;if(v===null)break;var S=v.alternate;if(S===null){if(p=v.return,p!==null){c=p;continue}break}if(v.child===S.child){for(S=v.child;S;){if(S===c)return r(v),o;if(S===p)return r(v),s;S=S.sibling}throw Error(i(188))}if(c.return!==p.return)c=v,p=S;else{for(var O=!1,D=v.child;D;){if(D===c){O=!0,c=v,p=S;break}if(D===p){O=!0,p=v,c=S;break}D=D.sibling}if(!O){for(D=S.child;D;){if(D===c){O=!0,c=S,p=v;break}if(D===p){O=!0,p=S,c=v;break}D=D.sibling}if(!O)throw Error(i(189))}}if(c.alternate!==p)throw Error(i(190))}if(c.tag!==3)throw Error(i(188));return c.stateNode.current===c?o:s}function u(o){var s=o.tag;if(s===5||s===26||s===27||s===6)return o;for(o=o.child;o!==null;){if(s=u(o),s!==null)return s;o=o.sibling}return null}function f(o){var s=o.tag;if(s===5||s===26||s===27||s===6)return o;for(o=o.child;o!==null;){if(o.tag!==4&&(s=f(o),s!==null))return s;o=o.sibling}return null}function h(o){return o===null||typeof o!="object"?null:(o=KA&&o[KA]||o["@@iterator"],typeof o=="function"?o:null)}function d(o){if(o==null)return null;if(typeof o=="function")return o.$$typeof===A5?null:o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case qu:return"Fragment";case qb:return"Profiler";case XA:return"StrictMode";case kb:return"Suspense";case Gb:return"SuspenseList";case Xb:return"Activity"}if(typeof o=="object")switch(o.$$typeof){case Uu:return"Portal";case $o:return o.displayName||"Context";case QA:return(o._context.displayName||"Context")+".Consumer";case jb:var s=o.render;return o=o.displayName,o||(o=s.displayName||s.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case Yb:return s=o.displayName||null,s!==null?s:d(o.type)||"Memo";case ts:s=o._payload,o=o._init;try{return d(o(s))}catch{}}return null}function m(o){return{current:o}}function y(o){0>Gu||(o.current=$b[Gu],$b[Gu]=null,Gu--)}function g(o,s){Gu++,$b[Gu]=o.current,o.current=s}function b(o){return o>>>=0,o===0?32:31-(e6(o)/n6|0)|0}function T(o){var s=o&42;if(s!==0)return s;switch(o&-o){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return o&261888;case 262144:case 524288:case 1048576:case 2097152:return o&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return o&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return o}}function C(o,s,c){var p=o.pendingLanes;if(p===0)return 0;var v=0,S=o.suspendedLanes,O=o.pingedLanes;o=o.warmLanes;var D=p&134217727;return D!==0?(p=D&~S,p!==0?v=T(p):(O&=D,O!==0?v=T(O):c||(c=D&~o,c!==0&&(v=T(c))))):(D=p&~S,D!==0?v=T(D):O!==0?v=T(O):c||(c=p&~o,c!==0&&(v=T(c)))),v===0?0:s!==0&&s!==v&&!(s&S)&&(S=v&-v,c=s&-s,S>=c||S===32&&(c&4194048)!==0)?s:v}function x(o,s){return(o.pendingLanes&~(o.suspendedLanes&~o.pingedLanes)&s)===0}function w(o,s){switch(o){case 1:case 2:case 4:case 8:case 64:return s+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function R(){var o=Em;return Em<<=1,!(Em&62914560)&&(Em=4194304),o}function E(o){for(var s=[],c=0;31>c;c++)s.push(o);return s}function M(o,s){o.pendingLanes|=s,s!==268435456&&(o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0)}function z(o,s,c,p,v,S){var O=o.pendingLanes;o.pendingLanes=c,o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0,o.expiredLanes&=c,o.entangledLanes&=c,o.errorRecoveryDisabledLanes&=c,o.shellSuspendCounter=0;var D=o.entanglements,tt=o.expirationTimes,dt=o.hiddenUpdates;for(c=O&~c;0<c;){var Et=31-ca(c),bt=1<<Et;D[Et]=0,tt[Et]=-1;var _t=dt[Et];if(_t!==null)for(dt[Et]=null,Et=0;Et<_t.length;Et++){var oe=_t[Et];oe!==null&&(oe.lane&=-536870913)}c&=~bt}p!==0&&I(o,p,0),S!==0&&v===0&&o.tag!==0&&(o.suspendedLanes|=S&~(O&~s))}function I(o,s,c){o.pendingLanes|=s,o.suspendedLanes&=~s;var p=31-ca(s);o.entangledLanes|=s,o.entanglements[p]=o.entanglements[p]|1073741824|c&261930}function L(o,s){var c=o.entangledLanes|=s;for(o=o.entanglements;c;){var p=31-ca(c),v=1<<p;v&s|o[p]&s&&(o[p]|=s),c&=~v}}function H(o,s){var c=s&-s;return c=c&42?1:q(c),c&(o.suspendedLanes|s)?0:c}function q(o){switch(o){case 2:o=1;break;case 8:o=4;break;case 32:o=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:o=128;break;case 268435456:o=134217728;break;default:o=0}return o}function st(o){return o&=-o,2<o?8<o?o&134217727?32:268435456:8:2}function et(o){if(typeof s6=="function"&&l6(o),da&&typeof da.setStrictMode=="function")try{da.setStrictMode(df,o)}catch{}}function gt(o,s){return o===s&&(o!==0||1/o===1/s)||o!==o&&s!==s}function it(o){if(nS===void 0)try{throw Error()}catch(c){var s=c.stack.trim().match(/\n( *(at )?)/);nS=s&&s[1]||"",x2=-1<c.stack.indexOf(`
2
- at`)?" (<anonymous>)":-1<c.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+nS+o+x2}function nt(o,s){if(!o||iS)return"";iS=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var p={DetermineComponentFrameRoot:function(){try{if(s){var bt=function(){throw Error()};if(Object.defineProperty(bt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(bt,[])}catch(oe){var _t=oe}Reflect.construct(o,[],bt)}else{try{bt.call()}catch(oe){_t=oe}o.call(bt.prototype)}}else{try{throw Error()}catch(oe){_t=oe}(bt=o())&&typeof bt.catch=="function"&&bt.catch(function(){})}}catch(oe){if(oe&&_t&&typeof oe.stack=="string")return[oe.stack,_t.stack]}return[null,null]}};p.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var v=Object.getOwnPropertyDescriptor(p.DetermineComponentFrameRoot,"name");v&&v.configurable&&Object.defineProperty(p.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var S=p.DetermineComponentFrameRoot(),O=S[0],D=S[1];if(O&&D){var tt=O.split(`
4
- `),dt=D.split(`
5
- `);for(v=p=0;p<tt.length&&!tt[p].includes("DetermineComponentFrameRoot");)p++;for(;v<dt.length&&!dt[v].includes("DetermineComponentFrameRoot");)v++;if(p===tt.length||v===dt.length)for(p=tt.length-1,v=dt.length-1;1<=p&&0<=v&&tt[p]!==dt[v];)v--;for(;1<=p&&0<=v;p--,v--)if(tt[p]!==dt[v]){if(p!==1||v!==1)do if(p--,v--,0>v||tt[p]!==dt[v]){var Et=`
6
- `+tt[p].replace(" at new "," at ");return o.displayName&&Et.includes("<anonymous>")&&(Et=Et.replace("<anonymous>",o.displayName)),Et}while(1<=p&&0<=v);break}}}finally{iS=!1,Error.prepareStackTrace=c}return(c=o?o.displayName||o.name:"")?it(c):""}function ut(o,s){switch(o.tag){case 26:case 27:case 5:return it(o.type);case 16:return it("Lazy");case 13:return o.child!==s&&s!==null?it("Suspense Fallback"):it("Suspense");case 19:return it("SuspenseList");case 0:case 15:return nt(o.type,!1);case 11:return nt(o.type.render,!1);case 1:return nt(o.type,!0);case 31:return it("Activity");default:return""}}function wt(o){try{var s="",c=null;do s+=ut(o,c),c=o,o=o.return;while(o);return s}catch(p){return`
7
- Error generating stack: `+p.message+`
8
- `+p.stack}}function Y(o,s){if(typeof o=="object"&&o!==null){var c=w2.get(o);return c!==void 0?c:(s={value:o,source:s,stack:wt(s)},w2.set(o,s),s)}return{value:o,source:s,stack:wt(s)}}function yt(o,s){Xu[Qu++]=ff,Xu[Qu++]=Am,Am=o,ff=s}function Mt(o,s,c){La[Da++]=Ir,La[Da++]=Nr,La[Da++]=es,es=o;var p=Ir;o=Nr;var v=32-ca(p)-1;p&=~(1<<v),c+=1;var S=32-ca(s)+v;if(30<S){var O=v-v%5;S=(p&(1<<O)-1).toString(32),p>>=O,v-=O,Ir=1<<32-ca(s)+v|c<<v|p,Nr=S+o}else Ir=1<<S|c<<v|p,Nr=o}function qt(o){o.return!==null&&(yt(o,1),Mt(o,1,0))}function Kt(o){for(;o===Am;)Am=Xu[--Qu],Xu[Qu]=null,ff=Xu[--Qu],Xu[Qu]=null;for(;o===es;)es=La[--Da],La[Da]=null,Nr=La[--Da],La[Da]=null,Ir=La[--Da],La[Da]=null}function te(o,s){La[Da++]=Ir,La[Da++]=Nr,La[Da++]=es,Ir=s.id,Nr=s.overflow,es=o}function ue(o,s){g(ns,s),g(hf,o),g(li,null),o=_5(s),y(li),g(li,o)}function ft(){y(li),y(hf),y(ns)}function Ht(o){o.memoizedState!==null&&g(Mm,o);var s=li.current,c=z5(s,o.type);s!==c&&(g(hf,o),g(li,c))}function ee(o){hf.current===o&&(y(li),y(hf)),Mm.current===o&&(y(Mm),io?xl._currentValue=ju:xl._currentValue2=ju)}function Gt(o){var s=Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw tn(Y(s,o)),aS}function re(o,s){if(!wi)throw Error(i(175));zB(o.stateNode,o.type,o.memoizedProps,s,o)||Gt(o,!0)}function Ce(o){for(ui=o.return;ui;)switch(ui.tag){case 5:case 31:case 13:Pa=!1;return;case 27:case 3:Pa=!0;return;default:ui=ui.return}}function Zt(o){if(!wi||o!==ui)return!1;if(!Te)return Ce(o),Te=!0,!1;var s=o.tag;if(jn?s!==3&&s!==27&&(s!==5||l2(o.type)&&!wm(o.type,o.memoizedProps))&&ln&&Gt(o):s!==3&&(s!==5||l2(o.type)&&!wm(o.type,o.memoizedProps))&&ln&&Gt(o),Ce(o),s===13){if(!wi)throw Error(i(316));if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(i(317));ln=PB(o)}else if(s===31){if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(i(317));ln=DB(o)}else ln=jn&&s===27?xB(o.type,ln):ui?s2(o.stateNode):null;return!0}function fe(){wi&&(ln=ui=null,Te=!1)}function Ft(){var o=is;return o!==null&&(Yi===null?Yi=o:Yi.push.apply(Yi,o),is=null),o}function tn(o){is===null?is=[o]:is.push(o)}function Jt(o,s,c){io?(g(Om,s._currentValue),s._currentValue=c):(g(Om,s._currentValue2),s._currentValue2=c)}function ze(o){var s=Om.current;io?o._currentValue=s:o._currentValue2=s,y(Om)}function oi(o,s,c){for(;o!==null;){var p=o.alternate;if((o.childLanes&s)!==s?(o.childLanes|=s,p!==null&&(p.childLanes|=s)):p!==null&&(p.childLanes&s)!==s&&(p.childLanes|=s),o===c)break;o=o.return}}function Un(o,s,c,p){var v=o.child;for(v!==null&&(v.return=o);v!==null;){var S=v.dependencies;if(S!==null){var O=v.child;S=S.firstContext;t:for(;S!==null;){var D=S;S=v;for(var tt=0;tt<s.length;tt++)if(D.context===s[tt]){S.lanes|=c,D=S.alternate,D!==null&&(D.lanes|=c),oi(S.return,c,o),p||(O=null);break t}S=D.next}}else if(v.tag===18){if(O=v.return,O===null)throw Error(i(341));O.lanes|=c,S=O.alternate,S!==null&&(S.lanes|=c),oi(O,c,o),O=null}else O=v.child;if(O!==null)O.return=v;else for(O=v;O!==null;){if(O===o){O=null;break}if(v=O.sibling,v!==null){v.return=O.return,O=v;break}O=O.return}v=O}}function lt(o,s,c,p){o=null;for(var v=s,S=!1;v!==null;){if(!S){if(v.flags&524288)S=!0;else if(v.flags&262144)break}if(v.tag===10){var O=v.alternate;if(O===null)throw Error(i(387));if(O=O.memoizedProps,O!==null){var D=v.type;fa(v.pendingProps.value,O.value)||(o!==null?o.push(D):o=[D])}}else if(v===Mm.current){if(O=v.alternate,O===null)throw Error(i(387));O.memoizedState.memoizedState!==v.memoizedState.memoizedState&&(o!==null?o.push(xl):o=[xl])}v=v.return}o!==null&&Un(s,o,c,p),s.flags|=262144}function Tt(o){for(o=o.firstContext;o!==null;){var s=o.context;if(!fa(io?s._currentValue:s._currentValue2,o.memoizedValue))return!0;o=o.next}return!1}function Vt(o){wl=o,ro=null,o=o.dependencies,o!==null&&(o.firstContext=null)}function _(o){return rt(wl,o)}function B(o,s){return wl===null&&Vt(o),rt(o,s)}function rt(o,s){var c=io?s._currentValue:s._currentValue2;if(s={context:s,memoizedValue:c,next:null},ro===null){if(o===null)throw Error(i(308));ro=s,o.dependencies={lanes:0,firstContext:s},o.flags|=524288}else ro=ro.next=s;return c}function ht(){return{controller:new c6,data:new Map,refCount:0}}function xt(o){o.refCount--,o.refCount===0&&d6(f6,function(){o.controller.abort()})}function U(){}function P(o){o!==Ku&&o.next===null&&(Ku===null?_m=Ku=o:Ku=Ku.next=o),zm=!0,rS||(rS=!0,at())}function W(o,s){if(!oS&&zm){oS=!0;do for(var c=!1,p=_m;p!==null;){if(!s)if(o!==0){var v=p.pendingLanes;if(v===0)var S=0;else{var O=p.suspendedLanes,D=p.pingedLanes;S=(1<<31-ca(42|o)+1)-1,S&=v&~(O&~D),S=S&201326741?S&201326741|1:S?S|2:0}S!==0&&(c=!0,X(p,S))}else S=xe,S=C(p,p===ke?S:0,p.cancelPendingCommit!==null||p.timeoutHandle!==Sl),!(S&3)||x(p,S)||(c=!0,X(p,S));p=p.next}while(c);oS=!1}}function J(){Lt()}function Lt(){zm=rS=!1;var o=0;Tl!==0&&V5()&&(o=Tl);for(var s=ki(),c=null,p=_m;p!==null;){var v=p.next,S=Yt(p,s);S===0?(p.next=null,c===null?_m=v:c.next=v,v===null&&(Ku=c)):(c=p,(o!==0||S&3)&&(zm=!0)),p=v}kn!==0&&kn!==5||W(o,!1),Tl!==0&&(Tl=0)}function Yt(o,s){for(var c=o.suspendedLanes,p=o.pingedLanes,v=o.expirationTimes,S=o.pendingLanes&-62914561;0<S;){var O=31-ca(S),D=1<<O,tt=v[O];tt===-1?(!(D&c)||D&p)&&(v[O]=w(D,s)):tt<=s&&(o.expiredLanes|=D),S&=~D}if(s=ke,c=xe,c=C(o,o===s?c:0,o.cancelPendingCommit!==null||o.timeoutHandle!==Sl),p=o.callbackNode,c===0||o===s&&(De===2||De===9)||o.cancelPendingCommit!==null)return p!==null&&p!==null&&tS(p),o.callbackNode=null,o.callbackPriority=0;if(!(c&3)||x(o,c)){if(s=c&-c,s===o.callbackPriority)return s;switch(p!==null&&tS(p),st(c)){case 2:case 8:c=r6;break;case 32:c=eS;break;case 268435456:c=o6;break;default:c=eS}return p=Pt.bind(null,o),c=Cm(c,p),o.callbackPriority=s,o.callbackNode=c,s}return p!==null&&p!==null&&tS(p),o.callbackPriority=2,o.callbackNode=null,2}function Pt(o,s){if(kn!==0&&kn!==5)return o.callbackNode=null,o.callbackPriority=0,null;var c=o.callbackNode;if(sf()&&o.callbackNode!==c)return null;var p=xe;return p=C(o,o===ke?p:0,o.cancelPendingCommit!==null||o.timeoutHandle!==Sl),p===0?null:(wA(o,p,s),Yt(o,ki()),o.callbackNode!=null&&o.callbackNode===c?Pt.bind(null,o):null)}function X(o,s){if(sf())return null;wA(o,s,!0)}function at(){X5?Q5(function(){ge&6?Cm(b2,J):Lt()}):Cm(b2,J)}function Ct(){if(Tl===0){var o=Zu;o===0&&(o=Tm,Tm<<=1,!(Tm&261888)&&(Tm=256)),Tl=o}return Tl}function At(o,s){if(pf===null){var c=pf=[];sS=0,Zu=Ct(),Wu={status:"pending",value:void 0,then:function(p){c.push(p)}}}return sS++,s.then(Rt,Rt),s}function Rt(){if(--sS===0&&pf!==null){Wu!==null&&(Wu.status="fulfilled");var o=pf;pf=null,Zu=0,Wu=null;for(var s=0;s<o.length;s++)(0,o[s])()}}function Ut(o,s){var c=[],p={status:"pending",value:null,reason:null,then:function(v){c.push(v)}};return o.then(function(){p.status="fulfilled",p.value=s;for(var v=0;v<c.length;v++)(0,c[v])(s)},function(v){for(p.status="rejected",p.reason=v,v=0;v<c.length;v++)(0,c[v])(void 0)}),p}function G(){var o=Rl.current;return o!==null?o:ke.pooledCache}function Bt(o,s){s===null?g(Rl,Rl.current):g(Rl,s.pool)}function he(){var o=G();return o===null?null:{parent:io?un._currentValue:un._currentValue2,pool:o}}function qe(o,s){if(fa(o,s))return!0;if(typeof o!="object"||o===null||typeof s!="object"||s===null)return!1;var c=Object.keys(o),p=Object.keys(s);if(c.length!==p.length)return!1;for(p=0;p<c.length;p++){var v=c[p];if(!u6.call(s,v)||!fa(o[v],s[v]))return!1}return!0}function Le(o){return o=o.status,o==="fulfilled"||o==="rejected"}function je(o,s,c){switch(c=o[c],c===void 0?o.push(s):c!==s&&(s.then(U,U),s=c),s.status){case"fulfilled":return s.value;case"rejected":throw o=s.reason,Oi(o),o;default:if(typeof s.status=="string")s.then(U,U);else{if(o=ke,o!==null&&100<o.shellSuspendCounter)throw Error(i(482));o=s,o.status="pending",o.then(function(p){if(s.status==="pending"){var v=s;v.status="fulfilled",v.value=p}},function(p){if(s.status==="pending"){var v=s;v.status="rejected",v.reason=p}})}switch(s.status){case"fulfilled":return s.value;case"rejected":throw o=s.reason,Oi(o),o}throw El=s,Ju}}function Cn(o){try{var s=o._init;return s(o._payload)}catch(c){throw c!==null&&typeof c=="object"&&typeof c.then=="function"?(El=c,Ju):c}}function Kn(){if(El===null)throw Error(i(459));var o=El;return El=null,o}function Oi(o){if(o===Ju||o===Im)throw Error(i(483))}function _i(o){var s=mf;return mf+=1,$u===null&&($u=[]),je($u,o,s)}function qi(o,s){s=s.props.ref,o.ref=s!==void 0?s:null}function Zr(o,s){throw s.$$typeof===E5?Error(i(525)):(o=Object.prototype.toString.call(s),Error(i(31,o==="[object Object]"?"object with keys {"+Object.keys(s).join(", ")+"}":o)))}function oa(o){function s(j,F){if(o){var Q=j.deletions;Q===null?(j.deletions=[F],j.flags|=16):Q.push(F)}}function c(j,F){if(!o)return null;for(;F!==null;)s(j,F),F=F.sibling;return null}function p(j){for(var F=new Map;j!==null;)j.key!==null?F.set(j.key,j):F.set(j.index,j),j=j.sibling;return F}function v(j,F){return j=no(j,F),j.index=0,j.sibling=null,j}function S(j,F,Q){return j.index=Q,o?(Q=j.alternate,Q!==null?(Q=Q.index,Q<F?(j.flags|=67108866,F):Q):(j.flags|=67108866,F)):(j.flags|=1048576,F)}function O(j){return o&&j.alternate===null&&(j.flags|=67108866),j}function D(j,F,Q,St){return F===null||F.tag!==6?(F=Hb(Q,j.mode,St),F.return=j,F):(F=v(F,Q),F.return=j,F)}function tt(j,F,Q,St){var kt=Q.type;return kt===qu?Et(j,F,Q.props.children,St,Q.key):F!==null&&(F.elementType===kt||typeof kt=="object"&&kt!==null&&kt.$$typeof===ts&&Cn(kt)===F.type)?(F=v(F,Q.props),qi(F,Q),F.return=j,F):(F=bm(Q.type,Q.key,Q.props,null,j.mode,St),qi(F,Q),F.return=j,F)}function dt(j,F,Q,St){return F===null||F.tag!==4||F.stateNode.containerInfo!==Q.containerInfo||F.stateNode.implementation!==Q.implementation?(F=Fb(Q,j.mode,St),F.return=j,F):(F=v(F,Q.children||[]),F.return=j,F)}function Et(j,F,Q,St,kt){return F===null||F.tag!==7?(F=bl(Q,j.mode,St,kt),F.return=j,F):(F=v(F,Q),F.return=j,F)}function bt(j,F,Q){if(typeof F=="string"&&F!==""||typeof F=="number"||typeof F=="bigint")return F=Hb(""+F,j.mode,Q),F.return=j,F;if(typeof F=="object"&&F!==null){switch(F.$$typeof){case Sm:return Q=bm(F.type,F.key,F.props,null,j.mode,Q),qi(Q,F),Q.return=j,Q;case Uu:return F=Fb(F,j.mode,Q),F.return=j,F;case ts:return F=Cn(F),bt(j,F,Q)}if(xm(F)||h(F))return F=bl(F,j.mode,Q,null),F.return=j,F;if(typeof F.then=="function")return bt(j,_i(F),Q);if(F.$$typeof===$o)return bt(j,B(j,F),Q);Zr(j,F)}return null}function _t(j,F,Q,St){var kt=F!==null?F.key:null;if(typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint")return kt!==null?null:D(j,F,""+Q,St);if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case Sm:return Q.key===kt?tt(j,F,Q,St):null;case Uu:return Q.key===kt?dt(j,F,Q,St):null;case ts:return Q=Cn(Q),_t(j,F,Q,St)}if(xm(Q)||h(Q))return kt!==null?null:Et(j,F,Q,St,null);if(typeof Q.then=="function")return _t(j,F,_i(Q),St);if(Q.$$typeof===$o)return _t(j,F,B(j,Q),St);Zr(j,Q)}return null}function oe(j,F,Q,St,kt){if(typeof St=="string"&&St!==""||typeof St=="number"||typeof St=="bigint")return j=j.get(Q)||null,D(F,j,""+St,kt);if(typeof St=="object"&&St!==null){switch(St.$$typeof){case Sm:return j=j.get(St.key===null?Q:St.key)||null,tt(F,j,St,kt);case Uu:return j=j.get(St.key===null?Q:St.key)||null,dt(F,j,St,kt);case ts:return St=Cn(St),oe(j,F,Q,St,kt)}if(xm(St)||h(St))return j=j.get(Q)||null,Et(F,j,St,kt,null);if(typeof St.then=="function")return oe(j,F,Q,_i(St),kt);if(St.$$typeof===$o)return oe(j,F,Q,B(F,St),kt);Zr(F,St)}return null}function ci(j,F,Q,St){for(var kt=null,cn=null,Xt=F,Me=F=0,$n=null;Xt!==null&&Me<Q.length;Me++){Xt.index>Me?($n=Xt,Xt=null):$n=Xt.sibling;var Oe=_t(j,Xt,Q[Me],St);if(Oe===null){Xt===null&&(Xt=$n);break}o&&Xt&&Oe.alternate===null&&s(j,Xt),F=S(Oe,F,Me),cn===null?kt=Oe:cn.sibling=Oe,cn=Oe,Xt=$n}if(Me===Q.length)return c(j,Xt),Te&&yt(j,Me),kt;if(Xt===null){for(;Me<Q.length;Me++)Xt=bt(j,Q[Me],St),Xt!==null&&(F=S(Xt,F,Me),cn===null?kt=Xt:cn.sibling=Xt,cn=Xt);return Te&&yt(j,Me),kt}for(Xt=p(Xt);Me<Q.length;Me++)$n=oe(Xt,j,Me,Q[Me],St),$n!==null&&(o&&$n.alternate!==null&&Xt.delete($n.key===null?Me:$n.key),F=S($n,F,Me),cn===null?kt=$n:cn.sibling=$n,cn=$n);return o&&Xt.forEach(function(us){return s(j,us)}),Te&&yt(j,Me),kt}function wf(j,F,Q,St){if(Q==null)throw Error(i(151));for(var kt=null,cn=null,Xt=F,Me=F=0,$n=null,Oe=Q.next();Xt!==null&&!Oe.done;Me++,Oe=Q.next()){Xt.index>Me?($n=Xt,Xt=null):$n=Xt.sibling;var us=_t(j,Xt,Oe.value,St);if(us===null){Xt===null&&(Xt=$n);break}o&&Xt&&us.alternate===null&&s(j,Xt),F=S(us,F,Me),cn===null?kt=us:cn.sibling=us,cn=us,Xt=$n}if(Oe.done)return c(j,Xt),Te&&yt(j,Me),kt;if(Xt===null){for(;!Oe.done;Me++,Oe=Q.next())Oe=bt(j,Oe.value,St),Oe!==null&&(F=S(Oe,F,Me),cn===null?kt=Oe:cn.sibling=Oe,cn=Oe);return Te&&yt(j,Me),kt}for(Xt=p(Xt);!Oe.done;Me++,Oe=Q.next())Oe=oe(Xt,j,Me,Oe.value,St),Oe!==null&&(o&&Oe.alternate!==null&&Xt.delete(Oe.key===null?Me:Oe.key),F=S(Oe,F,Me),cn===null?kt=Oe:cn.sibling=Oe,cn=Oe);return o&&Xt.forEach(function(g6){return s(j,g6)}),Te&&yt(j,Me),kt}function Ol(j,F,Q,St){if(typeof Q=="object"&&Q!==null&&Q.type===qu&&Q.key===null&&(Q=Q.props.children),typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case Sm:t:{for(var kt=Q.key;F!==null;){if(F.key===kt){if(kt=Q.type,kt===qu){if(F.tag===7){c(j,F.sibling),St=v(F,Q.props.children),St.return=j,j=St;break t}}else if(F.elementType===kt||typeof kt=="object"&&kt!==null&&kt.$$typeof===ts&&Cn(kt)===F.type){c(j,F.sibling),St=v(F,Q.props),qi(St,Q),St.return=j,j=St;break t}c(j,F);break}else s(j,F);F=F.sibling}Q.type===qu?(St=bl(Q.props.children,j.mode,St,Q.key),St.return=j,j=St):(St=bm(Q.type,Q.key,Q.props,null,j.mode,St),qi(St,Q),St.return=j,j=St)}return O(j);case Uu:t:{for(kt=Q.key;F!==null;){if(F.key===kt)if(F.tag===4&&F.stateNode.containerInfo===Q.containerInfo&&F.stateNode.implementation===Q.implementation){c(j,F.sibling),St=v(F,Q.children||[]),St.return=j,j=St;break t}else{c(j,F);break}else s(j,F);F=F.sibling}St=Fb(Q,j.mode,St),St.return=j,j=St}return O(j);case ts:return Q=Cn(Q),Ol(j,F,Q,St)}if(xm(Q))return ci(j,F,Q,St);if(h(Q)){if(kt=h(Q),typeof kt!="function")throw Error(i(150));return Q=kt.call(Q),wf(j,F,Q,St)}if(typeof Q.then=="function")return Ol(j,F,_i(Q),St);if(Q.$$typeof===$o)return Ol(j,F,B(j,Q),St);Zr(j,Q)}return typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint"?(Q=""+Q,F!==null&&F.tag===6?(c(j,F.sibling),St=v(F,Q),St.return=j,j=St):(c(j,F),St=Hb(Q,j.mode,St),St.return=j,j=St),O(j)):c(j,F)}return function(j,F,Q,St){try{mf=0;var kt=Ol(j,F,Q,St);return $u=null,kt}catch(Xt){if(Xt===Ju||Xt===Im)throw Xt;var cn=e(29,Xt,null,j.mode);return cn.lanes=St,cn.return=j,cn}finally{}}}function hl(){for(var o=tc,s=uS=tc=0;s<o;){var c=Ba[s];Ba[s++]=null;var p=Ba[s];Ba[s++]=null;var v=Ba[s];Ba[s++]=null;var S=Ba[s];if(Ba[s++]=null,p!==null&&v!==null){var O=p.pending;O===null?v.next=v:(v.next=O.next,O.next=v),p.pending=v}S!==0&&pt(c,v,S)}}function pl(o,s,c,p){Ba[tc++]=o,Ba[tc++]=s,Ba[tc++]=c,Ba[tc++]=p,uS|=p,o.lanes|=p,o=o.alternate,o!==null&&(o.lanes|=p)}function ml(o,s,c,p){return pl(o,s,c,p),Ot(o)}function V(o,s){return pl(o,null,null,s),Ot(o)}function pt(o,s,c){o.lanes|=c;var p=o.alternate;p!==null&&(p.lanes|=c);for(var v=!1,S=o.return;S!==null;)S.childLanes|=c,p=S.alternate,p!==null&&(p.childLanes|=c),S.tag===22&&(o=S.stateNode,o===null||o._visibility&1||(v=!0)),o=S,S=S.return;return o.tag===3?(S=o.stateNode,v&&s!==null&&(v=31-ca(c),o=S.hiddenUpdates,p=o[v],p===null?o[v]=[s]:p.push(s),s.lane=c|536870912),S):null}function Ot(o){if(50<xf)throw xf=0,xS=null,Error(i(185));for(var s=o.return;s!==null;)o=s,s=o.return;return o.tag===3?o.stateNode:null}function ne(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function $(o,s){o=o.updateQueue,s.updateQueue===o&&(s.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,callbacks:null})}function mt(o){return{lane:o,tag:0,payload:null,callback:null,next:null}}function vt(o,s,c){var p=o.updateQueue;if(p===null)return null;if(p=p.shared,ge&2){var v=p.pending;return v===null?s.next=s:(s.next=v.next,v.next=s),p.pending=s,s=Ot(o),pt(o,null,c),s}return pl(o,p,s,c),Ot(o)}function $t(o,s,c){if(s=s.updateQueue,s!==null&&(s=s.shared,(c&4194048)!==0)){var p=s.lanes;p&=o.pendingLanes,c|=p,s.lanes=c,L(o,c)}}function Se(o,s){var c=o.updateQueue,p=o.alternate;if(p!==null&&(p=p.updateQueue,c===p)){var v=null,S=null;if(c=c.firstBaseUpdate,c!==null){do{var O={lane:c.lane,tag:c.tag,payload:c.payload,callback:null,next:null};S===null?v=S=O:S=S.next=O,c=c.next}while(c!==null);S===null?v=S=s:S=S.next=s}else v=S=s;c={baseState:p.baseState,firstBaseUpdate:v,lastBaseUpdate:S,shared:p.shared,callbacks:p.callbacks},o.updateQueue=c;return}o=c.lastBaseUpdate,o===null?c.firstBaseUpdate=s:o.next=s,c.lastBaseUpdate=s}function en(){if(cS){var o=Wu;if(o!==null)throw o}}function qn(o,s,c,p){cS=!1;var v=o.updateQueue;as=!1;var S=v.firstBaseUpdate,O=v.lastBaseUpdate,D=v.shared.pending;if(D!==null){v.shared.pending=null;var tt=D,dt=tt.next;tt.next=null,O===null?S=dt:O.next=dt,O=tt;var Et=o.alternate;Et!==null&&(Et=Et.updateQueue,D=Et.lastBaseUpdate,D!==O&&(D===null?Et.firstBaseUpdate=dt:D.next=dt,Et.lastBaseUpdate=tt))}if(S!==null){var bt=v.baseState;O=0,Et=dt=tt=null,D=S;do{var _t=D.lane&-536870913,oe=_t!==D.lane;if(oe?(xe&_t)===_t:(p&_t)===_t){_t!==0&&_t===Zu&&(cS=!0),Et!==null&&(Et=Et.next={lane:0,tag:D.tag,payload:D.payload,callback:null,next:null});t:{var ci=o,wf=D;_t=s;var Ol=c;switch(wf.tag){case 1:if(ci=wf.payload,typeof ci=="function"){bt=ci.call(Ol,bt,_t);break t}bt=ci;break t;case 3:ci.flags=ci.flags&-65537|128;case 0:if(ci=wf.payload,_t=typeof ci=="function"?ci.call(Ol,bt,_t):ci,_t==null)break t;bt=Ub({},bt,_t);break t;case 2:as=!0}}_t=D.callback,_t!==null&&(o.flags|=64,oe&&(o.flags|=8192),oe=v.callbacks,oe===null?v.callbacks=[_t]:oe.push(_t))}else oe={lane:_t,tag:D.tag,payload:D.payload,callback:D.callback,next:null},Et===null?(dt=Et=oe,tt=bt):Et=Et.next=oe,O|=_t;if(D=D.next,D===null){if(D=v.shared.pending,D===null)break;oe=D,D=oe.next,oe.next=null,v.lastBaseUpdate=oe,v.shared.pending=null}}while(!0);Et===null&&(tt=bt),v.baseState=tt,v.firstBaseUpdate=dt,v.lastBaseUpdate=Et,S===null&&(v.shared.lanes=0),os|=O,o.lanes=O,o.memoizedState=bt}}function sa(o,s){if(typeof o!="function")throw Error(i(191,o));o.call(s)}function Wr(o,s){var c=o.callbacks;if(c!==null)for(o.callbacks=null,o=0;o<c.length;o++)sa(c[o],s)}function nr(o,s){o=lo,g(Lm,o),g(ec,s),lo=o|s.baseLanes}function Mr(){g(Lm,lo),g(ec,ec.current)}function ie(){lo=Lm.current,y(ec),y(Lm)}function pe(o){var s=o.alternate;g(xn,xn.current&1),g(ha,o),Ha===null&&(s===null||ec.current!==null||s.memoizedState!==null)&&(Ha=o)}function Ye(o){g(xn,xn.current),g(ha,o),Ha===null&&(Ha=o)}function An(o){o.tag===22?(g(xn,xn.current),g(ha,o),Ha===null&&(Ha=o)):Zn(o)}function Zn(){g(xn,xn.current),g(ha,ha.current)}function zi(o){y(ha),Ha===o&&(Ha=null),y(xn)}function Pu(o){for(var s=o;s!==null;){if(s.tag===13){var c=s.memoizedState;if(c!==null&&(c=c.dehydrated,c===null||Zb(c)||Wb(c)))return s}else if(s.tag===19&&(s.memoizedProps.revealOrder==="forwards"||s.memoizedProps.revealOrder==="backwards"||s.memoizedProps.revealOrder==="unstable_legacy-backwards"||s.memoizedProps.revealOrder==="together")){if(s.flags&128)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===o)break;for(;s.sibling===null;){if(s.return===null||s.return===o)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}function nn(){throw Error(i(321))}function Or(o,s){if(s===null)return!1;for(var c=0;c<s.length&&c<o.length;c++)if(!fa(o[c],s[c]))return!1;return!0}function J0(o,s,c,p,v,S){return oo=S,se=s,s.memoizedState=null,s.updateQueue=null,s.lanes=0,jt.H=o===null||o.memoizedState===null?E2:dS,Al=!1,S=c(p,v),Al=!1,nc&&(S=tC(s,c,p,v)),$E(o),S}function $E(o){jt.H=yf;var s=Fe!==null&&Fe.next!==null;if(oo=0,Mn=Fe=se=null,Dm=!1,gf=0,ic=null,s)throw Error(i(300));o===null||On||(o=o.dependencies,o!==null&&Tt(o)&&(On=!0))}function tC(o,s,c,p){se=o;var v=0;do{if(nc&&(ic=null),gf=0,nc=!1,25<=v)throw Error(i(301));if(v+=1,Mn=Fe=null,o.updateQueue!=null){var S=o.updateQueue;S.lastEffect=null,S.events=null,S.stores=null,S.memoCache!=null&&(S.memoCache.index=0)}jt.H=C2,S=s(c,p)}while(nc);return S}function e5(){var o=jt.H,s=o.useState()[0];return s=typeof s.then=="function"?Jd(s):s,o=o.useState()[0],(Fe!==null?Fe.memoizedState:null)!==o&&(se.flags|=1024),s}function $0(){var o=Pm!==0;return Pm=0,o}function tb(o,s,c){s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~c}function eb(o){if(Dm){for(o=o.memoizedState;o!==null;){var s=o.queue;s!==null&&(s.pending=null),o=o.next}Dm=!1}oo=0,Mn=Fe=se=null,nc=!1,gf=Pm=0,ic=null}function Ii(){var o={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Mn===null?se.memoizedState=Mn=o:Mn=Mn.next=o,Mn}function Sn(){if(Fe===null){var o=se.alternate;o=o!==null?o.memoizedState:null}else o=Fe.next;var s=Mn===null?se.memoizedState:Mn.next;if(s!==null)Mn=s,Fe=o;else{if(o===null)throw se.alternate===null?Error(i(467)):Error(i(310));Fe=o,o={memoizedState:Fe.memoizedState,baseState:Fe.baseState,baseQueue:Fe.baseQueue,queue:Fe.queue,next:null},Mn===null?se.memoizedState=Mn=o:Mn=Mn.next=o}return Mn}function nm(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Jd(o){var s=gf;return gf+=1,ic===null&&(ic=[]),o=je(ic,o,s),s=se,(Mn===null?s.memoizedState:Mn.next)===null&&(s=s.alternate,jt.H=s===null||s.memoizedState===null?E2:dS),o}function im(o){if(o!==null&&typeof o=="object"){if(typeof o.then=="function")return Jd(o);if(o.$$typeof===$o)return _(o)}throw Error(i(438,String(o)))}function nb(o){var s=null,c=se.updateQueue;if(c!==null&&(s=c.memoCache),s==null){var p=se.alternate;p!==null&&(p=p.updateQueue,p!==null&&(p=p.memoCache,p!=null&&(s={data:p.data.map(function(v){return v.slice()}),index:0})))}if(s==null&&(s={data:[],index:0}),c===null&&(c=nm(),se.updateQueue=c),c.memoCache=s,c=s.data[s.index],c===void 0)for(c=s.data[s.index]=Array(o),p=0;p<o;p++)c[p]=C5;return s.index++,c}function Jr(o,s){return typeof s=="function"?s(o):s}function am(o){var s=Sn();return ib(s,Fe,o)}function ib(o,s,c){var p=o.queue;if(p===null)throw Error(i(311));p.lastRenderedReducer=c;var v=o.baseQueue,S=p.pending;if(S!==null){if(v!==null){var O=v.next;v.next=S.next,S.next=O}s.baseQueue=v=S,p.pending=null}if(S=o.baseState,v===null)o.memoizedState=S;else{s=v.next;var D=O=null,tt=null,dt=s,Et=!1;do{var bt=dt.lane&-536870913;if(bt!==dt.lane?(xe&bt)===bt:(oo&bt)===bt){var _t=dt.revertLane;if(_t===0)tt!==null&&(tt=tt.next={lane:0,revertLane:0,gesture:null,action:dt.action,hasEagerState:dt.hasEagerState,eagerState:dt.eagerState,next:null}),bt===Zu&&(Et=!0);else if((oo&_t)===_t){dt=dt.next,_t===Zu&&(Et=!0);continue}else bt={lane:0,revertLane:dt.revertLane,gesture:null,action:dt.action,hasEagerState:dt.hasEagerState,eagerState:dt.eagerState,next:null},tt===null?(D=tt=bt,O=S):tt=tt.next=bt,se.lanes|=_t,os|=_t;bt=dt.action,Al&&c(S,bt),S=dt.hasEagerState?dt.eagerState:c(S,bt)}else _t={lane:bt,revertLane:dt.revertLane,gesture:dt.gesture,action:dt.action,hasEagerState:dt.hasEagerState,eagerState:dt.eagerState,next:null},tt===null?(D=tt=_t,O=S):tt=tt.next=_t,se.lanes|=bt,os|=bt;dt=dt.next}while(dt!==null&&dt!==s);if(tt===null?O=S:tt.next=D,!fa(S,o.memoizedState)&&(On=!0,Et&&(c=Wu,c!==null)))throw c;o.memoizedState=S,o.baseState=O,o.baseQueue=tt,p.lastRenderedState=S}return v===null&&(p.lanes=0),[o.memoizedState,p.dispatch]}function ab(o){var s=Sn(),c=s.queue;if(c===null)throw Error(i(311));c.lastRenderedReducer=o;var p=c.dispatch,v=c.pending,S=s.memoizedState;if(v!==null){c.pending=null;var O=v=v.next;do S=o(S,O.action),O=O.next;while(O!==v);fa(S,s.memoizedState)||(On=!0),s.memoizedState=S,s.baseQueue===null&&(s.baseState=S),c.lastRenderedState=S}return[S,p]}function eC(o,s,c){var p=se,v=Sn(),S=Te;if(S){if(c===void 0)throw Error(i(407));c=c()}else c=s();var O=!fa((Fe||v).memoizedState,c);if(O&&(v.memoizedState=c,On=!0),v=v.queue,sb(aC.bind(null,p,v,o),[o]),v.getSnapshot!==s||O||Mn!==null&&Mn.memoizedState.tag&1){if(p.flags|=2048,Bu(9,{destroy:void 0},iC.bind(null,p,v,c,s),null),ke===null)throw Error(i(349));S||oo&127||nC(p,s,c)}return c}function nC(o,s,c){o.flags|=16384,o={getSnapshot:s,value:c},s=se.updateQueue,s===null?(s=nm(),se.updateQueue=s,s.stores=[o]):(c=s.stores,c===null?s.stores=[o]:c.push(o))}function iC(o,s,c,p){s.value=c,s.getSnapshot=p,rC(s)&&oC(o)}function aC(o,s,c){return c(function(){rC(s)&&oC(o)})}function rC(o){var s=o.getSnapshot;o=o.value;try{var c=s();return!fa(o,c)}catch{return!0}}function oC(o){var s=V(o,2);s!==null&&ji(s,o,2)}function rb(o){var s=Ii();if(typeof o=="function"){var c=o;if(o=c(),Al){et(!0);try{c()}finally{et(!1)}}}return s.memoizedState=s.baseState=o,s.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Jr,lastRenderedState:o},s}function sC(o,s,c,p){return o.baseState=c,ib(o,Fe,typeof p=="function"?p:Jr)}function n5(o,s,c,p,v){if(sm(o))throw Error(i(485));if(o=s.action,o!==null){var S={payload:v,action:o,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(O){S.listeners.push(O)}};jt.T!==null?c(!0):S.isTransition=!1,p(S),c=s.pending,c===null?(S.next=s.pending=S,lC(s,S)):(S.next=c.next,s.pending=c.next=S)}}function lC(o,s){var c=s.action,p=s.payload,v=o.state;if(s.isTransition){var S=jt.T,O={};jt.T=O;try{var D=c(v,p),tt=jt.S;tt!==null&&tt(O,D),uC(o,s,D)}catch(dt){ob(o,s,dt)}finally{S!==null&&O.types!==null&&(S.types=O.types),jt.T=S}}else try{S=c(v,p),uC(o,s,S)}catch(dt){ob(o,s,dt)}}function uC(o,s,c){c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(function(p){cC(o,s,p)},function(p){return ob(o,s,p)}):cC(o,s,c)}function cC(o,s,c){s.status="fulfilled",s.value=c,dC(s),o.state=c,s=o.pending,s!==null&&(c=s.next,c===s?o.pending=null:(c=c.next,s.next=c,lC(o,c)))}function ob(o,s,c){var p=o.pending;if(o.pending=null,p!==null){p=p.next;do s.status="rejected",s.reason=c,dC(s),s=s.next;while(s!==p)}o.action=null}function dC(o){o=o.listeners;for(var s=0;s<o.length;s++)(0,o[s])()}function fC(o,s){return s}function hC(o,s){if(Te){var c=ke.formState;if(c!==null){t:{var p=se;if(Te){if(ln){var v=bB(ln,Pa);if(v){ln=s2(v),p=SB(v);break t}}Gt(p)}p=!1}p&&(s=c[0])}}c=Ii(),c.memoizedState=c.baseState=s,p={pending:null,lanes:0,dispatch:null,lastRenderedReducer:fC,lastRenderedState:s},c.queue=p,c=zC.bind(null,se,p),p.dispatch=c,p=rb(!1);var S=db.bind(null,se,!1,p.queue);return p=Ii(),v={state:s,dispatch:null,action:o,pending:null},p.queue=v,c=n5.bind(null,se,v,S,c),v.dispatch=c,p.memoizedState=o,[s,c,!1]}function pC(o){var s=Sn();return mC(s,Fe,o)}function mC(o,s,c){if(s=ib(o,s,fC)[0],o=am(Jr)[0],typeof s=="object"&&s!==null&&typeof s.then=="function")try{var p=Jd(s)}catch(O){throw O===Ju?Im:O}else p=s;s=Sn();var v=s.queue,S=v.dispatch;return c!==s.memoizedState&&(se.flags|=2048,Bu(9,{destroy:void 0},i5.bind(null,v,c),null)),[p,S,o]}function i5(o,s){o.action=s}function gC(o){var s=Sn(),c=Fe;if(c!==null)return mC(s,c,o);Sn(),s=s.memoizedState,c=Sn();var p=c.queue.dispatch;return c.memoizedState=o,[s,p,!1]}function Bu(o,s,c,p){return o={tag:o,create:c,deps:p,inst:s,next:null},s=se.updateQueue,s===null&&(s=nm(),se.updateQueue=s),c=s.lastEffect,c===null?s.lastEffect=o.next=o:(p=c.next,c.next=o,o.next=p,s.lastEffect=o),o}function yC(){return Sn().memoizedState}function rm(o,s,c,p){var v=Ii();se.flags|=o,v.memoizedState=Bu(1|s,{destroy:void 0},c,p===void 0?null:p)}function om(o,s,c,p){var v=Sn();p=p===void 0?null:p;var S=v.memoizedState.inst;Fe!==null&&p!==null&&Or(p,Fe.memoizedState.deps)?v.memoizedState=Bu(s,S,c,p):(se.flags|=o,v.memoizedState=Bu(1|s,S,c,p))}function vC(o,s){rm(8390656,8,o,s)}function sb(o,s){om(2048,8,o,s)}function a5(o){se.flags|=4;var s=se.updateQueue;if(s===null)s=nm(),se.updateQueue=s,s.events=[o];else{var c=s.events;c===null?s.events=[o]:c.push(o)}}function bC(o){var s=Sn().memoizedState;return a5({ref:s,nextImpl:o}),function(){if(ge&2)throw Error(i(440));return s.impl.apply(void 0,arguments)}}function SC(o,s){return om(4,2,o,s)}function xC(o,s){return om(4,4,o,s)}function wC(o,s){if(typeof s=="function"){o=o();var c=s(o);return function(){typeof c=="function"?c():s(null)}}if(s!=null)return o=o(),s.current=o,function(){s.current=null}}function TC(o,s,c){c=c!=null?c.concat([o]):null,om(4,4,wC.bind(null,s,o),c)}function lb(){}function RC(o,s){var c=Sn();s=s===void 0?null:s;var p=c.memoizedState;return s!==null&&Or(s,p[1])?p[0]:(c.memoizedState=[o,s],o)}function EC(o,s){var c=Sn();s=s===void 0?null:s;var p=c.memoizedState;if(s!==null&&Or(s,p[1]))return p[0];if(p=o(),Al){et(!0);try{o()}finally{et(!1)}}return c.memoizedState=[p,s],p}function ub(o,s,c){return c===void 0||oo&1073741824&&!(xe&261930)?o.memoizedState=s:(o.memoizedState=c,o=xA(),se.lanes|=o,os|=o,c)}function CC(o,s,c,p){return fa(c,s)?c:ec.current!==null?(o=ub(o,c,p),fa(o,s)||(On=!0),o):!(oo&42)||oo&1073741824&&!(xe&261930)?(On=!0,o.memoizedState=c):(o=xA(),se.lanes|=o,os|=o,s)}function AC(o,s,c,p,v){var S=ao();Wn(S!==0&&8>S?S:8);var O=jt.T,D={};jt.T=D,db(o,!1,s,c);try{var tt=v(),dt=jt.S;if(dt!==null&&dt(D,tt),tt!==null&&typeof tt=="object"&&typeof tt.then=="function"){var Et=Ut(tt,p);$d(o,s,Et,la(o))}else $d(o,s,p,la(o))}catch(bt){$d(o,s,{then:function(){},status:"rejected",reason:bt},la())}finally{Wn(S),O!==null&&D.types!==null&&(O.types=D.types),jt.T=O}}function MC(o){var s=o.memoizedState;if(s!==null)return s;s={memoizedState:ju,baseState:ju,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Jr,lastRenderedState:ju},next:null};var c={};return s.next={memoizedState:c,baseState:c,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Jr,lastRenderedState:c},next:null},o.memoizedState=s,o=o.alternate,o!==null&&(o.memoizedState=s),s}function cb(){return _(xl)}function OC(){return Sn().memoizedState}function _C(){return Sn().memoizedState}function r5(o){for(var s=o.return;s!==null;){switch(s.tag){case 24:case 3:var c=la();o=mt(c);var p=vt(s,o,c);p!==null&&(ji(p,s,c),$t(p,s,c)),s={cache:ht()},o.payload=s;return}s=s.return}}function o5(o,s,c){var p=la();c={lane:p,revertLane:0,gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},sm(o)?IC(s,c):(c=ml(o,s,c,p),c!==null&&(ji(c,o,p),NC(c,s,p)))}function zC(o,s,c){var p=la();$d(o,s,c,p)}function $d(o,s,c,p){var v={lane:p,revertLane:0,gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null};if(sm(o))IC(s,v);else{var S=o.alternate;if(o.lanes===0&&(S===null||S.lanes===0)&&(S=s.lastRenderedReducer,S!==null))try{var O=s.lastRenderedState,D=S(O,c);if(v.hasEagerState=!0,v.eagerState=D,fa(D,O))return pl(o,s,v,0),ke===null&&hl(),!1}catch{}finally{}if(c=ml(o,s,v,p),c!==null)return ji(c,o,p),NC(c,s,p),!0}return!1}function db(o,s,c,p){if(p={lane:2,revertLane:Ct(),gesture:null,action:p,hasEagerState:!1,eagerState:null,next:null},sm(o)){if(s)throw Error(i(479))}else s=ml(o,c,p,2),s!==null&&ji(s,o,2)}function sm(o){var s=o.alternate;return o===se||s!==null&&s===se}function IC(o,s){nc=Dm=!0;var c=o.pending;c===null?s.next=s:(s.next=c.next,c.next=s),o.pending=s}function NC(o,s,c){if(c&4194048){var p=s.lanes;p&=o.pendingLanes,c|=p,s.lanes=c,L(o,c)}}function fb(o,s,c,p){s=o.memoizedState,c=c(p,s),c=c==null?s:Ub({},s,c),o.memoizedState=c,o.lanes===0&&(o.updateQueue.baseState=c)}function LC(o,s,c,p,v,S,O){return o=o.stateNode,typeof o.shouldComponentUpdate=="function"?o.shouldComponentUpdate(p,S,O):s.prototype&&s.prototype.isPureReactComponent?!qe(c,p)||!qe(v,S):!0}function DC(o,s,c,p){o=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(c,p),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(c,p),s.state!==o&&fS.enqueueReplaceState(s,s.state,null)}function gl(o,s){var c=s;if("ref"in s){c={};for(var p in s)p!=="ref"&&(c[p]=s[p])}if(o=o.defaultProps){c===s&&(c=Ub({},c));for(var v in o)c[v]===void 0&&(c[v]=o[v])}return c}function lm(o,s){try{var c=o.onUncaughtError;c(s.value,{componentStack:s.stack})}catch(p){setTimeout(function(){throw p})}}function PC(o,s,c){try{var p=o.onCaughtError;p(c.value,{componentStack:c.stack,errorBoundary:s.tag===1?s.stateNode:null})}catch(v){setTimeout(function(){throw v})}}function hb(o,s,c){return c=mt(c),c.tag=3,c.payload={element:null},c.callback=function(){lm(o,s)},c}function BC(o){return o=mt(o),o.tag=3,o}function HC(o,s,c,p){var v=c.type.getDerivedStateFromError;if(typeof v=="function"){var S=p.value;o.payload=function(){return v(S)},o.callback=function(){PC(s,c,p)}}var O=c.stateNode;O!==null&&typeof O.componentDidCatch=="function"&&(o.callback=function(){PC(s,c,p),typeof v!="function"&&(ss===null?ss=new Set([this]):ss.add(this));var D=p.stack;this.componentDidCatch(p.value,{componentStack:D!==null?D:""})})}function s5(o,s,c,p,v){if(c.flags|=32768,p!==null&&typeof p=="object"&&typeof p.then=="function"){if(s=c.alternate,s!==null&&lt(s,c,v,!0),c=ha.current,c!==null){switch(c.tag){case 31:case 13:return Ha===null?ym():c.alternate===null&&pn===0&&(pn=3),c.flags&=-257,c.flags|=65536,c.lanes=v,p===Nm?c.flags|=16384:(s=c.updateQueue,s===null?c.updateQueue=new Set([p]):s.add(p),Pb(o,p,v)),!1;case 22:return c.flags|=65536,p===Nm?c.flags|=16384:(s=c.updateQueue,s===null?(s={transitions:null,markerInstances:null,retryQueue:new Set([p])},c.updateQueue=s):(c=s.retryQueue,c===null?s.retryQueue=new Set([p]):c.add(p)),Pb(o,p,v)),!1}throw Error(i(435,c.tag))}return Pb(o,p,v),ym(),!1}if(Te)return s=ha.current,s!==null?(!(s.flags&65536)&&(s.flags|=256),s.flags|=65536,s.lanes=v,p!==aS&&(o=Error(i(422),{cause:p}),tn(Y(o,c)))):(p!==aS&&(s=Error(i(423),{cause:p}),tn(Y(s,c))),o=o.current.alternate,o.flags|=65536,v&=-v,o.lanes|=v,p=Y(p,c),v=hb(o.stateNode,p,v),Se(o,v),pn!==4&&(pn=2)),!1;var S=Error(i(520),{cause:p});if(S=Y(S,c),bf===null?bf=[S]:bf.push(S),pn!==4&&(pn=2),s===null)return!0;p=Y(p,c),c=s;do{switch(c.tag){case 3:return c.flags|=65536,o=v&-v,c.lanes|=o,o=hb(c.stateNode,p,o),Se(c,o),!1;case 1:if(s=c.type,S=c.stateNode,(c.flags&128)===0&&(typeof s.getDerivedStateFromError=="function"||S!==null&&typeof S.componentDidCatch=="function"&&(ss===null||!ss.has(S))))return c.flags|=65536,v&=-v,c.lanes|=v,v=BC(v),HC(v,o,c,p),Se(c,v),!1}c=c.return}while(c!==null);return!1}function si(o,s,c,p){s.child=o===null?R2(s,null,c,p):Cl(s,o.child,c,p)}function FC(o,s,c,p,v){c=c.render;var S=s.ref;if("ref"in p){var O={};for(var D in p)D!=="ref"&&(O[D]=p[D])}else O=p;return Vt(s),p=J0(o,s,c,O,S,v),D=$0(),o!==null&&!On?(tb(o,s,v),$r(o,s,v)):(Te&&D&&qt(s),s.flags|=1,si(o,s,p,v),s.child)}function VC(o,s,c,p,v){if(o===null){var S=c.type;return typeof S=="function"&&!Bb(S)&&S.defaultProps===void 0&&c.compare===null?(s.tag=15,s.type=S,UC(o,s,S,p,v)):(o=bm(c.type,null,p,s,s.mode,v),o.ref=s.ref,o.return=s,s.child=o)}if(S=o.child,!Sb(o,v)){var O=S.memoizedProps;if(c=c.compare,c=c!==null?c:qe,c(O,p)&&o.ref===s.ref)return $r(o,s,v)}return s.flags|=1,o=no(S,p),o.ref=s.ref,o.return=s,s.child=o}function UC(o,s,c,p,v){if(o!==null){var S=o.memoizedProps;if(qe(S,p)&&o.ref===s.ref)if(On=!1,s.pendingProps=p=S,Sb(o,v))o.flags&131072&&(On=!0);else return s.lanes=o.lanes,$r(o,s,v)}return pb(o,s,c,p,v)}function qC(o,s,c,p){var v=p.children,S=o!==null?o.memoizedState:null;if(o===null&&s.stateNode===null&&(s.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),p.mode==="hidden"){if(s.flags&128){if(S=S!==null?S.baseLanes|c:c,o!==null){for(p=s.child=o.child,v=0;p!==null;)v=v|p.lanes|p.childLanes,p=p.sibling;p=v&~S}else p=0,s.child=null;return jC(o,s,S,c,p)}if(c&536870912)s.memoizedState={baseLanes:0,cachePool:null},o!==null&&Bt(s,S!==null?S.cachePool:null),S!==null?nr(s,S):Mr(),An(s);else return p=s.lanes=536870912,jC(o,s,S!==null?S.baseLanes|c:c,c,p)}else S!==null?(Bt(s,S.cachePool),nr(s,S),Zn(s),s.memoizedState=null):(o!==null&&Bt(s,null),Mr(),Zn(s));return si(o,s,v,c),s.child}function tf(o,s){return o!==null&&o.tag===22||s.stateNode!==null||(s.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),s.sibling}function jC(o,s,c,p,v){var S=G();return S=S===null?null:{parent:io?un._currentValue:un._currentValue2,pool:S},s.memoizedState={baseLanes:c,cachePool:S},o!==null&&Bt(s,null),Mr(),An(s),o!==null&&lt(o,s,p,!0),s.childLanes=v,null}function um(o,s){return s=dm({mode:s.mode,children:s.children},o.mode),s.ref=o.ref,o.child=s,s.return=o,s}function kC(o,s,c){return Cl(s,o.child,null,c),o=um(s,s.pendingProps),o.flags|=2,zi(s),s.memoizedState=null,o}function l5(o,s,c){var p=s.pendingProps,v=(s.flags&128)!==0;if(s.flags&=-129,o===null){if(Te){if(p.mode==="hidden")return o=um(s,p),s.lanes=536870912,tf(null,o);if(Ye(s),(o=ln)?(o=OB(o,Pa),o!==null&&(s.memoizedState={dehydrated:o,treeContext:es!==null?{id:Ir,overflow:Nr}:null,retryLane:536870912,hydrationErrors:null},c=UA(o),c.return=s,s.child=c,ui=s,ln=null)):o=null,o===null)throw Gt(s);return s.lanes=536870912,null}return um(s,p)}var S=o.memoizedState;if(S!==null){var O=S.dehydrated;if(Ye(s),v)if(s.flags&256)s.flags&=-257,s=kC(o,s,c);else if(s.memoizedState!==null)s.child=o.child,s.flags|=128,s=null;else throw Error(i(558));else if(On||lt(o,s,c,!1),v=(c&o.childLanes)!==0,On||v){if(p=ke,p!==null&&(O=H(p,c),O!==0&&O!==S.retryLane))throw S.retryLane=O,V(o,O),ji(p,o,O),hS;ym(),s=kC(o,s,c)}else o=S.treeContext,wi&&(ln=RB(O),ui=s,Te=!0,is=null,Pa=!1,o!==null&&te(s,o)),s=um(s,p),s.flags|=4096;return s}return o=no(o.child,{mode:p.mode,children:p.children}),o.ref=s.ref,s.child=o,o.return=s,o}function cm(o,s){var c=s.ref;if(c===null)o!==null&&o.ref!==null&&(s.flags|=4194816);else{if(typeof c!="function"&&typeof c!="object")throw Error(i(284));(o===null||o.ref!==c)&&(s.flags|=4194816)}}function pb(o,s,c,p,v){return Vt(s),c=J0(o,s,c,p,void 0,v),p=$0(),o!==null&&!On?(tb(o,s,v),$r(o,s,v)):(Te&&p&&qt(s),s.flags|=1,si(o,s,c,v),s.child)}function GC(o,s,c,p,v,S){return Vt(s),s.updateQueue=null,c=tC(s,p,c,v),$E(o),p=$0(),o!==null&&!On?(tb(o,s,S),$r(o,s,S)):(Te&&p&&qt(s),s.flags|=1,si(o,s,c,S),s.child)}function YC(o,s,c,p,v){if(Vt(s),s.stateNode===null){var S=Yu,O=c.contextType;typeof O=="object"&&O!==null&&(S=_(O)),S=new c(p,S),s.memoizedState=S.state!==null&&S.state!==void 0?S.state:null,S.updater=fS,s.stateNode=S,S._reactInternals=s,S=s.stateNode,S.props=p,S.state=s.memoizedState,S.refs={},ne(s),O=c.contextType,S.context=typeof O=="object"&&O!==null?_(O):Yu,S.state=s.memoizedState,O=c.getDerivedStateFromProps,typeof O=="function"&&(fb(s,c,O,p),S.state=s.memoizedState),typeof c.getDerivedStateFromProps=="function"||typeof S.getSnapshotBeforeUpdate=="function"||typeof S.UNSAFE_componentWillMount!="function"&&typeof S.componentWillMount!="function"||(O=S.state,typeof S.componentWillMount=="function"&&S.componentWillMount(),typeof S.UNSAFE_componentWillMount=="function"&&S.UNSAFE_componentWillMount(),O!==S.state&&fS.enqueueReplaceState(S,S.state,null),qn(s,p,S,v),en(),S.state=s.memoizedState),typeof S.componentDidMount=="function"&&(s.flags|=4194308),p=!0}else if(o===null){S=s.stateNode;var D=s.memoizedProps,tt=gl(c,D);S.props=tt;var dt=S.context,Et=c.contextType;O=Yu,typeof Et=="object"&&Et!==null&&(O=_(Et));var bt=c.getDerivedStateFromProps;Et=typeof bt=="function"||typeof S.getSnapshotBeforeUpdate=="function",D=s.pendingProps!==D,Et||typeof S.UNSAFE_componentWillReceiveProps!="function"&&typeof S.componentWillReceiveProps!="function"||(D||dt!==O)&&DC(s,S,p,O),as=!1;var _t=s.memoizedState;S.state=_t,qn(s,p,S,v),en(),dt=s.memoizedState,D||_t!==dt||as?(typeof bt=="function"&&(fb(s,c,bt,p),dt=s.memoizedState),(tt=as||LC(s,c,tt,p,_t,dt,O))?(Et||typeof S.UNSAFE_componentWillMount!="function"&&typeof S.componentWillMount!="function"||(typeof S.componentWillMount=="function"&&S.componentWillMount(),typeof S.UNSAFE_componentWillMount=="function"&&S.UNSAFE_componentWillMount()),typeof S.componentDidMount=="function"&&(s.flags|=4194308)):(typeof S.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=p,s.memoizedState=dt),S.props=p,S.state=dt,S.context=O,p=tt):(typeof S.componentDidMount=="function"&&(s.flags|=4194308),p=!1)}else{S=s.stateNode,$(o,s),O=s.memoizedProps,Et=gl(c,O),S.props=Et,bt=s.pendingProps,_t=S.context,dt=c.contextType,tt=Yu,typeof dt=="object"&&dt!==null&&(tt=_(dt)),D=c.getDerivedStateFromProps,(dt=typeof D=="function"||typeof S.getSnapshotBeforeUpdate=="function")||typeof S.UNSAFE_componentWillReceiveProps!="function"&&typeof S.componentWillReceiveProps!="function"||(O!==bt||_t!==tt)&&DC(s,S,p,tt),as=!1,_t=s.memoizedState,S.state=_t,qn(s,p,S,v),en();var oe=s.memoizedState;O!==bt||_t!==oe||as||o!==null&&o.dependencies!==null&&Tt(o.dependencies)?(typeof D=="function"&&(fb(s,c,D,p),oe=s.memoizedState),(Et=as||LC(s,c,Et,p,_t,oe,tt)||o!==null&&o.dependencies!==null&&Tt(o.dependencies))?(dt||typeof S.UNSAFE_componentWillUpdate!="function"&&typeof S.componentWillUpdate!="function"||(typeof S.componentWillUpdate=="function"&&S.componentWillUpdate(p,oe,tt),typeof S.UNSAFE_componentWillUpdate=="function"&&S.UNSAFE_componentWillUpdate(p,oe,tt)),typeof S.componentDidUpdate=="function"&&(s.flags|=4),typeof S.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof S.componentDidUpdate!="function"||O===o.memoizedProps&&_t===o.memoizedState||(s.flags|=4),typeof S.getSnapshotBeforeUpdate!="function"||O===o.memoizedProps&&_t===o.memoizedState||(s.flags|=1024),s.memoizedProps=p,s.memoizedState=oe),S.props=p,S.state=oe,S.context=tt,p=Et):(typeof S.componentDidUpdate!="function"||O===o.memoizedProps&&_t===o.memoizedState||(s.flags|=4),typeof S.getSnapshotBeforeUpdate!="function"||O===o.memoizedProps&&_t===o.memoizedState||(s.flags|=1024),p=!1)}return S=p,cm(o,s),p=(s.flags&128)!==0,S||p?(S=s.stateNode,c=p&&typeof c.getDerivedStateFromError!="function"?null:S.render(),s.flags|=1,o!==null&&p?(s.child=Cl(s,o.child,null,v),s.child=Cl(s,null,c,v)):si(o,s,c,v),s.memoizedState=S.state,o=s.child):o=$r(o,s,v),o}function XC(o,s,c,p){return fe(),s.flags|=256,si(o,s,c,p),s.child}function mb(o){return{baseLanes:o,cachePool:he()}}function gb(o,s,c){return o=o!==null?o.childLanes&~c:0,s&&(o|=ma),o}function QC(o,s,c){var p=s.pendingProps,v=!1,S=(s.flags&128)!==0,O;if((O=S)||(O=o!==null&&o.memoizedState===null?!1:(xn.current&2)!==0),O&&(v=!0,s.flags&=-129),O=(s.flags&32)!==0,s.flags&=-33,o===null){if(Te){if(v?pe(s):Zn(s),(o=ln)?(o=_B(o,Pa),o!==null&&(s.memoizedState={dehydrated:o,treeContext:es!==null?{id:Ir,overflow:Nr}:null,retryLane:536870912,hydrationErrors:null},c=UA(o),c.return=s,s.child=c,ui=s,ln=null)):o=null,o===null)throw Gt(s);return Wb(o)?s.lanes=32:s.lanes=536870912,null}var D=p.children;return p=p.fallback,v?(Zn(s),v=s.mode,D=dm({mode:"hidden",children:D},v),p=bl(p,v,c,null),D.return=s,p.return=s,D.sibling=p,s.child=D,p=s.child,p.memoizedState=mb(c),p.childLanes=gb(o,O,c),s.memoizedState=pS,tf(null,p)):(pe(s),yb(s,D))}var tt=o.memoizedState;if(tt!==null&&(D=tt.dehydrated,D!==null)){if(S)s.flags&256?(pe(s),s.flags&=-257,s=vb(o,s,c)):s.memoizedState!==null?(Zn(s),s.child=o.child,s.flags|=128,s=null):(Zn(s),D=p.fallback,v=s.mode,p=dm({mode:"visible",children:p.children},v),D=bl(D,v,c,null),D.flags|=2,p.return=s,D.return=s,p.sibling=D,s.child=p,Cl(s,o.child,null,c),p=s.child,p.memoizedState=mb(c),p.childLanes=gb(o,O,c),s.memoizedState=pS,s=tf(null,p));else if(pe(s),Wb(D))O=yB(D).digest,p=Error(i(419)),p.stack="",p.digest=O,tn({value:p,source:null,stack:null}),s=vb(o,s,c);else if(On||lt(o,s,c,!1),O=(c&o.childLanes)!==0,On||O){if(O=ke,O!==null&&(p=H(O,c),p!==0&&p!==tt.retryLane))throw tt.retryLane=p,V(o,p),ji(O,o,p),hS;Zb(D)||ym(),s=vb(o,s,c)}else Zb(D)?(s.flags|=192,s.child=o.child,s=null):(o=tt.treeContext,wi&&(ln=EB(D),ui=s,Te=!0,is=null,Pa=!1,o!==null&&te(s,o)),s=yb(s,p.children),s.flags|=4096);return s}return v?(Zn(s),D=p.fallback,v=s.mode,tt=o.child,S=tt.sibling,p=no(tt,{mode:"hidden",children:p.children}),p.subtreeFlags=tt.subtreeFlags&65011712,S!==null?D=no(S,D):(D=bl(D,v,c,null),D.flags|=2),D.return=s,p.return=s,p.sibling=D,s.child=p,tf(null,p),p=s.child,D=o.child.memoizedState,D===null?D=mb(c):(v=D.cachePool,v!==null?(tt=io?un._currentValue:un._currentValue2,v=v.parent!==tt?{parent:tt,pool:tt}:v):v=he(),D={baseLanes:D.baseLanes|c,cachePool:v}),p.memoizedState=D,p.childLanes=gb(o,O,c),s.memoizedState=pS,tf(o.child,p)):(pe(s),c=o.child,o=c.sibling,c=no(c,{mode:"visible",children:p.children}),c.return=s,c.sibling=null,o!==null&&(O=s.deletions,O===null?(s.deletions=[o],s.flags|=16):O.push(o)),s.child=c,s.memoizedState=null,c)}function yb(o,s){return s=dm({mode:"visible",children:s},o.mode),s.return=o,o.child=s}function dm(o,s){return o=e(22,o,null,s),o.lanes=0,o}function vb(o,s,c){return Cl(s,o.child,null,c),o=yb(s,s.pendingProps.children),o.flags|=2,s.memoizedState=null,o}function KC(o,s,c){o.lanes|=s;var p=o.alternate;p!==null&&(p.lanes|=s),oi(o.return,s,c)}function bb(o,s,c,p,v,S){var O=o.memoizedState;O===null?o.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:p,tail:c,tailMode:v,treeForkCount:S}:(O.isBackwards=s,O.rendering=null,O.renderingStartTime=0,O.last=p,O.tail=c,O.tailMode=v,O.treeForkCount=S)}function ZC(o,s,c){var p=s.pendingProps,v=p.revealOrder,S=p.tail;p=p.children;var O=xn.current,D=(O&2)!==0;if(D?(O=O&1|2,s.flags|=128):O&=1,g(xn,O),si(o,s,p,c),p=Te?ff:0,!D&&o!==null&&o.flags&128)t:for(o=s.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&KC(o,c,s);else if(o.tag===19)KC(o,c,s);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===s)break t;for(;o.sibling===null;){if(o.return===null||o.return===s)break t;o=o.return}o.sibling.return=o.return,o=o.sibling}switch(v){case"forwards":for(c=s.child,v=null;c!==null;)o=c.alternate,o!==null&&Pu(o)===null&&(v=c),c=c.sibling;c=v,c===null?(v=s.child,s.child=null):(v=c.sibling,c.sibling=null),bb(s,!1,v,c,S,p);break;case"backwards":case"unstable_legacy-backwards":for(c=null,v=s.child,s.child=null;v!==null;){if(o=v.alternate,o!==null&&Pu(o)===null){s.child=v;break}o=v.sibling,v.sibling=c,c=v,v=o}bb(s,!0,c,null,S,p);break;case"together":bb(s,!1,null,null,void 0,p);break;default:s.memoizedState=null}return s.child}function $r(o,s,c){if(o!==null&&(s.dependencies=o.dependencies),os|=s.lanes,!(c&s.childLanes))if(o!==null){if(lt(o,s,c,!1),(c&s.childLanes)===0)return null}else return null;if(o!==null&&s.child!==o.child)throw Error(i(153));if(s.child!==null){for(o=s.child,c=no(o,o.pendingProps),s.child=c,c.return=s;o.sibling!==null;)o=o.sibling,c=c.sibling=no(o,o.pendingProps),c.return=s;c.sibling=null}return s.child}function Sb(o,s){return o.lanes&s?!0:(o=o.dependencies,!!(o!==null&&Tt(o)))}function u5(o,s,c){switch(s.tag){case 3:ue(s,s.stateNode.containerInfo),Jt(s,un,o.memoizedState.cache),fe();break;case 27:case 5:Ht(s);break;case 4:ue(s,s.stateNode.containerInfo);break;case 10:Jt(s,s.type,s.memoizedProps.value);break;case 31:if(s.memoizedState!==null)return s.flags|=128,Ye(s),null;break;case 13:var p=s.memoizedState;if(p!==null)return p.dehydrated!==null?(pe(s),s.flags|=128,null):c&s.child.childLanes?QC(o,s,c):(pe(s),o=$r(o,s,c),o!==null?o.sibling:null);pe(s);break;case 19:var v=(o.flags&128)!==0;if(p=(c&s.childLanes)!==0,p||(lt(o,s,c,!1),p=(c&s.childLanes)!==0),v){if(p)return ZC(o,s,c);s.flags|=128}if(v=s.memoizedState,v!==null&&(v.rendering=null,v.tail=null,v.lastEffect=null),g(xn,xn.current),p)break;return null;case 22:return s.lanes=0,qC(o,s,c,s.pendingProps);case 24:Jt(s,un,o.memoizedState.cache)}return $r(o,s,c)}function WC(o,s,c){if(o!==null)if(o.memoizedProps!==s.pendingProps)On=!0;else{if(!Sb(o,c)&&!(s.flags&128))return On=!1,u5(o,s,c);On=!!(o.flags&131072)}else On=!1,Te&&s.flags&1048576&&Mt(s,ff,s.index);switch(s.lanes=0,s.tag){case 16:t:{var p=s.pendingProps;if(o=Cn(s.elementType),s.type=o,typeof o=="function")Bb(o)?(p=gl(o,p),s.tag=1,s=YC(null,s,o,p,c)):(s.tag=0,s=pb(null,s,o,p,c));else{if(o!=null){var v=o.$$typeof;if(v===jb){s.tag=11,s=FC(null,s,o,p,c);break t}else if(v===Yb){s.tag=14,s=VC(null,s,o,p,c);break t}}throw s=d(o)||o,Error(i(306,s,""))}}return s;case 0:return pb(o,s,s.type,s.pendingProps,c);case 1:return p=s.type,v=gl(p,s.pendingProps),YC(o,s,p,v,c);case 3:t:{if(ue(s,s.stateNode.containerInfo),o===null)throw Error(i(387));var S=s.pendingProps;v=s.memoizedState,p=v.element,$(o,s),qn(s,S,null,c);var O=s.memoizedState;if(S=O.cache,Jt(s,un,S),S!==v.cache&&Un(s,[un],c,!0),en(),S=O.element,wi&&v.isDehydrated)if(v={element:S,isDehydrated:!1,cache:O.cache},s.updateQueue.baseState=v,s.memoizedState=v,s.flags&256){s=XC(o,s,S,c);break t}else if(S!==p){p=Y(Error(i(424)),s),tn(p),s=XC(o,s,S,c);break t}else for(wi&&(ln=TB(s.stateNode.containerInfo),ui=s,Te=!0,is=null,Pa=!0),c=R2(s,null,S,c),s.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{if(fe(),S===p){s=$r(o,s,c);break t}si(o,s,S,c)}s=s.child}return s;case 26:if(or)return cm(o,s),o===null?(c=c2(s.type,null,s.pendingProps,null))?s.memoizedState=c:Te||(s.stateNode=ZB(s.type,s.pendingProps,ns.current,s)):s.memoizedState=c2(s.type,o.memoizedProps,s.pendingProps,o.memoizedState),null;case 27:if(jn)return Ht(s),o===null&&jn&&Te&&(p=s.stateNode=g2(s.type,s.pendingProps,ns.current,li.current,!1),ui=s,Pa=!0,ln=CB(s.type,p,ln)),si(o,s,s.pendingProps.children,c),cm(o,s),o===null&&(s.flags|=4194304),s.child;case 5:return o===null&&Te&&(XB(s.type,s.pendingProps,li.current),(v=p=ln)&&(p=AB(p,s.type,s.pendingProps,Pa),p!==null?(s.stateNode=p,ui=s,ln=wB(p),Pa=!1,v=!0):v=!1),v||Gt(s)),Ht(s),v=s.type,S=s.pendingProps,O=o!==null?o.memoizedProps:null,p=S.children,wm(v,S)?p=null:O!==null&&wm(v,O)&&(s.flags|=32),s.memoizedState!==null&&(v=J0(o,s,e5,null,null,c),io?xl._currentValue=v:xl._currentValue2=v),cm(o,s),si(o,s,p,c),s.child;case 6:return o===null&&Te&&(QB(s.pendingProps,li.current),(o=c=ln)&&(c=MB(c,s.pendingProps,Pa),c!==null?(s.stateNode=c,ui=s,ln=null,o=!0):o=!1),o||Gt(s)),null;case 13:return QC(o,s,c);case 4:return ue(s,s.stateNode.containerInfo),p=s.pendingProps,o===null?s.child=Cl(s,null,p,c):si(o,s,p,c),s.child;case 11:return FC(o,s,s.type,s.pendingProps,c);case 7:return si(o,s,s.pendingProps,c),s.child;case 8:return si(o,s,s.pendingProps.children,c),s.child;case 12:return si(o,s,s.pendingProps.children,c),s.child;case 10:return p=s.pendingProps,Jt(s,s.type,p.value),si(o,s,p.children,c),s.child;case 9:return v=s.type._context,p=s.pendingProps.children,Vt(s),v=_(v),p=p(v),s.flags|=1,si(o,s,p,c),s.child;case 14:return VC(o,s,s.type,s.pendingProps,c);case 15:return UC(o,s,s.type,s.pendingProps,c);case 19:return ZC(o,s,c);case 31:return l5(o,s,c);case 22:return qC(o,s,c,s.pendingProps);case 24:return Vt(s),p=_(un),o===null?(v=G(),v===null&&(v=ke,S=ht(),v.pooledCache=S,S.refCount++,S!==null&&(v.pooledCacheLanes|=c),v=S),s.memoizedState={parent:p,cache:v},ne(s),Jt(s,un,v)):(o.lanes&c&&($(o,s),qn(s,null,null,c),en()),v=o.memoizedState,S=s.memoizedState,v.parent!==p?(v={parent:p,cache:p},s.memoizedState=v,s.lanes===0&&(s.memoizedState=s.updateQueue.baseState=v),Jt(s,un,p)):(p=S.cache,Jt(s,un,p),p!==v.cache&&Un(s,[un],c,!0))),si(o,s,s.pendingProps.children,c),s.child;case 29:throw s.pendingProps}throw Error(i(156,s.tag))}function ir(o){o.flags|=4}function fm(o){zr&&(o.flags|=8)}function JC(o,s){if(o!==null&&o.child===s.child)return!1;if(s.flags&16)return!0;for(o=s.child;o!==null;){if(o.flags&8218||o.subtreeFlags&8218)return!0;o=o.sibling}return!1}function xb(o,s,c,p){if(xi)for(c=s.child;c!==null;){if(c.tag===5||c.tag===6)Qb(o,c.stateNode);else if(!(c.tag===4||jn&&c.tag===27)&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===s)break;for(;c.sibling===null;){if(c.return===null||c.return===s)return;c=c.return}c.sibling.return=c.return,c=c.sibling}else if(zr)for(var v=s.child;v!==null;){if(v.tag===5){var S=v.stateNode;c&&p&&(S=r2(S,v.type,v.memoizedProps)),Qb(o,S)}else if(v.tag===6)S=v.stateNode,c&&p&&(S=o2(S,v.memoizedProps)),Qb(o,S);else if(v.tag!==4){if(v.tag===22&&v.memoizedState!==null)S=v.child,S!==null&&(S.return=v),xb(o,v,!0,!0);else if(v.child!==null){v.child.return=v,v=v.child;continue}}if(v===s)break;for(;v.sibling===null;){if(v.return===null||v.return===s)return;v=v.return}v.sibling.return=v.return,v=v.sibling}}function $C(o,s,c,p){var v=!1;if(zr)for(var S=s.child;S!==null;){if(S.tag===5){var O=S.stateNode;c&&p&&(O=r2(O,S.type,S.memoizedProps)),i2(o,O)}else if(S.tag===6)O=S.stateNode,c&&p&&(O=o2(O,S.memoizedProps)),i2(o,O);else if(S.tag!==4){if(S.tag===22&&S.memoizedState!==null)v=S.child,v!==null&&(v.return=S),$C(o,S,!0,!0),v=!0;else if(S.child!==null){S.child.return=S,S=S.child;continue}}if(S===s)break;for(;S.sibling===null;){if(S.return===null||S.return===s)return v;S=S.return}S.sibling.return=S.return,S=S.sibling}return v}function tA(o,s){if(zr&&JC(o,s)){o=s.stateNode;var c=o.containerInfo,p=n2();$C(p,s,!1,!1),o.pendingChildren=p,ir(s),gB(c,p)}}function wb(o,s,c,p){if(xi)o.memoizedProps!==p&&ir(s);else if(zr){var v=o.stateNode,S=o.memoizedProps;if((o=JC(o,s))||S!==p){var O=li.current;S=mB(v,c,S,p,!o,null),S===v?s.stateNode=v:(fm(s),WA(S,c,p,O)&&ir(s),s.stateNode=S,o&&xb(S,s,!1,!1))}else s.stateNode=v}}function Tb(o,s,c,p,v){if(o.mode&32&&(c===null?q5(s,p):j5(s,c,p))){if(o.flags|=16777216,(v&335544128)===v||Kb(s,p))if($A(o.stateNode,s,p))o.flags|=8192;else if(CA())o.flags|=8192;else throw El=Nm,lS}else o.flags&=-16777217}function eA(o,s){if(JB(s)){if(o.flags|=16777216,!m2(s))if(CA())o.flags|=8192;else throw El=Nm,lS}else o.flags&=-16777217}function hm(o,s){s!==null&&(o.flags|=4),o.flags&16384&&(s=o.tag!==22?R():536870912,o.lanes|=s,oc|=s)}function ef(o,s){if(!Te)switch(o.tailMode){case"hidden":s=o.tail;for(var c=null;s!==null;)s.alternate!==null&&(c=s),s=s.sibling;c===null?o.tail=null:c.sibling=null;break;case"collapsed":c=o.tail;for(var p=null;c!==null;)c.alternate!==null&&(p=c),c=c.sibling;p===null?s||o.tail===null?o.tail=null:o.tail.sibling=null:p.sibling=null}}function Ke(o){var s=o.alternate!==null&&o.alternate.child===o.child,c=0,p=0;if(s)for(var v=o.child;v!==null;)c|=v.lanes|v.childLanes,p|=v.subtreeFlags&65011712,p|=v.flags&65011712,v.return=o,v=v.sibling;else for(v=o.child;v!==null;)c|=v.lanes|v.childLanes,p|=v.subtreeFlags,p|=v.flags,v.return=o,v=v.sibling;return o.subtreeFlags|=p,o.childLanes=c,s}function c5(o,s,c){var p=s.pendingProps;switch(Kt(s),s.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ke(s),null;case 1:return Ke(s),null;case 3:return c=s.stateNode,p=null,o!==null&&(p=o.memoizedState.cache),s.memoizedState.cache!==p&&(s.flags|=2048),ze(un),ft(),c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),(o===null||o.child===null)&&(Zt(s)?ir(s):o===null||o.memoizedState.isDehydrated&&!(s.flags&256)||(s.flags|=1024,Ft())),tA(o,s),Ke(s),null;case 26:if(or){var v=s.type,S=s.memoizedState;return o===null?(ir(s),S!==null?(Ke(s),eA(s,S)):(Ke(s),Tb(s,v,null,p,c))):S?S!==o.memoizedState?(ir(s),Ke(s),eA(s,S)):(Ke(s),s.flags&=-16777217):(S=o.memoizedProps,xi?S!==p&&ir(s):wb(o,s,v,p),Ke(s),Tb(s,v,S,p,c)),null}case 27:if(jn){if(ee(s),c=ns.current,v=s.type,o!==null&&s.stateNode!=null)xi?o.memoizedProps!==p&&ir(s):wb(o,s,v,p);else{if(!p){if(s.stateNode===null)throw Error(i(166));return Ke(s),null}o=li.current,Zt(s)?re(s,o):(o=g2(v,p,c,o,!0),s.stateNode=o,ir(s))}return Ke(s),null}case 5:if(ee(s),v=s.type,o!==null&&s.stateNode!=null)wb(o,s,v,p);else{if(!p){if(s.stateNode===null)throw Error(i(166));return Ke(s),null}if(S=li.current,Zt(s))re(s,S),UB(s.stateNode,v,p,S)&&(s.flags|=64);else{var O=L5(v,p,ns.current,S,s);fm(s),xb(O,s,!1,!1),s.stateNode=O,WA(O,v,p,S)&&ir(s)}}return Ke(s),Tb(s,s.type,o===null?null:o.memoizedProps,s.pendingProps,c),null;case 6:if(o&&s.stateNode!=null)c=o.memoizedProps,xi?c!==p&&ir(s):zr&&(c!==p?(o=ns.current,c=li.current,fm(s),s.stateNode=JA(p,o,c,s)):s.stateNode=o.stateNode);else{if(typeof p!="string"&&s.stateNode===null)throw Error(i(166));if(o=ns.current,c=li.current,Zt(s)){if(!wi)throw Error(i(176));if(o=s.stateNode,c=s.memoizedProps,p=null,v=ui,v!==null)switch(v.tag){case 27:case 5:p=v.memoizedProps}IB(o,c,s,p)||Gt(s,!0)}else fm(s),s.stateNode=JA(p,o,c,s)}return Ke(s),null;case 31:if(c=s.memoizedState,o===null||o.memoizedState!==null){if(p=Zt(s),c!==null){if(o===null){if(!p)throw Error(i(318));if(!wi)throw Error(i(556));if(o=s.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(i(557));NB(o,s)}else fe(),!(s.flags&128)&&(s.memoizedState=null),s.flags|=4;Ke(s),o=!1}else c=Ft(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=c),o=!0;if(!o)return s.flags&256?(zi(s),s):(zi(s),null);if(s.flags&128)throw Error(i(558))}return Ke(s),null;case 13:if(p=s.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(v=Zt(s),p!==null&&p.dehydrated!==null){if(o===null){if(!v)throw Error(i(318));if(!wi)throw Error(i(344));if(v=s.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(i(317));LB(v,s)}else fe(),!(s.flags&128)&&(s.memoizedState=null),s.flags|=4;Ke(s),v=!1}else v=Ft(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=v),v=!0;if(!v)return s.flags&256?(zi(s),s):(zi(s),null)}return zi(s),s.flags&128?(s.lanes=c,s):(c=p!==null,o=o!==null&&o.memoizedState!==null,c&&(p=s.child,v=null,p.alternate!==null&&p.alternate.memoizedState!==null&&p.alternate.memoizedState.cachePool!==null&&(v=p.alternate.memoizedState.cachePool.pool),S=null,p.memoizedState!==null&&p.memoizedState.cachePool!==null&&(S=p.memoizedState.cachePool.pool),S!==v&&(p.flags|=2048)),c!==o&&c&&(s.child.flags|=8192),hm(s,s.updateQueue),Ke(s),null);case 4:return ft(),tA(o,s),o===null&&H5(s.stateNode.containerInfo),Ke(s),null;case 10:return ze(s.type),Ke(s),null;case 19:if(y(xn),p=s.memoizedState,p===null)return Ke(s),null;if(v=(s.flags&128)!==0,S=p.rendering,S===null)if(v)ef(p,!1);else{if(pn!==0||o!==null&&o.flags&128)for(o=s.child;o!==null;){if(S=Pu(o),S!==null){for(s.flags|=128,ef(p,!1),o=S.updateQueue,s.updateQueue=o,hm(s,o),s.subtreeFlags=0,o=c,c=s.child;c!==null;)VA(c,o),c=c.sibling;return g(xn,xn.current&1|2),Te&&yt(s,p.treeForkCount),s.child}o=o.sibling}p.tail!==null&&ki()>Sf&&(s.flags|=128,v=!0,ef(p,!1),s.lanes=4194304)}else{if(!v)if(o=Pu(S),o!==null){if(s.flags|=128,v=!0,o=o.updateQueue,s.updateQueue=o,hm(s,o),ef(p,!0),p.tail===null&&p.tailMode==="hidden"&&!S.alternate&&!Te)return Ke(s),null}else 2*ki()-p.renderingStartTime>Sf&&c!==536870912&&(s.flags|=128,v=!0,ef(p,!1),s.lanes=4194304);p.isBackwards?(S.sibling=s.child,s.child=S):(o=p.last,o!==null?o.sibling=S:s.child=S,p.last=S)}return p.tail!==null?(o=p.tail,p.rendering=o,p.tail=o.sibling,p.renderingStartTime=ki(),o.sibling=null,c=xn.current,g(xn,v?c&1|2:c&1),Te&&yt(s,p.treeForkCount),o):(Ke(s),null);case 22:case 23:return zi(s),ie(),p=s.memoizedState!==null,o!==null?o.memoizedState!==null!==p&&(s.flags|=8192):p&&(s.flags|=8192),p?c&536870912&&!(s.flags&128)&&(Ke(s),s.subtreeFlags&6&&(s.flags|=8192)):Ke(s),c=s.updateQueue,c!==null&&hm(s,c.retryQueue),c=null,o!==null&&o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(c=o.memoizedState.cachePool.pool),p=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(p=s.memoizedState.cachePool.pool),p!==c&&(s.flags|=2048),o!==null&&y(Rl),null;case 24:return c=null,o!==null&&(c=o.memoizedState.cache),s.memoizedState.cache!==c&&(s.flags|=2048),ze(un),Ke(s),null;case 25:return null;case 30:return null}throw Error(i(156,s.tag))}function d5(o,s){switch(Kt(s),s.tag){case 1:return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 3:return ze(un),ft(),o=s.flags,o&65536&&!(o&128)?(s.flags=o&-65537|128,s):null;case 26:case 27:case 5:return ee(s),null;case 31:if(s.memoizedState!==null){if(zi(s),s.alternate===null)throw Error(i(340));fe()}return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 13:if(zi(s),o=s.memoizedState,o!==null&&o.dehydrated!==null){if(s.alternate===null)throw Error(i(340));fe()}return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 19:return y(xn),null;case 4:return ft(),null;case 10:return ze(s.type),null;case 22:case 23:return zi(s),ie(),o!==null&&y(Rl),o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 24:return ze(un),null;case 25:return null;default:return null}}function nA(o,s){switch(Kt(s),s.tag){case 3:ze(un),ft();break;case 26:case 27:case 5:ee(s);break;case 4:ft();break;case 31:s.memoizedState!==null&&zi(s);break;case 13:zi(s);break;case 19:y(xn);break;case 10:ze(s.type);break;case 22:case 23:zi(s),ie(),o!==null&&y(Rl);break;case 24:ze(un)}}function nf(o,s){try{var c=s.updateQueue,p=c!==null?c.lastEffect:null;if(p!==null){var v=p.next;c=v;do{if((c.tag&o)===o){p=void 0;var S=c.create,O=c.inst;p=S(),O.destroy=p}c=c.next}while(c!==v)}}catch(D){Ae(s,s.return,D)}}function Wo(o,s,c){try{var p=s.updateQueue,v=p!==null?p.lastEffect:null;if(v!==null){var S=v.next;p=S;do{if((p.tag&o)===o){var O=p.inst,D=O.destroy;if(D!==void 0){O.destroy=void 0,v=s;var tt=c,dt=D;try{dt()}catch(Et){Ae(v,tt,Et)}}}p=p.next}while(p!==S)}}catch(Et){Ae(s,s.return,Et)}}function iA(o){var s=o.updateQueue;if(s!==null){var c=o.stateNode;try{Wr(s,c)}catch(p){Ae(o,o.return,p)}}}function aA(o,s,c){c.props=gl(o.type,o.memoizedProps),c.state=o.memoizedState;try{c.componentWillUnmount()}catch(p){Ae(o,s,p)}}function af(o,s){try{var c=o.ref;if(c!==null){switch(o.tag){case 26:case 27:case 5:var p=lf(o.stateNode);break;case 30:p=o.stateNode;break;default:p=o.stateNode}typeof c=="function"?o.refCleanup=c(p):c.current=p}}catch(v){Ae(o,s,v)}}function _r(o,s){var c=o.ref,p=o.refCleanup;if(c!==null)if(typeof p=="function")try{p()}catch(v){Ae(o,s,v)}finally{o.refCleanup=null,o=o.alternate,o!=null&&(o.refCleanup=null)}else if(typeof c=="function")try{c(null)}catch(v){Ae(o,s,v)}else c.current=null}function rA(o){var s=o.type,c=o.memoizedProps,p=o.stateNode;try{aB(p,s,c,o)}catch(v){Ae(o,o.return,v)}}function Rb(o,s,c){try{rB(o.stateNode,o.type,c,s,o)}catch(p){Ae(o,o.return,p)}}function oA(o){return o.tag===5||o.tag===3||(or?o.tag===26:!1)||(jn?o.tag===27&&ku(o.type):!1)||o.tag===4}function Eb(o){t:for(;;){for(;o.sibling===null;){if(o.return===null||oA(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(jn&&o.tag===27&&ku(o.type)||o.flags&2||o.child===null||o.tag===4)continue t;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function Cb(o,s,c){var p=o.tag;if(p===5||p===6)o=o.stateNode,s?sB(c,o,s):nB(c,o);else if(p!==4&&(jn&&p===27&&ku(o.type)&&(c=o.stateNode,s=null),o=o.child,o!==null))for(Cb(o,s,c),o=o.sibling;o!==null;)Cb(o,s,c),o=o.sibling}function pm(o,s,c){var p=o.tag;if(p===5||p===6)o=o.stateNode,s?oB(c,o,s):eB(c,o);else if(p!==4&&(jn&&p===27&&ku(o.type)&&(c=o.stateNode),o=o.child,o!==null))for(pm(o,s,c),o=o.sibling;o!==null;)pm(o,s,c),o=o.sibling}function sA(o,s,c){o=o.containerInfo;try{a2(o,c)}catch(p){Ae(s,s.return,p)}}function lA(o){var s=o.stateNode,c=o.memoizedProps;try{t6(o.type,c,s,o)}catch(p){Ae(o,o.return,p)}}function f5(o,s){for(I5(o.containerInfo),Jn=s;Jn!==null;)if(o=Jn,s=o.child,(o.subtreeFlags&1028)!==0&&s!==null)s.return=o,Jn=s;else for(;Jn!==null;){o=Jn;var c=o.alternate;switch(s=o.flags,o.tag){case 0:if(s&4&&(s=o.updateQueue,s=s!==null?s.events:null,s!==null))for(var p=0;p<s.length;p++){var v=s[p];v.ref.impl=v.nextImpl}break;case 11:case 15:break;case 1:if(s&1024&&c!==null){s=void 0,p=o,v=c.memoizedProps,c=c.memoizedState;var S=p.stateNode;try{var O=gl(p.type,v);s=S.getSnapshotBeforeUpdate(O,c),S.__reactInternalSnapshotBeforeUpdate=s}catch(D){Ae(p,p.return,D)}}break;case 3:s&1024&&xi&&pB(o.stateNode.containerInfo);break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(s&1024)throw Error(i(163))}if(s=o.sibling,s!==null){s.return=o.return,Jn=s;break}Jn=o.return}}function uA(o,s,c){var p=c.flags;switch(c.tag){case 0:case 11:case 15:to(o,c),p&4&&nf(5,c);break;case 1:if(to(o,c),p&4)if(o=c.stateNode,s===null)try{o.componentDidMount()}catch(O){Ae(c,c.return,O)}else{var v=gl(c.type,s.memoizedProps);s=s.memoizedState;try{o.componentDidUpdate(v,s,o.__reactInternalSnapshotBeforeUpdate)}catch(O){Ae(c,c.return,O)}}p&64&&iA(c),p&512&&af(c,c.return);break;case 3:if(to(o,c),p&64&&(p=c.updateQueue,p!==null)){if(o=null,c.child!==null)switch(c.child.tag){case 27:case 5:o=lf(c.child.stateNode);break;case 1:o=c.child.stateNode}try{Wr(p,o)}catch(O){Ae(c,c.return,O)}}break;case 27:jn&&s===null&&p&4&&lA(c);case 26:case 5:if(to(o,c),s===null){if(p&4)rA(c);else if(p&64){o=c.type,s=c.memoizedProps,v=c.stateNode;try{BB(v,o,s,c)}catch(O){Ae(c,c.return,O)}}}p&512&&af(c,c.return);break;case 12:to(o,c);break;case 31:to(o,c),p&4&&dA(o,c);break;case 13:to(o,c),p&4&&fA(o,c),p&64&&(p=c.memoizedState,p!==null&&(p=p.dehydrated,p!==null&&(c=b5.bind(null,c),vB(p,c))));break;case 22:if(p=c.memoizedState!==null||so,!p){s=s!==null&&s.memoizedState!==null||_n,v=so;var S=_n;so=p,(_n=s)&&!S?eo(o,c,(c.subtreeFlags&8772)!==0):to(o,c),so=v,_n=S}break;case 30:break;default:to(o,c)}}function cA(o){var s=o.alternate;s!==null&&(o.alternate=null,cA(s)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(s=o.stateNode,s!==null&&U5(s)),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function ar(o,s,c){for(c=c.child;c!==null;)Ab(o,s,c),c=c.sibling}function Ab(o,s,c){if(da&&typeof da.onCommitFiberUnmount=="function")try{da.onCommitFiberUnmount(df,c)}catch{}switch(c.tag){case 26:if(or){_n||_r(c,s),ar(o,s,c),c.memoizedState?f2(c.memoizedState):c.stateNode&&p2(c.stateNode);break}case 27:if(jn){_n||_r(c,s);var p=zn,v=Gi;ku(c.type)&&(zn=c.stateNode,Gi=!1),ar(o,s,c),y2(c.stateNode),zn=p,Gi=v;break}case 5:_n||_r(c,s);case 6:if(xi){if(p=zn,v=Gi,zn=null,ar(o,s,c),zn=p,Gi=v,zn!==null)if(Gi)try{uB(zn,c.stateNode)}catch(S){Ae(c,s,S)}else try{lB(zn,c.stateNode)}catch(S){Ae(c,s,S)}}else ar(o,s,c);break;case 18:xi&&zn!==null&&(Gi?kB(zn,c.stateNode):jB(zn,c.stateNode));break;case 4:xi?(p=zn,v=Gi,zn=c.stateNode.containerInfo,Gi=!0,ar(o,s,c),zn=p,Gi=v):(zr&&sA(c.stateNode,c,n2()),ar(o,s,c));break;case 0:case 11:case 14:case 15:Wo(2,c,s),_n||Wo(4,c,s),ar(o,s,c);break;case 1:_n||(_r(c,s),p=c.stateNode,typeof p.componentWillUnmount=="function"&&aA(c,s,p)),ar(o,s,c);break;case 21:ar(o,s,c);break;case 22:_n=(p=_n)||c.memoizedState!==null,ar(o,s,c),_n=p;break;default:ar(o,s,c)}}function dA(o,s){if(wi&&s.memoizedState===null&&(o=s.alternate,o!==null&&(o=o.memoizedState,o!==null))){o=o.dehydrated;try{FB(o)}catch(c){Ae(s,s.return,c)}}}function fA(o,s){if(wi&&s.memoizedState===null&&(o=s.alternate,o!==null&&(o=o.memoizedState,o!==null&&(o=o.dehydrated,o!==null))))try{VB(o)}catch(c){Ae(s,s.return,c)}}function h5(o){switch(o.tag){case 31:case 13:case 19:var s=o.stateNode;return s===null&&(s=o.stateNode=new A2),s;case 22:return o=o.stateNode,s=o._retryCache,s===null&&(s=o._retryCache=new A2),s;default:throw Error(i(435,o.tag))}}function mm(o,s){var c=h5(o);s.forEach(function(p){if(!c.has(p)){c.add(p);var v=S5.bind(null,o,p);p.then(v,v)}})}function Si(o,s){var c=s.deletions;if(c!==null)for(var p=0;p<c.length;p++){var v=c[p],S=o,O=s;if(xi){var D=O;t:for(;D!==null;){switch(D.tag){case 27:if(jn){if(ku(D.type)){zn=D.stateNode,Gi=!1;break t}break}case 5:zn=D.stateNode,Gi=!1;break t;case 3:case 4:zn=D.stateNode.containerInfo,Gi=!0;break t}D=D.return}if(zn===null)throw Error(i(160));Ab(S,O,v),zn=null,Gi=!1}else Ab(S,O,v);S=v.alternate,S!==null&&(S.return=null),v.return=null}if(s.subtreeFlags&13886)for(s=s.child;s!==null;)hA(s,o),s=s.sibling}function hA(o,s){var c=o.alternate,p=o.flags;switch(o.tag){case 0:case 11:case 14:case 15:Si(s,o),Ni(o),p&4&&(Wo(3,o,o.return),nf(3,o),Wo(5,o,o.return));break;case 1:Si(s,o),Ni(o),p&512&&(_n||c===null||_r(c,c.return)),p&64&&so&&(o=o.updateQueue,o!==null&&(p=o.callbacks,p!==null&&(c=o.shared.hiddenCallbacks,o.shared.hiddenCallbacks=c===null?p:c.concat(p))));break;case 26:if(or){var v=sr;if(Si(s,o),Ni(o),p&512&&(_n||c===null||_r(c,c.return)),p&4){p=c!==null?c.memoizedState:null;var S=o.memoizedState;c===null?S===null?o.stateNode===null?o.stateNode=KB(v,o.type,o.memoizedProps,o):h2(v,o.type,o.stateNode):o.stateNode=d2(v,S,o.memoizedProps):p!==S?(p===null?c.stateNode!==null&&p2(c.stateNode):f2(p),S===null?h2(v,o.type,o.stateNode):d2(v,S,o.memoizedProps)):S===null&&o.stateNode!==null&&Rb(o,o.memoizedProps,c.memoizedProps)}break}case 27:if(jn){Si(s,o),Ni(o),p&512&&(_n||c===null||_r(c,c.return)),c!==null&&p&4&&Rb(o,o.memoizedProps,c.memoizedProps);break}case 5:if(Si(s,o),Ni(o),p&512&&(_n||c===null||_r(c,c.return)),xi){if(o.flags&32){v=o.stateNode;try{e2(v)}catch(bt){Ae(o,o.return,bt)}}p&4&&o.stateNode!=null&&(v=o.memoizedProps,Rb(o,v,c!==null?c.memoizedProps:v)),p&1024&&(mS=!0)}else zr&&o.alternate!==null&&(o.alternate.stateNode=o.stateNode);break;case 6:if(Si(s,o),Ni(o),p&4&&xi){if(o.stateNode===null)throw Error(i(162));p=o.memoizedProps,c=c!==null?c.memoizedProps:p,v=o.stateNode;try{iB(v,c,p)}catch(bt){Ae(o,o.return,bt)}}break;case 3:if(or?(WB(),v=sr,sr=Jb(s.containerInfo),Si(s,o),sr=v):Si(s,o),Ni(o),p&4){if(xi&&wi&&c!==null&&c.memoizedState.isDehydrated)try{HB(s.containerInfo)}catch(bt){Ae(o,o.return,bt)}if(zr){p=s.containerInfo,c=s.pendingChildren;try{a2(p,c)}catch(bt){Ae(o,o.return,bt)}}}mS&&(mS=!1,pA(o));break;case 4:or?(c=sr,sr=Jb(o.stateNode.containerInfo),Si(s,o),Ni(o),sr=c):(Si(s,o),Ni(o)),p&4&&zr&&sA(o.stateNode,o,o.stateNode.pendingChildren);break;case 12:Si(s,o),Ni(o);break;case 31:Si(s,o),Ni(o),p&4&&(p=o.updateQueue,p!==null&&(o.updateQueue=null,mm(o,p)));break;case 13:Si(s,o),Ni(o),o.child.flags&8192&&o.memoizedState!==null!=(c!==null&&c.memoizedState!==null)&&(qm=ki()),p&4&&(p=o.updateQueue,p!==null&&(o.updateQueue=null,mm(o,p)));break;case 22:v=o.memoizedState!==null;var O=c!==null&&c.memoizedState!==null,D=so,tt=_n;if(so=D||v,_n=tt||O,Si(s,o),_n=tt,so=D,Ni(o),p&8192&&(s=o.stateNode,s._visibility=v?s._visibility&-2:s._visibility|1,v&&(c===null||O||so||_n||yl(o)),xi)){t:if(c=null,xi)for(s=o;;){if(s.tag===5||or&&s.tag===26){if(c===null){O=c=s;try{S=O.stateNode,v?cB(S):fB(O.stateNode,O.memoizedProps)}catch(bt){Ae(O,O.return,bt)}}}else if(s.tag===6){if(c===null){O=s;try{var dt=O.stateNode;v?dB(dt):hB(dt,O.memoizedProps)}catch(bt){Ae(O,O.return,bt)}}}else if(s.tag===18){if(c===null){O=s;try{var Et=O.stateNode;v?GB(Et):YB(O.stateNode)}catch(bt){Ae(O,O.return,bt)}}}else if((s.tag!==22&&s.tag!==23||s.memoizedState===null||s===o)&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===o)break t;for(;s.sibling===null;){if(s.return===null||s.return===o)break t;c===s&&(c=null),s=s.return}c===s&&(c=null),s.sibling.return=s.return,s=s.sibling}}p&4&&(p=o.updateQueue,p!==null&&(c=p.retryQueue,c!==null&&(p.retryQueue=null,mm(o,c))));break;case 19:Si(s,o),Ni(o),p&4&&(p=o.updateQueue,p!==null&&(o.updateQueue=null,mm(o,p)));break;case 30:break;case 21:break;default:Si(s,o),Ni(o)}}function Ni(o){var s=o.flags;if(s&2){try{for(var c,p=o.return;p!==null;){if(oA(p)){c=p;break}p=p.return}if(xi){if(c==null)throw Error(i(160));switch(c.tag){case 27:if(jn){var v=c.stateNode,S=Eb(o);pm(o,S,v);break}case 5:var O=c.stateNode;c.flags&32&&(e2(O),c.flags&=-33);var D=Eb(o);pm(o,D,O);break;case 3:case 4:var tt=c.stateNode.containerInfo,dt=Eb(o);Cb(o,dt,tt);break;default:throw Error(i(161))}}}catch(Et){Ae(o,o.return,Et)}o.flags&=-3}s&4096&&(o.flags&=-4097)}function pA(o){if(o.subtreeFlags&1024)for(o=o.child;o!==null;){var s=o;pA(s),s.tag===5&&s.flags&1024&&Y5(s.stateNode),o=o.sibling}}function to(o,s){if(s.subtreeFlags&8772)for(s=s.child;s!==null;)uA(o,s.alternate,s),s=s.sibling}function yl(o){for(o=o.child;o!==null;){var s=o;switch(s.tag){case 0:case 11:case 14:case 15:Wo(4,s,s.return),yl(s);break;case 1:_r(s,s.return);var c=s.stateNode;typeof c.componentWillUnmount=="function"&&aA(s,s.return,c),yl(s);break;case 27:jn&&y2(s.stateNode);case 26:case 5:_r(s,s.return),yl(s);break;case 22:s.memoizedState===null&&yl(s);break;case 30:yl(s);break;default:yl(s)}o=o.sibling}}function eo(o,s,c){for(c=c&&(s.subtreeFlags&8772)!==0,s=s.child;s!==null;){var p=s.alternate,v=o,S=s,O=S.flags;switch(S.tag){case 0:case 11:case 15:eo(v,S,c),nf(4,S);break;case 1:if(eo(v,S,c),p=S,v=p.stateNode,typeof v.componentDidMount=="function")try{v.componentDidMount()}catch(dt){Ae(p,p.return,dt)}if(p=S,v=p.updateQueue,v!==null){var D=p.stateNode;try{var tt=v.shared.hiddenCallbacks;if(tt!==null)for(v.shared.hiddenCallbacks=null,v=0;v<tt.length;v++)sa(tt[v],D)}catch(dt){Ae(p,p.return,dt)}}c&&O&64&&iA(S),af(S,S.return);break;case 27:jn&&lA(S);case 26:case 5:eo(v,S,c),c&&p===null&&O&4&&rA(S),af(S,S.return);break;case 12:eo(v,S,c);break;case 31:eo(v,S,c),c&&O&4&&dA(v,S);break;case 13:eo(v,S,c),c&&O&4&&fA(v,S);break;case 22:S.memoizedState===null&&eo(v,S,c),af(S,S.return);break;case 30:break;default:eo(v,S,c)}s=s.sibling}}function Mb(o,s){var c=null;o!==null&&o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(c=o.memoizedState.cachePool.pool),o=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(o=s.memoizedState.cachePool.pool),o!==c&&(o!=null&&o.refCount++,c!=null&&xt(c))}function Ob(o,s){o=null,s.alternate!==null&&(o=s.alternate.memoizedState.cache),s=s.memoizedState.cache,s!==o&&(s.refCount++,o!=null&&xt(o))}function rr(o,s,c,p){if(s.subtreeFlags&10256)for(s=s.child;s!==null;)mA(o,s,c,p),s=s.sibling}function mA(o,s,c,p){var v=s.flags;switch(s.tag){case 0:case 11:case 15:rr(o,s,c,p),v&2048&&nf(9,s);break;case 1:rr(o,s,c,p);break;case 3:rr(o,s,c,p),v&2048&&(o=null,s.alternate!==null&&(o=s.alternate.memoizedState.cache),s=s.memoizedState.cache,s!==o&&(s.refCount++,o!=null&&xt(o)));break;case 12:if(v&2048){rr(o,s,c,p),o=s.stateNode;try{var S=s.memoizedProps,O=S.id,D=S.onPostCommit;typeof D=="function"&&D(O,s.alternate===null?"mount":"update",o.passiveEffectDuration,-0)}catch(tt){Ae(s,s.return,tt)}}else rr(o,s,c,p);break;case 31:rr(o,s,c,p);break;case 13:rr(o,s,c,p);break;case 23:break;case 22:S=s.stateNode,O=s.alternate,s.memoizedState!==null?S._visibility&2?rr(o,s,c,p):rf(o,s):S._visibility&2?rr(o,s,c,p):(S._visibility|=2,Hu(o,s,c,p,(s.subtreeFlags&10256)!==0||!1)),v&2048&&Mb(O,s);break;case 24:rr(o,s,c,p),v&2048&&Ob(s.alternate,s);break;default:rr(o,s,c,p)}}function Hu(o,s,c,p,v){for(v=v&&((s.subtreeFlags&10256)!==0||!1),s=s.child;s!==null;){var S=o,O=s,D=c,tt=p,dt=O.flags;switch(O.tag){case 0:case 11:case 15:Hu(S,O,D,tt,v),nf(8,O);break;case 23:break;case 22:var Et=O.stateNode;O.memoizedState!==null?Et._visibility&2?Hu(S,O,D,tt,v):rf(S,O):(Et._visibility|=2,Hu(S,O,D,tt,v)),v&&dt&2048&&Mb(O.alternate,O);break;case 24:Hu(S,O,D,tt,v),v&&dt&2048&&Ob(O.alternate,O);break;default:Hu(S,O,D,tt,v)}s=s.sibling}}function rf(o,s){if(s.subtreeFlags&10256)for(s=s.child;s!==null;){var c=o,p=s,v=p.flags;switch(p.tag){case 22:rf(c,p),v&2048&&Mb(p.alternate,p);break;case 24:rf(c,p),v&2048&&Ob(p.alternate,p);break;default:rf(c,p)}s=s.sibling}}function vl(o,s,c){if(o.subtreeFlags&ac)for(o=o.child;o!==null;)gA(o,s,c),o=o.sibling}function gA(o,s,c){switch(o.tag){case 26:if(vl(o,s,c),o.flags&ac)if(o.memoizedState!==null)$B(c,sr,o.memoizedState,o.memoizedProps);else{var p=o.stateNode,v=o.type;o=o.memoizedProps,((s&335544128)===s||Kb(v,o))&&t2(c,p,v,o)}break;case 5:vl(o,s,c),o.flags&ac&&(p=o.stateNode,v=o.type,o=o.memoizedProps,((s&335544128)===s||Kb(v,o))&&t2(c,p,v,o));break;case 3:case 4:or?(p=sr,sr=Jb(o.stateNode.containerInfo),vl(o,s,c),sr=p):vl(o,s,c);break;case 22:o.memoizedState===null&&(p=o.alternate,p!==null&&p.memoizedState!==null?(p=ac,ac=16777216,vl(o,s,c),ac=p):vl(o,s,c));break;default:vl(o,s,c)}}function yA(o){var s=o.alternate;if(s!==null&&(o=s.child,o!==null)){s.child=null;do s=o.sibling,o.sibling=null,o=s;while(o!==null)}}function of(o){var s=o.deletions;if(o.flags&16){if(s!==null)for(var c=0;c<s.length;c++){var p=s[c];Jn=p,bA(p,o)}yA(o)}if(o.subtreeFlags&10256)for(o=o.child;o!==null;)vA(o),o=o.sibling}function vA(o){switch(o.tag){case 0:case 11:case 15:of(o),o.flags&2048&&Wo(9,o,o.return);break;case 3:of(o);break;case 12:of(o);break;case 22:var s=o.stateNode;o.memoizedState!==null&&s._visibility&2&&(o.return===null||o.return.tag!==13)?(s._visibility&=-3,gm(o)):of(o);break;default:of(o)}}function gm(o){var s=o.deletions;if(o.flags&16){if(s!==null)for(var c=0;c<s.length;c++){var p=s[c];Jn=p,bA(p,o)}yA(o)}for(o=o.child;o!==null;){switch(s=o,s.tag){case 0:case 11:case 15:Wo(8,s,s.return),gm(s);break;case 22:c=s.stateNode,c._visibility&2&&(c._visibility&=-3,gm(s));break;default:gm(s)}o=o.sibling}}function bA(o,s){for(;Jn!==null;){var c=Jn;switch(c.tag){case 0:case 11:case 15:Wo(8,c,s);break;case 23:case 22:if(c.memoizedState!==null&&c.memoizedState.cachePool!==null){var p=c.memoizedState.cachePool.pool;p!=null&&p.refCount++}break;case 24:xt(c.memoizedState.cache)}if(p=c.child,p!==null)p.return=c,Jn=p;else t:for(c=o;Jn!==null;){p=Jn;var v=p.sibling,S=p.return;if(cA(p),p===c){Jn=null;break t}if(v!==null){v.return=S,Jn=v;break t}Jn=S}}}function _b(o){var s=B5(o);if(s!=null){if(typeof s.memoizedProps["data-testname"]!="string")throw Error(i(364));return s}if(o=K5(o),o===null)throw Error(i(362));return o.stateNode.current}function zb(o,s){var c=o.tag;switch(s.$$typeof){case Bm:if(o.type===s.value)return!0;break;case Hm:t:{for(s=s.value,o=[o,0],c=0;c<o.length;){var p=o[c++],v=p.tag,S=o[c++],O=s[S];if(v!==5&&v!==26&&v!==27||!cf(p)){for(;O!=null&&zb(p,O);)S++,O=s[S];if(S===s.length){s=!0;break t}else for(p=p.child;p!==null;)o.push(p,S),p=p.sibling}}s=!1}return s;case Fm:if((c===5||c===26||c===27)&&J5(o.stateNode,s.value))return!0;break;case Um:if((c===5||c===6||c===26||c===27)&&(o=W5(o),o!==null&&0<=o.indexOf(s.value)))return!0;break;case Vm:if((c===5||c===26||c===27)&&(o=o.memoizedProps["data-testname"],typeof o=="string"&&o.toLowerCase()===s.value.toLowerCase()))return!0;break;default:throw Error(i(365))}return!1}function Ib(o){switch(o.$$typeof){case Bm:return"<"+(d(o.value)||"Unknown")+">";case Hm:return":has("+(Ib(o)||"")+")";case Fm:return'[role="'+o.value+'"]';case Um:return'"'+o.value+'"';case Vm:return'[data-testname="'+o.value+'"]';default:throw Error(i(365))}}function SA(o,s){var c=[];o=[o,0];for(var p=0;p<o.length;){var v=o[p++],S=v.tag,O=o[p++],D=s[O];if(S!==5&&S!==26&&S!==27||!cf(v)){for(;D!=null&&zb(v,D);)O++,D=s[O];if(O===s.length)c.push(v);else for(v=v.child;v!==null;)o.push(v,O),v=v.sibling}}return c}function Nb(o,s){if(!uf)throw Error(i(363));o=_b(o),o=SA(o,s),s=[],o=Array.from(o);for(var c=0;c<o.length;){var p=o[c++],v=p.tag;if(v===5||v===26||v===27)cf(p)||s.push(p.stateNode);else for(p=p.child;p!==null;)o.push(p),p=p.sibling}return s}function la(){return ge&2&&xe!==0?xe&-xe:jt.T!==null?Ct():F5()}function xA(){if(ma===0)if(!(xe&536870912)||Te){var o=Rm;Rm<<=1,!(Rm&3932160)&&(Rm=262144),ma=o}else ma=536870912;return o=ha.current,o!==null&&(o.flags|=32),ma}function ji(o,s,c){(o===ke&&(De===2||De===9)||o.cancelPendingCommit!==null)&&(Fu(o,0),Jo(o,xe,ma,!1)),M(o,c),(!(ge&2)||o!==ke)&&(o===ke&&(!(ge&2)&&(Ml|=c),pn===4&&Jo(o,xe,ma,!1)),P(o))}function wA(o,s,c){if(ge&6)throw Error(i(327));var p=!c&&(s&127)===0&&(s&o.expiredLanes)===0||x(o,s),v=p?g5(o,s):Db(o,s,!0),S=p;do{if(v===0){rc&&!p&&Jo(o,s,0,!1);break}else{if(c=o.current.alternate,S&&!p5(c)){v=Db(o,s,!1),S=!1;continue}if(v===2){if(S=s,o.errorRecoveryDisabledLanes&S)var O=0;else O=o.pendingLanes&-536870913,O=O!==0?O:O&536870912?536870912:0;if(O!==0){s=O;t:{var D=o;v=bf;var tt=wi&&D.current.memoizedState.isDehydrated;if(tt&&(Fu(D,O).flags|=256),O=Db(D,O,!1),O!==2){if(gS&&!tt){D.errorRecoveryDisabledLanes|=S,Ml|=S,v=4;break t}S=Yi,Yi=v,S!==null&&(Yi===null?Yi=S:Yi.push.apply(Yi,S))}v=O}if(S=!1,v!==2)continue}}if(v===1){Fu(o,0),Jo(o,s,0,!0);break}t:{switch(p=o,S=v,S){case 0:case 1:throw Error(i(345));case 4:if((s&4194048)!==s)break;case 6:Jo(p,s,ma,!rs);break t;case 2:Yi=null;break;case 3:case 5:break;default:throw Error(i(329))}if((s&62914560)===s&&(v=qm+300-ki(),10<v)){if(Jo(p,s,ma,!rs),C(p,0,!0)!==0)break t;uo=s,p.timeoutHandle=D5(TA.bind(null,p,c,Yi,jm,vS,s,ma,Ml,oc,rs,S,"Throttled",-0,0),v);break t}TA(p,c,Yi,jm,vS,s,ma,Ml,oc,rs,S,null,-0,0)}}break}while(!0);P(o)}function TA(o,s,c,p,v,S,O,D,tt,dt,Et,bt,_t,oe){if(o.timeoutHandle=Sl,bt=s.subtreeFlags,bt&8192||(bt&16785408)===16785408){bt=k5(),gA(s,S,bt);var ci=(S&62914560)===S?qm-ki():(S&4194048)===S?M2-ki():0;if(ci=G5(bt,ci),ci!==null){uo=S,o.cancelPendingCommit=ci(IA.bind(null,o,s,S,c,p,v,O,D,tt,Et,bt,null,_t,oe)),Jo(o,S,O,!dt);return}}IA(o,s,S,c,p,v,O,D,tt)}function p5(o){for(var s=o;;){var c=s.tag;if((c===0||c===11||c===15)&&s.flags&16384&&(c=s.updateQueue,c!==null&&(c=c.stores,c!==null)))for(var p=0;p<c.length;p++){var v=c[p],S=v.getSnapshot;v=v.value;try{if(!fa(S(),v))return!1}catch{return!1}}if(c=s.child,s.subtreeFlags&16384&&c!==null)c.return=s,s=c;else{if(s===o)break;for(;s.sibling===null;){if(s.return===null||s.return===o)return!0;s=s.return}s.sibling.return=s.return,s=s.sibling}}return!0}function Jo(o,s,c,p){s&=~yS,s&=~Ml,o.suspendedLanes|=s,o.pingedLanes&=~s,p&&(o.warmLanes|=s),p=o.expirationTimes;for(var v=s;0<v;){var S=31-ca(v),O=1<<S;p[S]=-1,v&=~O}c!==0&&I(o,c,s)}function RA(){return ge&6?!0:(W(0,!1),!1)}function Lb(){if(ye!==null){if(De===0)var o=ye.return;else o=ye,ro=wl=null,eb(o),$u=null,mf=0,o=ye;for(;o!==null;)nA(o.alternate,o),o=o.return;ye=null}}function Fu(o,s){var c=o.timeoutHandle;c!==Sl&&(o.timeoutHandle=Sl,P5(c)),c=o.cancelPendingCommit,c!==null&&(o.cancelPendingCommit=null,c()),uo=0,Lb(),ke=o,ye=c=no(o.current,null),xe=s,De=0,pa=null,rs=!1,rc=x(o,s),gS=!1,oc=ma=yS=Ml=os=pn=0,Yi=bf=null,vS=!1,s&8&&(s|=s&32);var p=o.entangledLanes;if(p!==0)for(o=o.entanglements,p&=s;0<p;){var v=31-ca(p),S=1<<v;s|=o[v],p&=~S}return lo=s,hl(),c}function EA(o,s){se=null,jt.H=yf,s===Ju||s===Im?(s=Kn(),De=3):s===lS?(s=Kn(),De=4):De=s===hS?8:s!==null&&typeof s=="object"&&typeof s.then=="function"?6:1,pa=s,ye===null&&(pn=1,lm(o,Y(s,o.current)))}function CA(){var o=ha.current;return o===null?!0:(xe&4194048)===xe?Ha===null:(xe&62914560)===xe||xe&536870912?o===Ha:!1}function AA(){var o=jt.H;return jt.H=yf,o===null?yf:o}function MA(){var o=jt.A;return jt.A=p6,o}function ym(){pn=4,rs||(xe&4194048)!==xe&&ha.current!==null||(rc=!0),!(os&134217727)&&!(Ml&134217727)||ke===null||Jo(ke,xe,ma,!1)}function Db(o,s,c){var p=ge;ge|=2;var v=AA(),S=MA();(ke!==o||xe!==s)&&(jm=null,Fu(o,s)),s=!1;var O=pn;t:do try{if(De!==0&&ye!==null){var D=ye,tt=pa;switch(De){case 8:Lb(),O=6;break t;case 3:case 2:case 9:case 6:ha.current===null&&(s=!0);var dt=De;if(De=0,pa=null,Vu(o,D,tt,dt),c&&rc){O=0;break t}break;default:dt=De,De=0,pa=null,Vu(o,D,tt,dt)}}m5(),O=pn;break}catch(Et){EA(o,Et)}while(!0);return s&&o.shellSuspendCounter++,ro=wl=null,ge=p,jt.H=v,jt.A=S,ye===null&&(ke=null,xe=0,hl()),O}function m5(){for(;ye!==null;)OA(ye)}function g5(o,s){var c=ge;ge|=2;var p=AA(),v=MA();ke!==o||xe!==s?(jm=null,Sf=ki()+500,Fu(o,s)):rc=x(o,s);t:do try{if(De!==0&&ye!==null){s=ye;var S=pa;e:switch(De){case 1:De=0,pa=null,Vu(o,s,S,1);break;case 2:case 9:if(Le(S)){De=0,pa=null,_A(s);break}s=function(){De!==2&&De!==9||ke!==o||(De=7),P(o)},S.then(s,s);break t;case 3:De=7;break t;case 4:De=5;break t;case 7:Le(S)?(De=0,pa=null,_A(s)):(De=0,pa=null,Vu(o,s,S,7));break;case 5:var O=null;switch(ye.tag){case 26:O=ye.memoizedState;case 5:case 27:var D=ye,tt=D.type,dt=D.pendingProps;if(O?m2(O):$A(D.stateNode,tt,dt)){De=0,pa=null;var Et=D.sibling;if(Et!==null)ye=Et;else{var bt=D.return;bt!==null?(ye=bt,vm(bt)):ye=null}break e}}De=0,pa=null,Vu(o,s,S,5);break;case 6:De=0,pa=null,Vu(o,s,S,6);break;case 8:Lb(),pn=6;break t;default:throw Error(i(462))}}y5();break}catch(_t){EA(o,_t)}while(!0);return ro=wl=null,jt.H=p,jt.A=v,ge=c,ye!==null?0:(ke=null,xe=0,hl(),pn)}function y5(){for(;ye!==null&&!i6();)OA(ye)}function OA(o){var s=WC(o.alternate,o,lo);o.memoizedProps=o.pendingProps,s===null?vm(o):ye=s}function _A(o){var s=o,c=s.alternate;switch(s.tag){case 15:case 0:s=GC(c,s,s.pendingProps,s.type,void 0,xe);break;case 11:s=GC(c,s,s.pendingProps,s.type.render,s.ref,xe);break;case 5:eb(s);default:nA(c,s),s=ye=VA(s,lo),s=WC(c,s,lo)}o.memoizedProps=o.pendingProps,s===null?vm(o):ye=s}function Vu(o,s,c,p){ro=wl=null,eb(s),$u=null,mf=0;var v=s.return;try{if(s5(o,v,s,c,xe)){pn=1,lm(o,Y(c,o.current)),ye=null;return}}catch(S){if(v!==null)throw ye=v,S;pn=1,lm(o,Y(c,o.current)),ye=null;return}s.flags&32768?(Te||p===1?o=!0:rc||xe&536870912?o=!1:(rs=o=!0,(p===2||p===9||p===3||p===6)&&(p=ha.current,p!==null&&p.tag===13&&(p.flags|=16384))),zA(s,o)):vm(s)}function vm(o){var s=o;do{if(s.flags&32768){zA(s,rs);return}o=s.return;var c=c5(s.alternate,s,lo);if(c!==null){ye=c;return}if(s=s.sibling,s!==null){ye=s;return}ye=s=o}while(s!==null);pn===0&&(pn=5)}function zA(o,s){do{var c=d5(o.alternate,o);if(c!==null){c.flags&=32767,ye=c;return}if(c=o.return,c!==null&&(c.flags|=32768,c.subtreeFlags=0,c.deletions=null),!s&&(o=o.sibling,o!==null)){ye=o;return}ye=o=c}while(o!==null);pn=6,ye=null}function IA(o,s,c,p,v,S,O,D,tt){o.cancelPendingCommit=null;do sf();while(kn!==0);if(ge&6)throw Error(i(327));if(s!==null){if(s===o.current)throw Error(i(177));if(S=s.lanes|s.childLanes,S|=uS,z(o,c,S,O,D,tt),o===ke&&(ye=ke=null,xe=0),sc=s,ls=o,uo=c,bS=S,SS=v,O2=p,s.subtreeFlags&10256||s.flags&10256?(o.callbackNode=null,o.callbackPriority=0,x5(eS,function(){return BA(),null})):(o.callbackNode=null,o.callbackPriority=0),p=(s.flags&13878)!==0,s.subtreeFlags&13878||p){p=jt.T,jt.T=null,v=ao(),Wn(2),O=ge,ge|=4;try{f5(o,s,c)}finally{ge=O,Wn(v),jt.T=p}}kn=1,NA(),LA(),DA()}}function NA(){if(kn===1){kn=0;var o=ls,s=sc,c=(s.flags&13878)!==0;if(s.subtreeFlags&13878||c){c=jt.T,jt.T=null;var p=ao();Wn(2);var v=ge;ge|=4;try{hA(s,o),N5(o.containerInfo)}finally{ge=v,Wn(p),jt.T=c}}o.current=s,kn=2}}function LA(){if(kn===2){kn=0;var o=ls,s=sc,c=(s.flags&8772)!==0;if(s.subtreeFlags&8772||c){c=jt.T,jt.T=null;var p=ao();Wn(2);var v=ge;ge|=4;try{uA(o,s.alternate,s)}finally{ge=v,Wn(p),jt.T=c}}kn=3}}function DA(){if(kn===4||kn===3){kn=0,a6();var o=ls,s=sc,c=uo,p=O2;s.subtreeFlags&10256||s.flags&10256?kn=5:(kn=0,sc=ls=null,PA(o,o.pendingLanes));var v=o.pendingLanes;if(v===0&&(ss=null),st(c),s=s.stateNode,da&&typeof da.onCommitFiberRoot=="function")try{da.onCommitFiberRoot(df,s,void 0,(s.current.flags&128)===128)}catch{}if(p!==null){s=jt.T,v=ao(),Wn(2),jt.T=null;try{for(var S=o.onRecoverableError,O=0;O<p.length;O++){var D=p[O];S(D.value,{componentStack:D.stack})}}finally{jt.T=s,Wn(v)}}uo&3&&sf(),P(o),v=o.pendingLanes,c&261930&&v&42?o===xS?xf++:(xf=0,xS=o):xf=0,wi&&qB(),W(0,!1)}}function PA(o,s){(o.pooledCacheLanes&=s)===0&&(s=o.pooledCache,s!=null&&(o.pooledCache=null,xt(s)))}function sf(){return NA(),LA(),DA(),BA()}function BA(){if(kn!==5)return!1;var o=ls,s=bS;bS=0;var c=st(uo),p=32>c?32:c;c=jt.T;var v=ao();try{Wn(p),jt.T=null,p=SS,SS=null;var S=ls,O=uo;if(kn=0,sc=ls=null,uo=0,ge&6)throw Error(i(331));var D=ge;if(ge|=4,vA(S.current),mA(S,S.current,O,p),ge=D,W(0,!1),da&&typeof da.onPostCommitFiberRoot=="function")try{da.onPostCommitFiberRoot(df,S)}catch{}return!0}finally{Wn(v),jt.T=c,PA(o,s)}}function HA(o,s,c){s=Y(c,s),s=hb(o.stateNode,s,2),o=vt(o,s,2),o!==null&&(M(o,2),P(o))}function Ae(o,s,c){if(o.tag===3)HA(o,o,c);else for(;s!==null;){if(s.tag===3){HA(s,o,c);break}else if(s.tag===1){var p=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof p.componentDidCatch=="function"&&(ss===null||!ss.has(p))){o=Y(c,o),c=BC(2),p=vt(s,c,2),p!==null&&(HC(c,p,s,o),M(p,2),P(p));break}}s=s.return}}function Pb(o,s,c){var p=o.pingCache;if(p===null){p=o.pingCache=new m6;var v=new Set;p.set(s,v)}else v=p.get(s),v===void 0&&(v=new Set,p.set(s,v));v.has(c)||(gS=!0,v.add(c),o=v5.bind(null,o,s,c),s.then(o,o))}function v5(o,s,c){var p=o.pingCache;p!==null&&p.delete(s),o.pingedLanes|=o.suspendedLanes&c,o.warmLanes&=~c,ke===o&&(xe&c)===c&&(pn===4||pn===3&&(xe&62914560)===xe&&300>ki()-qm?!(ge&2)&&Fu(o,0):yS|=c,oc===xe&&(oc=0)),P(o)}function FA(o,s){s===0&&(s=R()),o=V(o,s),o!==null&&(M(o,s),P(o))}function b5(o){var s=o.memoizedState,c=0;s!==null&&(c=s.retryLane),FA(o,c)}function S5(o,s){var c=0;switch(o.tag){case 31:case 13:var p=o.stateNode,v=o.memoizedState;v!==null&&(c=v.retryLane);break;case 19:p=o.stateNode;break;case 22:p=o.stateNode._retryCache;break;default:throw Error(i(314))}p!==null&&p.delete(s),FA(o,c)}function x5(o,s){return Cm(o,s)}function w5(o,s,c,p){this.tag=o,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=p,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bb(o){return o=o.prototype,!(!o||!o.isReactComponent)}function no(o,s){var c=o.alternate;return c===null?(c=e(o.tag,s,o.key,o.mode),c.elementType=o.elementType,c.type=o.type,c.stateNode=o.stateNode,c.alternate=o,o.alternate=c):(c.pendingProps=s,c.type=o.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=o.flags&65011712,c.childLanes=o.childLanes,c.lanes=o.lanes,c.child=o.child,c.memoizedProps=o.memoizedProps,c.memoizedState=o.memoizedState,c.updateQueue=o.updateQueue,s=o.dependencies,c.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},c.sibling=o.sibling,c.index=o.index,c.ref=o.ref,c.refCleanup=o.refCleanup,c}function VA(o,s){o.flags&=65011714;var c=o.alternate;return c===null?(o.childLanes=0,o.lanes=s,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=c.childLanes,o.lanes=c.lanes,o.child=c.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=c.memoizedProps,o.memoizedState=c.memoizedState,o.updateQueue=c.updateQueue,o.type=c.type,s=c.dependencies,o.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext}),o}function bm(o,s,c,p,v,S){var O=0;if(p=o,typeof o=="function")Bb(o)&&(O=1);else if(typeof o=="string")O=or&&jn?u2(o,c,li.current)?26:v2(o)?27:5:or?u2(o,c,li.current)?26:5:jn&&v2(o)?27:5;else t:switch(o){case Xb:return o=e(31,c,s,v),o.elementType=Xb,o.lanes=S,o;case qu:return bl(c.children,v,S,s);case XA:O=8,v|=24;break;case qb:return o=e(12,c,s,v|2),o.elementType=qb,o.lanes=S,o;case kb:return o=e(13,c,s,v),o.elementType=kb,o.lanes=S,o;case Gb:return o=e(19,c,s,v),o.elementType=Gb,o.lanes=S,o;default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case $o:O=10;break t;case QA:O=9;break t;case jb:O=11;break t;case Yb:O=14;break t;case ts:O=16,p=null;break t}O=29,c=Error(i(130,o===null?"null":typeof o,"")),p=null}return s=e(O,c,s,v),s.elementType=o,s.type=p,s.lanes=S,s}function bl(o,s,c,p){return o=e(7,o,p,s),o.lanes=c,o}function Hb(o,s,c){return o=e(6,o,null,s),o.lanes=c,o}function UA(o){var s=e(18,null,null,0);return s.stateNode=o,s}function Fb(o,s,c){return s=e(4,o.children!==null?o.children:[],o.key,s),s.lanes=c,s.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},s}function T5(o,s,c,p,v,S,O,D,tt){this.tag=1,this.containerInfo=o,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Sl,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=E(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=E(0),this.hiddenUpdates=E(null),this.identifierPrefix=p,this.onUncaughtError=v,this.onCaughtError=S,this.onRecoverableError=O,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=tt,this.incompleteTransitions=new Map}function qA(o,s,c,p,v,S,O,D,tt,dt,Et,bt){return o=new T5(o,s,c,O,tt,dt,Et,bt,D),s=1,S===!0&&(s|=24),S=e(3,null,null,s),o.current=S,S.stateNode=o,s=ht(),s.refCount++,o.pooledCache=s,s.refCount++,S.memoizedState={element:p,isDehydrated:c,cache:s},ne(S),o}function jA(o){return o?(o=Yu,o):Yu}function kA(o){var s=o._reactInternals;if(s===void 0)throw typeof o.render=="function"?Error(i(188)):(o=Object.keys(o).join(","),Error(i(268,o)));return o=l(s),o=o!==null?u(o):null,o===null?null:lf(o.stateNode)}function GA(o,s,c,p,v,S){v=jA(v),p.context===null?p.context=v:p.pendingContext=v,p=mt(s),p.payload={element:c},S=S===void 0?null:S,S!==null&&(p.callback=S),c=vt(o,p,s),c!==null&&(ji(c,o,s),$t(c,o,s))}function YA(o,s){if(o=o.memoizedState,o!==null&&o.dehydrated!==null){var c=o.retryLane;o.retryLane=c!==0&&c<s?c:s}}function Vb(o,s){YA(o,s),(o=o.alternate)&&YA(o,s)}var me={},R5=ct(),ua=Sx(),Ub=Object.assign,E5=Symbol.for("react.element"),Sm=Symbol.for("react.transitional.element"),Uu=Symbol.for("react.portal"),qu=Symbol.for("react.fragment"),XA=Symbol.for("react.strict_mode"),qb=Symbol.for("react.profiler"),QA=Symbol.for("react.consumer"),$o=Symbol.for("react.context"),jb=Symbol.for("react.forward_ref"),kb=Symbol.for("react.suspense"),Gb=Symbol.for("react.suspense_list"),Yb=Symbol.for("react.memo"),ts=Symbol.for("react.lazy");Symbol.for("react.scope");var Xb=Symbol.for("react.activity");Symbol.for("react.legacy_hidden"),Symbol.for("react.tracing_marker");var C5=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var KA=Symbol.iterator,A5=Symbol.for("react.client.reference"),xm=Array.isArray,jt=R5.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,M5=t.rendererVersion,O5=t.rendererPackageName,ZA=t.extraDevToolsConfig,lf=t.getPublicInstance,_5=t.getRootHostContext,z5=t.getChildHostContext,I5=t.prepareForCommit,N5=t.resetAfterCommit,L5=t.createInstance;t.cloneMutableInstance;var Qb=t.appendInitialChild,WA=t.finalizeInitialChildren,wm=t.shouldSetTextContent,JA=t.createTextInstance;t.cloneMutableTextInstance;var D5=t.scheduleTimeout,P5=t.cancelTimeout,Sl=t.noTimeout,io=t.isPrimaryRenderer;t.warnsIfNotActing;var xi=t.supportsMutation,zr=t.supportsPersistence,wi=t.supportsHydration,B5=t.getInstanceFromNode;t.beforeActiveInstanceBlur;var H5=t.preparePortalMount;t.prepareScopeUpdate,t.getInstanceFromScope;var Wn=t.setCurrentUpdatePriority,ao=t.getCurrentUpdatePriority,F5=t.resolveUpdatePriority;t.trackSchedulerEvent,t.resolveEventType,t.resolveEventTimeStamp;var V5=t.shouldAttemptEagerTransition,U5=t.detachDeletedInstance;t.requestPostPaintCallback;var q5=t.maySuspendCommit,j5=t.maySuspendCommitOnUpdate,Kb=t.maySuspendCommitInSyncRender,$A=t.preloadInstance,k5=t.startSuspendingCommit,t2=t.suspendInstance;t.suspendOnActiveViewTransition;var G5=t.waitForCommitToBeReady;t.getSuspendedCommitReason;var ju=t.NotPendingTransition,xl=t.HostTransitionContext,Y5=t.resetFormInstance;t.bindToConsole;var X5=t.supportsMicrotasks,Q5=t.scheduleMicrotask,uf=t.supportsTestSelectors,K5=t.findFiberRoot,Z5=t.getBoundingRect,W5=t.getTextContent,cf=t.isHiddenSubtree,J5=t.matchAccessibilityRole,$5=t.setFocusIfFocusable,tB=t.setupIntersectionObserver,eB=t.appendChild,nB=t.appendChildToContainer,iB=t.commitTextUpdate,aB=t.commitMount,rB=t.commitUpdate,oB=t.insertBefore,sB=t.insertInContainerBefore,lB=t.removeChild,uB=t.removeChildFromContainer,e2=t.resetTextContent,cB=t.hideInstance,dB=t.hideTextInstance,fB=t.unhideInstance,hB=t.unhideTextInstance;t.cancelViewTransitionName,t.cancelRootViewTransitionName,t.restoreRootViewTransitionName,t.cloneRootViewTransitionContainer,t.removeRootViewTransitionClone,t.measureClonedInstance,t.hasInstanceChanged,t.hasInstanceAffectedParent,t.startViewTransition,t.startGestureTransition,t.stopViewTransition,t.getCurrentGestureOffset,t.createViewTransitionInstance;var pB=t.clearContainer;t.createFragmentInstance,t.updateFragmentInstanceFiber,t.commitNewChildToFragmentInstance,t.deleteChildFromFragmentInstance;var mB=t.cloneInstance,n2=t.createContainerChildSet,i2=t.appendChildToContainerChildSet,gB=t.finalizeContainerChildren,a2=t.replaceContainerChildren,r2=t.cloneHiddenInstance,o2=t.cloneHiddenTextInstance,Zb=t.isSuspenseInstancePending,Wb=t.isSuspenseInstanceFallback,yB=t.getSuspenseInstanceFallbackErrorDetails,vB=t.registerSuspenseInstanceRetry,bB=t.canHydrateFormStateMarker,SB=t.isFormStateMarkerMatching,s2=t.getNextHydratableSibling,xB=t.getNextHydratableSiblingAfterSingleton,wB=t.getFirstHydratableChild,TB=t.getFirstHydratableChildWithinContainer,RB=t.getFirstHydratableChildWithinActivityInstance,EB=t.getFirstHydratableChildWithinSuspenseInstance,CB=t.getFirstHydratableChildWithinSingleton,AB=t.canHydrateInstance,MB=t.canHydrateTextInstance,OB=t.canHydrateActivityInstance,_B=t.canHydrateSuspenseInstance,zB=t.hydrateInstance,IB=t.hydrateTextInstance,NB=t.hydrateActivityInstance,LB=t.hydrateSuspenseInstance,DB=t.getNextHydratableInstanceAfterActivityInstance,PB=t.getNextHydratableInstanceAfterSuspenseInstance,BB=t.commitHydratedInstance,HB=t.commitHydratedContainer,FB=t.commitHydratedActivityInstance,VB=t.commitHydratedSuspenseInstance,UB=t.finalizeHydratedChildren,qB=t.flushHydrationEvents;t.clearActivityBoundary;var jB=t.clearSuspenseBoundary;t.clearActivityBoundaryFromContainer;var kB=t.clearSuspenseBoundaryFromContainer,GB=t.hideDehydratedBoundary,YB=t.unhideDehydratedBoundary,l2=t.shouldDeleteUnhydratedTailInstances;t.diffHydratedPropsForDevWarnings,t.diffHydratedTextForDevWarnings,t.describeHydratableInstanceForDevWarnings;var XB=t.validateHydratableInstance,QB=t.validateHydratableTextInstance,or=t.supportsResources,u2=t.isHostHoistableType,Jb=t.getHoistableRoot,c2=t.getResource,d2=t.acquireResource,f2=t.releaseResource,KB=t.hydrateHoistable,h2=t.mountHoistable,p2=t.unmountHoistable,ZB=t.createHoistableInstance,WB=t.prepareToCommitHoistables,JB=t.mayResourceSuspendCommit,m2=t.preloadResource,$B=t.suspendResource,jn=t.supportsSingletons,g2=t.resolveSingletonInstance,t6=t.acquireSingletonInstance,y2=t.releaseSingletonInstance,v2=t.isHostSingletonType,ku=t.isSingletonScope,$b=[],Gu=-1,Yu={},ca=Math.clz32?Math.clz32:b,e6=Math.log,n6=Math.LN2,Tm=256,Rm=262144,Em=4194304,Cm=ua.unstable_scheduleCallback,tS=ua.unstable_cancelCallback,i6=ua.unstable_shouldYield,a6=ua.unstable_requestPaint,ki=ua.unstable_now,b2=ua.unstable_ImmediatePriority,r6=ua.unstable_UserBlockingPriority,eS=ua.unstable_NormalPriority,o6=ua.unstable_IdlePriority,s6=ua.log,l6=ua.unstable_setDisableYieldValue,df=null,da=null,fa=typeof Object.is=="function"?Object.is:gt,S2=typeof reportError=="function"?reportError:function(o){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var s=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof o=="object"&&o!==null&&typeof o.message=="string"?String(o.message):String(o),error:o});if(!window.dispatchEvent(s))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",o);return}console.error(o)},u6=Object.prototype.hasOwnProperty,nS,x2,iS=!1,w2=new WeakMap,Xu=[],Qu=0,Am=null,ff=0,La=[],Da=0,es=null,Ir=1,Nr="",li=m(null),hf=m(null),ns=m(null),Mm=m(null),ui=null,ln=null,Te=!1,is=null,Pa=!1,aS=Error(i(519)),Om=m(null),wl=null,ro=null,c6=typeof AbortController<"u"?AbortController:function(){var o=[],s=this.signal={aborted:!1,addEventListener:function(c,p){o.push(p)}};this.abort=function(){s.aborted=!0,o.forEach(function(c){return c()})}},d6=ua.unstable_scheduleCallback,f6=ua.unstable_NormalPriority,un={$$typeof:$o,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0},_m=null,Ku=null,rS=!1,zm=!1,oS=!1,Tl=0,pf=null,sS=0,Zu=0,Wu=null,T2=jt.S;jt.S=function(o,s){M2=ki(),typeof s=="object"&&s!==null&&typeof s.then=="function"&&At(o,s),T2!==null&&T2(o,s)};var Rl=m(null),Ju=Error(i(460)),lS=Error(i(474)),Im=Error(i(542)),Nm={then:function(){}},El=null,$u=null,mf=0,Cl=oa(!0),R2=oa(!1),Ba=[],tc=0,uS=0,as=!1,cS=!1,ec=m(null),Lm=m(0),ha=m(null),Ha=null,xn=m(0),oo=0,se=null,Fe=null,Mn=null,Dm=!1,nc=!1,Al=!1,Pm=0,gf=0,ic=null,h6=0,yf={readContext:_,use:im,useCallback:nn,useContext:nn,useEffect:nn,useImperativeHandle:nn,useLayoutEffect:nn,useInsertionEffect:nn,useMemo:nn,useReducer:nn,useRef:nn,useState:nn,useDebugValue:nn,useDeferredValue:nn,useTransition:nn,useSyncExternalStore:nn,useId:nn,useHostTransitionStatus:nn,useFormState:nn,useActionState:nn,useOptimistic:nn,useMemoCache:nn,useCacheRefresh:nn};yf.useEffectEvent=nn;var E2={readContext:_,use:im,useCallback:function(o,s){return Ii().memoizedState=[o,s===void 0?null:s],o},useContext:_,useEffect:vC,useImperativeHandle:function(o,s,c){c=c!=null?c.concat([o]):null,rm(4194308,4,wC.bind(null,s,o),c)},useLayoutEffect:function(o,s){return rm(4194308,4,o,s)},useInsertionEffect:function(o,s){rm(4,2,o,s)},useMemo:function(o,s){var c=Ii();s=s===void 0?null:s;var p=o();if(Al){et(!0);try{o()}finally{et(!1)}}return c.memoizedState=[p,s],p},useReducer:function(o,s,c){var p=Ii();if(c!==void 0){var v=c(s);if(Al){et(!0);try{c(s)}finally{et(!1)}}}else v=s;return p.memoizedState=p.baseState=v,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:v},p.queue=o,o=o.dispatch=o5.bind(null,se,o),[p.memoizedState,o]},useRef:function(o){var s=Ii();return o={current:o},s.memoizedState=o},useState:function(o){o=rb(o);var s=o.queue,c=zC.bind(null,se,s);return s.dispatch=c,[o.memoizedState,c]},useDebugValue:lb,useDeferredValue:function(o,s){var c=Ii();return ub(c,o,s)},useTransition:function(){var o=rb(!1);return o=AC.bind(null,se,o.queue,!0,!1),Ii().memoizedState=o,[!1,o]},useSyncExternalStore:function(o,s,c){var p=se,v=Ii();if(Te){if(c===void 0)throw Error(i(407));c=c()}else{if(c=s(),ke===null)throw Error(i(349));xe&127||nC(p,s,c)}v.memoizedState=c;var S={value:c,getSnapshot:s};return v.queue=S,vC(aC.bind(null,p,S,o),[o]),p.flags|=2048,Bu(9,{destroy:void 0},iC.bind(null,p,S,c,s),null),c},useId:function(){var o=Ii(),s=ke.identifierPrefix;if(Te){var c=Nr,p=Ir;c=(p&~(1<<32-ca(p)-1)).toString(32)+c,s="_"+s+"R_"+c,c=Pm++,0<c&&(s+="H"+c.toString(32)),s+="_"}else c=h6++,s="_"+s+"r_"+c.toString(32)+"_";return o.memoizedState=s},useHostTransitionStatus:cb,useFormState:hC,useActionState:hC,useOptimistic:function(o){var s=Ii();s.memoizedState=s.baseState=o;var c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return s.queue=c,s=db.bind(null,se,!0,c),c.dispatch=s,[o,s]},useMemoCache:nb,useCacheRefresh:function(){return Ii().memoizedState=r5.bind(null,se)},useEffectEvent:function(o){var s=Ii(),c={impl:o};return s.memoizedState=c,function(){if(ge&2)throw Error(i(440));return c.impl.apply(void 0,arguments)}}},dS={readContext:_,use:im,useCallback:RC,useContext:_,useEffect:sb,useImperativeHandle:TC,useInsertionEffect:SC,useLayoutEffect:xC,useMemo:EC,useReducer:am,useRef:yC,useState:function(){return am(Jr)},useDebugValue:lb,useDeferredValue:function(o,s){var c=Sn();return CC(c,Fe.memoizedState,o,s)},useTransition:function(){var o=am(Jr)[0],s=Sn().memoizedState;return[typeof o=="boolean"?o:Jd(o),s]},useSyncExternalStore:eC,useId:OC,useHostTransitionStatus:cb,useFormState:pC,useActionState:pC,useOptimistic:function(o,s){var c=Sn();return sC(c,Fe,o,s)},useMemoCache:nb,useCacheRefresh:_C};dS.useEffectEvent=bC;var C2={readContext:_,use:im,useCallback:RC,useContext:_,useEffect:sb,useImperativeHandle:TC,useInsertionEffect:SC,useLayoutEffect:xC,useMemo:EC,useReducer:ab,useRef:yC,useState:function(){return ab(Jr)},useDebugValue:lb,useDeferredValue:function(o,s){var c=Sn();return Fe===null?ub(c,o,s):CC(c,Fe.memoizedState,o,s)},useTransition:function(){var o=ab(Jr)[0],s=Sn().memoizedState;return[typeof o=="boolean"?o:Jd(o),s]},useSyncExternalStore:eC,useId:OC,useHostTransitionStatus:cb,useFormState:gC,useActionState:gC,useOptimistic:function(o,s){var c=Sn();return Fe!==null?sC(c,Fe,o,s):(c.baseState=o,[o,c.queue.dispatch])},useMemoCache:nb,useCacheRefresh:_C};C2.useEffectEvent=bC;var fS={enqueueSetState:function(o,s,c){o=o._reactInternals;var p=la(),v=mt(p);v.payload=s,c!=null&&(v.callback=c),s=vt(o,v,p),s!==null&&(ji(s,o,p),$t(s,o,p))},enqueueReplaceState:function(o,s,c){o=o._reactInternals;var p=la(),v=mt(p);v.tag=1,v.payload=s,c!=null&&(v.callback=c),s=vt(o,v,p),s!==null&&(ji(s,o,p),$t(s,o,p))},enqueueForceUpdate:function(o,s){o=o._reactInternals;var c=la(),p=mt(c);p.tag=2,s!=null&&(p.callback=s),s=vt(o,p,c),s!==null&&(ji(s,o,c),$t(s,o,c))}},hS=Error(i(461)),On=!1,pS={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null},so=!1,_n=!1,mS=!1,A2=typeof WeakSet=="function"?WeakSet:Set,Jn=null,zn=null,Gi=!1,sr=null,ac=8192,p6={getCacheForType:function(o){var s=_(un),c=s.data.get(o);return c===void 0&&(c=o(),s.data.set(o,c)),c},cacheSignal:function(){return _(un).controller.signal}},Bm=0,Hm=1,Fm=2,Vm=3,Um=4;if(typeof Symbol=="function"&&Symbol.for){var vf=Symbol.for;Bm=vf("selector.component"),Hm=vf("selector.has_pseudo_class"),Fm=vf("selector.role"),Vm=vf("selector.test_id"),Um=vf("selector.text")}var m6=typeof WeakMap=="function"?WeakMap:Map,ge=0,ke=null,ye=null,xe=0,De=0,pa=null,rs=!1,rc=!1,gS=!1,lo=0,pn=0,os=0,Ml=0,yS=0,ma=0,oc=0,bf=null,Yi=null,vS=!1,qm=0,M2=0,Sf=1/0,jm=null,ss=null,kn=0,ls=null,sc=null,uo=0,bS=0,SS=null,O2=null,xf=0,xS=null;return me.attemptContinuousHydration=function(o){if(o.tag===13||o.tag===31){var s=V(o,67108864);s!==null&&ji(s,o,67108864),Vb(o,67108864)}},me.attemptHydrationAtCurrentPriority=function(o){if(o.tag===13||o.tag===31){var s=la();s=q(s);var c=V(o,s);c!==null&&ji(c,o,s),Vb(o,s)}},me.attemptSynchronousHydration=function(o){switch(o.tag){case 3:if(o=o.stateNode,o.current.memoizedState.isDehydrated){var s=T(o.pendingLanes);if(s!==0){for(o.pendingLanes|=2,o.entangledLanes|=2;s;){var c=1<<31-ca(s);o.entanglements[1]|=c,s&=~c}P(o),!(ge&6)&&(Sf=ki()+500,W(0,!1))}}break;case 31:case 13:s=V(o,2),s!==null&&ji(s,o,2),RA(),Vb(o,2)}},me.batchedUpdates=function(o,s){return o(s)},me.createComponentSelector=function(o){return{$$typeof:Bm,value:o}},me.createContainer=function(o,s,c,p,v,S,O,D,tt,dt){return qA(o,s,!1,null,c,p,S,null,O,D,tt,dt)},me.createHasPseudoClassSelector=function(o){return{$$typeof:Hm,value:o}},me.createHydrationContainer=function(o,s,c,p,v,S,O,D,tt,dt,Et,bt,_t,oe){return o=qA(c,p,!0,o,v,S,D,oe,tt,dt,Et,bt),o.context=jA(null),c=o.current,p=la(),p=q(p),v=mt(p),v.callback=s??null,vt(c,v,p),s=p,o.current.lanes=s,M(o,s),P(o),o},me.createPortal=function(o,s,c){var p=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Uu,key:p==null?null:""+p,children:o,containerInfo:s,implementation:c}},me.createRoleSelector=function(o){return{$$typeof:Fm,value:o}},me.createTestNameSelector=function(o){return{$$typeof:Vm,value:o}},me.createTextSelector=function(o){return{$$typeof:Um,value:o}},me.defaultOnCaughtError=function(o){console.error(o)},me.defaultOnRecoverableError=function(o){S2(o)},me.defaultOnUncaughtError=function(o){S2(o)},me.deferredUpdates=function(o){var s=jt.T,c=ao();try{return Wn(32),jt.T=null,o()}finally{Wn(c),jt.T=s}},me.discreteUpdates=function(o,s,c,p,v){var S=jt.T,O=ao();try{return Wn(2),jt.T=null,o(s,c,p,v)}finally{Wn(O),jt.T=S,ge===0&&(Sf=ki()+500)}},me.findAllNodes=Nb,me.findBoundingRects=function(o,s){if(!uf)throw Error(i(363));s=Nb(o,s),o=[];for(var c=0;c<s.length;c++)o.push(Z5(s[c]));for(s=o.length-1;0<s;s--){c=o[s];for(var p=c.x,v=p+c.width,S=c.y,O=S+c.height,D=s-1;0<=D;D--)if(s!==D){var tt=o[D],dt=tt.x,Et=dt+tt.width,bt=tt.y,_t=bt+tt.height;if(p>=dt&&S>=bt&&v<=Et&&O<=_t){o.splice(s,1);break}else if(p!==dt||c.width!==tt.width||_t<S||bt>O){if(!(S!==bt||c.height!==tt.height||Et<p||dt>v)){dt>p&&(tt.width+=dt-p,tt.x=p),Et<v&&(tt.width=v-dt),o.splice(s,1);break}}else{bt>S&&(tt.height+=bt-S,tt.y=S),_t<O&&(tt.height=O-bt),o.splice(s,1);break}}}return o},me.findHostInstance=kA,me.findHostInstanceWithNoPortals=function(o){return o=l(o),o=o!==null?f(o):null,o===null?null:lf(o.stateNode)},me.findHostInstanceWithWarning=function(o){return kA(o)},me.flushPassiveEffects=sf,me.flushSyncFromReconciler=function(o){var s=ge;ge|=1;var c=jt.T,p=ao();try{if(Wn(2),jt.T=null,o)return o()}finally{Wn(p),jt.T=c,ge=s,!(ge&6)&&W(0,!1)}},me.flushSyncWork=RA,me.focusWithin=function(o,s){if(!uf)throw Error(i(363));for(o=_b(o),s=SA(o,s),s=Array.from(s),o=0;o<s.length;){var c=s[o++],p=c.tag;if(!cf(c)){if((p===5||p===26||p===27)&&$5(c.stateNode))return!0;for(c=c.child;c!==null;)s.push(c),c=c.sibling}}return!1},me.getFindAllNodesFailureDescription=function(o,s){if(!uf)throw Error(i(363));var c=0,p=[];o=[_b(o),0];for(var v=0;v<o.length;){var S=o[v++],O=S.tag,D=o[v++],tt=s[D];if((O!==5&&O!==26&&O!==27||!cf(S))&&(zb(S,tt)&&(p.push(Ib(tt)),D++,D>c&&(c=D)),D<s.length))for(S=S.child;S!==null;)o.push(S,D),S=S.sibling}if(c<s.length){for(o=[];c<s.length;c++)o.push(Ib(s[c]));return`findAllNodes was able to match part of the selector:
9
- `+(p.join(" > ")+`
10
-
11
- No matching component was found for:
12
- `)+o.join(" > ")}return null},me.getPublicRootInstance=function(o){if(o=o.current,!o.child)return null;switch(o.child.tag){case 27:case 5:return lf(o.child.stateNode);default:return o.child.stateNode}},me.injectIntoDevTools=function(){var o={bundleType:0,version:M5,rendererPackageName:O5,currentDispatcherRef:jt,reconcilerVersion:"19.2.0"};if(ZA!==null&&(o.rendererConfig=ZA),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")o=!1;else{var s=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(s.isDisabled||!s.supportsFiber)o=!0;else{try{df=s.inject(o),da=s}catch{}o=!!s.checkDCE}}return o},me.isAlreadyRendering=function(){return(ge&6)!==0},me.observeVisibleRects=function(o,s,c,p){if(!uf)throw Error(i(363));o=Nb(o,s);var v=tB(o,c,p).disconnect;return{disconnect:function(){v()}}},me.shouldError=function(){return null},me.shouldSuspend=function(){return!1},me.startHostTransition=function(o,s,c,p){if(o.tag!==5)throw Error(i(476));var v=MC(o).queue;AC(o,v,s,ju,c===null?n:function(){var S=MC(o);return S.next===null&&(S=o.alternate.memoizedState),$d(o,S.next.queue,{},la()),c(p)})},me.updateContainer=function(o,s,c,p){var v=s.current,S=la();return GA(v,S,o,s,c,p),S},me.updateContainerSync=function(o,s,c,p){return GA(s.current,2,o,s,c,p),2},me};Xf.exports.default=Xf.exports;Object.defineProperty(Xf.exports,"__esModule",{value:!0})});var N_=Li((DQ,I_)=>{"use strict";I_.exports=z_()});var Xl=Li((PQ,L_)=>{"use strict";L_.exports=ReactDOM});var YL=Li(gv=>{"use strict";var Xn=Sx(),oI=ct(),GV=Xl();function ot(t){var e="https://react.dev/errors/"+t;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function sI(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function Nh(t){var e=t,n=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,e.flags&4098&&(n=e.return),t=e.return;while(t)}return e.tag===3?n:null}function lI(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function uI(t){if(t.tag===31){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function D_(t){if(Nh(t)!==t)throw Error(ot(188))}function YV(t){var e=t.alternate;if(!e){if(e=Nh(t),e===null)throw Error(ot(188));return e!==t?null:t}for(var n=t,i=e;;){var a=n.return;if(a===null)break;var r=a.alternate;if(r===null){if(i=a.return,i!==null){n=i;continue}break}if(a.child===r.child){for(r=a.child;r;){if(r===n)return D_(a),t;if(r===i)return D_(a),e;r=r.sibling}throw Error(ot(188))}if(n.return!==i.return)n=a,i=r;else{for(var l=!1,u=a.child;u;){if(u===n){l=!0,n=a,i=r;break}if(u===i){l=!0,i=a,n=r;break}u=u.sibling}if(!l){for(u=r.child;u;){if(u===n){l=!0,n=r,i=a;break}if(u===i){l=!0,i=r,n=a;break}u=u.sibling}if(!l)throw Error(ot(189))}}if(n.alternate!==i)throw Error(ot(190))}if(n.tag!==3)throw Error(ot(188));return n.stateNode.current===n?t:e}function cI(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t;for(t=t.child;t!==null;){if(e=cI(t),e!==null)return e;t=t.sibling}return null}var Je=Object.assign,XV=Symbol.for("react.element"),Yg=Symbol.for("react.transitional.element"),eh=Symbol.for("react.portal"),qc=Symbol.for("react.fragment"),dI=Symbol.for("react.strict_mode"),tw=Symbol.for("react.profiler"),fI=Symbol.for("react.consumer"),Co=Symbol.for("react.context"),Kw=Symbol.for("react.forward_ref"),ew=Symbol.for("react.suspense"),nw=Symbol.for("react.suspense_list"),Zw=Symbol.for("react.memo"),xs=Symbol.for("react.lazy");Symbol.for("react.scope");var iw=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var QV=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var P_=Symbol.iterator;function Qf(t){return t===null||typeof t!="object"?null:(t=P_&&t[P_]||t["@@iterator"],typeof t=="function"?t:null)}var KV=Symbol.for("react.client.reference");function aw(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===KV?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case qc:return"Fragment";case tw:return"Profiler";case dI:return"StrictMode";case ew:return"Suspense";case nw:return"SuspenseList";case iw:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case eh:return"Portal";case Co:return t.displayName||"Context";case fI:return(t._context.displayName||"Context")+".Consumer";case Kw:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Zw:return e=t.displayName||null,e!==null?e:aw(t.type)||"Memo";case xs:e=t._payload,t=t._init;try{return aw(t(e))}catch{}}return null}var nh=Array.isArray,Qt=oI.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ne=GV.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$l={pending:!1,data:null,method:null,action:null},rw=[],jc=-1;function Ur(t){return{current:t}}function ni(t){0>jc||(t.current=rw[jc],rw[jc]=null,jc--)}function Qe(t,e){jc++,rw[jc]=t.current,t.current=e}var Vr=Ur(null),bh=Ur(null),Is=Ur(null),Ey=Ur(null);function Cy(t,e){switch(Qe(Is,e),Qe(bh,t),Qe(Vr,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?jz(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=jz(e),t=IL(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}ni(Vr),Qe(Vr,t)}function sd(){ni(Vr),ni(bh),ni(Is)}function ow(t){t.memoizedState!==null&&Qe(Ey,t);var e=Vr.current,n=IL(e,t.type);e!==n&&(Qe(bh,t),Qe(Vr,n))}function Ay(t){bh.current===t&&(ni(Vr),ni(bh)),Ey.current===t&&(ni(Ey),_h._currentValue=$l)}var xx,B_;function Kl(t){if(xx===void 0)try{throw Error()}catch(n){var e=n.stack.trim().match(/\n( *(at )?)/);xx=e&&e[1]||"",B_=-1<n.stack.indexOf(`
13
- at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
14
- `+xx+t+B_}var wx=!1;function Tx(t,e){if(!t||wx)return"";wx=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var i={DetermineComponentFrameRoot:function(){try{if(e){var m=function(){throw Error()};if(Object.defineProperty(m.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(m,[])}catch(g){var y=g}Reflect.construct(t,[],m)}else{try{m.call()}catch(g){y=g}t.call(m.prototype)}}else{try{throw Error()}catch(g){y=g}(m=t())&&typeof m.catch=="function"&&m.catch(function(){})}}catch(g){if(g&&y&&typeof g.stack=="string")return[g.stack,y.stack]}return[null,null]}};i.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var a=Object.getOwnPropertyDescriptor(i.DetermineComponentFrameRoot,"name");a&&a.configurable&&Object.defineProperty(i.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var r=i.DetermineComponentFrameRoot(),l=r[0],u=r[1];if(l&&u){var f=l.split(`
15
- `),h=u.split(`
16
- `);for(a=i=0;i<f.length&&!f[i].includes("DetermineComponentFrameRoot");)i++;for(;a<h.length&&!h[a].includes("DetermineComponentFrameRoot");)a++;if(i===f.length||a===h.length)for(i=f.length-1,a=h.length-1;1<=i&&0<=a&&f[i]!==h[a];)a--;for(;1<=i&&0<=a;i--,a--)if(f[i]!==h[a]){if(i!==1||a!==1)do if(i--,a--,0>a||f[i]!==h[a]){var d=`
17
- `+f[i].replace(" at new "," at ");return t.displayName&&d.includes("<anonymous>")&&(d=d.replace("<anonymous>",t.displayName)),d}while(1<=i&&0<=a);break}}}finally{wx=!1,Error.prepareStackTrace=n}return(n=t?t.displayName||t.name:"")?Kl(n):""}function ZV(t,e){switch(t.tag){case 26:case 27:case 5:return Kl(t.type);case 16:return Kl("Lazy");case 13:return t.child!==e&&e!==null?Kl("Suspense Fallback"):Kl("Suspense");case 19:return Kl("SuspenseList");case 0:case 15:return Tx(t.type,!1);case 11:return Tx(t.type.render,!1);case 1:return Tx(t.type,!0);case 31:return Kl("Activity");default:return""}}function H_(t){try{var e="",n=null;do e+=ZV(t,n),n=t,t=t.return;while(t);return e}catch(i){return`
18
- Error generating stack: `+i.message+`
19
- `+i.stack}}var sw=Object.prototype.hasOwnProperty,Ww=Xn.unstable_scheduleCallback,Rx=Xn.unstable_cancelCallback,WV=Xn.unstable_shouldYield,JV=Xn.unstable_requestPaint,Ra=Xn.unstable_now,$V=Xn.unstable_getCurrentPriorityLevel,hI=Xn.unstable_ImmediatePriority,pI=Xn.unstable_UserBlockingPriority,My=Xn.unstable_NormalPriority,tU=Xn.unstable_LowPriority,mI=Xn.unstable_IdlePriority,eU=Xn.log,nU=Xn.unstable_setDisableYieldValue,Lh=null,Ea=null;function As(t){if(typeof eU=="function"&&nU(t),Ea&&typeof Ea.setStrictMode=="function")try{Ea.setStrictMode(Lh,t)}catch{}}var Ca=Math.clz32?Math.clz32:rU,iU=Math.log,aU=Math.LN2;function rU(t){return t>>>=0,t===0?32:31-(iU(t)/aU|0)|0}var Xg=256,Qg=262144,Kg=4194304;function Zl(t){var e=t&42;if(e!==0)return e;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function tv(t,e,n){var i=t.pendingLanes;if(i===0)return 0;var a=0,r=t.suspendedLanes,l=t.pingedLanes;t=t.warmLanes;var u=i&134217727;return u!==0?(i=u&~r,i!==0?a=Zl(i):(l&=u,l!==0?a=Zl(l):n||(n=u&~t,n!==0&&(a=Zl(n))))):(u=i&~r,u!==0?a=Zl(u):l!==0?a=Zl(l):n||(n=i&~t,n!==0&&(a=Zl(n)))),a===0?0:e!==0&&e!==a&&!(e&r)&&(r=a&-a,n=e&-e,r>=n||r===32&&(n&4194048)!==0)?e:a}function Dh(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&e)===0}function oU(t,e){switch(t){case 1:case 2:case 4:case 8:case 64:return e+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function gI(){var t=Kg;return Kg<<=1,!(Kg&62914560)&&(Kg=4194304),t}function Ex(t){for(var e=[],n=0;31>n;n++)e.push(t);return e}function Ph(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function sU(t,e,n,i,a,r){var l=t.pendingLanes;t.pendingLanes=n,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=n,t.entangledLanes&=n,t.errorRecoveryDisabledLanes&=n,t.shellSuspendCounter=0;var u=t.entanglements,f=t.expirationTimes,h=t.hiddenUpdates;for(n=l&~n;0<n;){var d=31-Ca(n),m=1<<d;u[d]=0,f[d]=-1;var y=h[d];if(y!==null)for(h[d]=null,d=0;d<y.length;d++){var g=y[d];g!==null&&(g.lane&=-536870913)}n&=~m}i!==0&&yI(t,i,0),r!==0&&a===0&&t.tag!==0&&(t.suspendedLanes|=r&~(l&~e))}function yI(t,e,n){t.pendingLanes|=e,t.suspendedLanes&=~e;var i=31-Ca(e);t.entangledLanes|=e,t.entanglements[i]=t.entanglements[i]|1073741824|n&261930}function vI(t,e){var n=t.entangledLanes|=e;for(t=t.entanglements;n;){var i=31-Ca(n),a=1<<i;a&e|t[i]&e&&(t[i]|=e),n&=~a}}function bI(t,e){var n=e&-e;return n=n&42?1:Jw(n),n&(t.suspendedLanes|e)?0:n}function Jw(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function $w(t){return t&=-t,2<t?8<t?t&134217727?32:268435456:8:2}function SI(){var t=Ne.p;return t!==0?t:(t=window.event,t===void 0?32:jL(t.type))}function F_(t,e){var n=Ne.p;try{return Ne.p=t,e()}finally{Ne.p=n}}var Gs=Math.random().toString(36).slice(2),hi="__reactFiber$"+Gs,ta="__reactProps$"+Gs,vd="__reactContainer$"+Gs,lw="__reactEvents$"+Gs,lU="__reactListeners$"+Gs,uU="__reactHandles$"+Gs,V_="__reactResources$"+Gs,Bh="__reactMarker$"+Gs;function tT(t){delete t[hi],delete t[ta],delete t[lw],delete t[lU],delete t[uU]}function kc(t){var e=t[hi];if(e)return e;for(var n=t.parentNode;n;){if(e=n[vd]||n[hi]){if(n=e.alternate,e.child!==null||n!==null&&n.child!==null)for(t=Qz(t);t!==null;){if(n=t[hi])return n;t=Qz(t)}return e}t=n,n=t.parentNode}return null}function bd(t){if(t=t[hi]||t[vd]){var e=t.tag;if(e===5||e===6||e===13||e===31||e===26||e===27||e===3)return t}return null}function ih(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t.stateNode;throw Error(ot(33))}function td(t){var e=t[V_];return e||(e=t[V_]={hoistableStyles:new Map,hoistableScripts:new Map}),e}function ei(t){t[Bh]=!0}var xI=new Set,wI={};function uu(t,e){ld(t,e),ld(t+"Capture",e)}function ld(t,e){for(wI[t]=e,t=0;t<e.length;t++)xI.add(e[t])}var cU=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),U_={},q_={};function dU(t){return sw.call(q_,t)?!0:sw.call(U_,t)?!1:cU.test(t)?q_[t]=!0:(U_[t]=!0,!1)}function cy(t,e,n){if(dU(e))if(n===null)t.removeAttribute(e);else{switch(typeof n){case"undefined":case"function":case"symbol":t.removeAttribute(e);return;case"boolean":var i=e.toLowerCase().slice(0,5);if(i!=="data-"&&i!=="aria-"){t.removeAttribute(e);return}}t.setAttribute(e,""+n)}}function Zg(t,e,n){if(n===null)t.removeAttribute(e);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(e);return}t.setAttribute(e,""+n)}}function bo(t,e,n,i){if(i===null)t.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(n);return}t.setAttributeNS(e,n,""+i)}}function ka(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function TI(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function fU(t,e,n){var i=Object.getOwnPropertyDescriptor(t.constructor.prototype,e);if(!t.hasOwnProperty(e)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var a=i.get,r=i.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return a.call(this)},set:function(l){n=""+l,r.call(this,l)}}),Object.defineProperty(t,e,{enumerable:i.enumerable}),{getValue:function(){return n},setValue:function(l){n=""+l},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function uw(t){if(!t._valueTracker){var e=TI(t)?"checked":"value";t._valueTracker=fU(t,e,""+t[e])}}function RI(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),i="";return t&&(i=TI(t)?t.checked?"true":"false":t.value),t=i,t!==n?(e.setValue(t),!0):!1}function Oy(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var hU=/[\n"\\]/g;function Xa(t){return t.replace(hU,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function cw(t,e,n,i,a,r,l,u){t.name="",l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?t.type=l:t.removeAttribute("type"),e!=null?l==="number"?(e===0&&t.value===""||t.value!=e)&&(t.value=""+ka(e)):t.value!==""+ka(e)&&(t.value=""+ka(e)):l!=="submit"&&l!=="reset"||t.removeAttribute("value"),e!=null?dw(t,l,ka(e)):n!=null?dw(t,l,ka(n)):i!=null&&t.removeAttribute("value"),a==null&&r!=null&&(t.defaultChecked=!!r),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"?t.name=""+ka(u):t.removeAttribute("name")}function EI(t,e,n,i,a,r,l,u){if(r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(t.type=r),e!=null||n!=null){if(!(r!=="submit"&&r!=="reset"||e!=null)){uw(t);return}n=n!=null?""+ka(n):"",e=e!=null?""+ka(e):n,u||e===t.value||(t.value=e),t.defaultValue=e}i=i??a,i=typeof i!="function"&&typeof i!="symbol"&&!!i,t.checked=u?t.checked:!!i,t.defaultChecked=!!i,l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"&&(t.name=l),uw(t)}function dw(t,e,n){e==="number"&&Oy(t.ownerDocument)===t||t.defaultValue===""+n||(t.defaultValue=""+n)}function ed(t,e,n,i){if(t=t.options,e){e={};for(var a=0;a<n.length;a++)e["$"+n[a]]=!0;for(n=0;n<t.length;n++)a=e.hasOwnProperty("$"+t[n].value),t[n].selected!==a&&(t[n].selected=a),a&&i&&(t[n].defaultSelected=!0)}else{for(n=""+ka(n),e=null,a=0;a<t.length;a++){if(t[a].value===n){t[a].selected=!0,i&&(t[a].defaultSelected=!0);return}e!==null||t[a].disabled||(e=t[a])}e!==null&&(e.selected=!0)}}function CI(t,e,n){if(e!=null&&(e=""+ka(e),e!==t.value&&(t.value=e),n==null)){t.defaultValue!==e&&(t.defaultValue=e);return}t.defaultValue=n!=null?""+ka(n):""}function AI(t,e,n,i){if(e==null){if(i!=null){if(n!=null)throw Error(ot(92));if(nh(i)){if(1<i.length)throw Error(ot(93));i=i[0]}n=i}n==null&&(n=""),e=n}n=ka(e),t.defaultValue=n,i=t.textContent,i===n&&i!==""&&i!==null&&(t.value=i),uw(t)}function ud(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var pU=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function j_(t,e,n){var i=e.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?i?t.setProperty(e,""):e==="float"?t.cssFloat="":t[e]="":i?t.setProperty(e,n):typeof n!="number"||n===0||pU.has(e)?e==="float"?t.cssFloat=n:t[e]=(""+n).trim():t[e]=n+"px"}function MI(t,e,n){if(e!=null&&typeof e!="object")throw Error(ot(62));if(t=t.style,n!=null){for(var i in n)!n.hasOwnProperty(i)||e!=null&&e.hasOwnProperty(i)||(i.indexOf("--")===0?t.setProperty(i,""):i==="float"?t.cssFloat="":t[i]="");for(var a in e)i=e[a],e.hasOwnProperty(a)&&n[a]!==i&&j_(t,a,i)}else for(var r in e)e.hasOwnProperty(r)&&j_(t,r,e[r])}function eT(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var mU=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),gU=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function dy(t){return gU.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function Ao(){}var fw=null;function nT(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Gc=null,nd=null;function k_(t){var e=bd(t);if(e&&(t=e.stateNode)){var n=t[ta]||null;t:switch(t=e.stateNode,e.type){case"input":if(cw(t,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),e=n.name,n.type==="radio"&&e!=null){for(n=t;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Xa(""+e)+'"][type="radio"]'),e=0;e<n.length;e++){var i=n[e];if(i!==t&&i.form===t.form){var a=i[ta]||null;if(!a)throw Error(ot(90));cw(i,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(e=0;e<n.length;e++)i=n[e],i.form===t.form&&RI(i)}break t;case"textarea":CI(t,n.value,n.defaultValue);break t;case"select":e=n.value,e!=null&&ed(t,!!n.multiple,e,!1)}}}var Cx=!1;function OI(t,e,n){if(Cx)return t(e,n);Cx=!0;try{var i=t(e);return i}finally{if(Cx=!1,(Gc!==null||nd!==null)&&(fv(),Gc&&(e=Gc,t=nd,nd=Gc=null,k_(e),t)))for(e=0;e<t.length;e++)k_(t[e])}}function Sh(t,e){var n=t.stateNode;if(n===null)return null;var i=n[ta]||null;if(i===null)return null;n=i[e];t:switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(t=t.type,i=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!i;break t;default:t=!1}if(t)return null;if(n&&typeof n!="function")throw Error(ot(231,e,typeof n));return n}var Io=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hw=!1;if(Io)try{Bc={},Object.defineProperty(Bc,"passive",{get:function(){hw=!0}}),window.addEventListener("test",Bc,Bc),window.removeEventListener("test",Bc,Bc)}catch{hw=!1}var Bc,Ms=null,iT=null,fy=null;function _I(){if(fy)return fy;var t,e=iT,n=e.length,i,a="value"in Ms?Ms.value:Ms.textContent,r=a.length;for(t=0;t<n&&e[t]===a[t];t++);var l=n-t;for(i=1;i<=l&&e[n-i]===a[r-i];i++);return fy=a.slice(t,1<i?1-i:void 0)}function hy(t){var e=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&e===13&&(t=13)):t=e,t===10&&(t=13),32<=t||t===13?t:0}function Wg(){return!0}function G_(){return!1}function ea(t){function e(n,i,a,r,l){this._reactName=n,this._targetInst=a,this.type=i,this.nativeEvent=r,this.target=l,this.currentTarget=null;for(var u in t)t.hasOwnProperty(u)&&(n=t[u],this[u]=n?n(r):r[u]);return this.isDefaultPrevented=(r.defaultPrevented!=null?r.defaultPrevented:r.returnValue===!1)?Wg:G_,this.isPropagationStopped=G_,this}return Je(e.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Wg)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Wg)},persist:function(){},isPersistent:Wg}),e}var cu={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ev=ea(cu),Hh=Je({},cu,{view:0,detail:0}),yU=ea(Hh),Ax,Mx,Kf,nv=Je({},Hh,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:aT,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Kf&&(Kf&&t.type==="mousemove"?(Ax=t.screenX-Kf.screenX,Mx=t.screenY-Kf.screenY):Mx=Ax=0,Kf=t),Ax)},movementY:function(t){return"movementY"in t?t.movementY:Mx}}),Y_=ea(nv),vU=Je({},nv,{dataTransfer:0}),bU=ea(vU),SU=Je({},Hh,{relatedTarget:0}),Ox=ea(SU),xU=Je({},cu,{animationName:0,elapsedTime:0,pseudoElement:0}),wU=ea(xU),TU=Je({},cu,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),RU=ea(TU),EU=Je({},cu,{data:0}),X_=ea(EU),CU={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},AU={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},MU={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function OU(t){var e=this.nativeEvent;return e.getModifierState?e.getModifierState(t):(t=MU[t])?!!e[t]:!1}function aT(){return OU}var _U=Je({},Hh,{key:function(t){if(t.key){var e=CU[t.key]||t.key;if(e!=="Unidentified")return e}return t.type==="keypress"?(t=hy(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?AU[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:aT,charCode:function(t){return t.type==="keypress"?hy(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?hy(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),zU=ea(_U),IU=Je({},nv,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Q_=ea(IU),NU=Je({},Hh,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:aT}),LU=ea(NU),DU=Je({},cu,{propertyName:0,elapsedTime:0,pseudoElement:0}),PU=ea(DU),BU=Je({},nv,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),HU=ea(BU),FU=Je({},cu,{newState:0,oldState:0}),VU=ea(FU),UU=[9,13,27,32],rT=Io&&"CompositionEvent"in window,oh=null;Io&&"documentMode"in document&&(oh=document.documentMode);var qU=Io&&"TextEvent"in window&&!oh,zI=Io&&(!rT||oh&&8<oh&&11>=oh),K_=" ",Z_=!1;function II(t,e){switch(t){case"keyup":return UU.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function NI(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Yc=!1;function jU(t,e){switch(t){case"compositionend":return NI(e);case"keypress":return e.which!==32?null:(Z_=!0,K_);case"textInput":return t=e.data,t===K_&&Z_?null:t;default:return null}}function kU(t,e){if(Yc)return t==="compositionend"||!rT&&II(t,e)?(t=_I(),fy=iT=Ms=null,Yc=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1<e.char.length)return e.char;if(e.which)return String.fromCharCode(e.which)}return null;case"compositionend":return zI&&e.locale!=="ko"?null:e.data;default:return null}}var GU={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function W_(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e==="input"?!!GU[t.type]:e==="textarea"}function LI(t,e,n,i){Gc?nd?nd.push(i):nd=[i]:Gc=i,e=Xy(e,"onChange"),0<e.length&&(n=new ev("onChange","change",null,n,i),t.push({event:n,listeners:e}))}var sh=null,xh=null;function YU(t){OL(t,0)}function iv(t){var e=ih(t);if(RI(e))return t}function J_(t,e){if(t==="change")return e}var DI=!1;Io&&(Io?($g="oninput"in document,$g||(_x=document.createElement("div"),_x.setAttribute("oninput","return;"),$g=typeof _x.oninput=="function"),Jg=$g):Jg=!1,DI=Jg&&(!document.documentMode||9<document.documentMode));var Jg,$g,_x;function $_(){sh&&(sh.detachEvent("onpropertychange",PI),xh=sh=null)}function PI(t){if(t.propertyName==="value"&&iv(xh)){var e=[];LI(e,xh,t,nT(t)),OI(YU,e)}}function XU(t,e,n){t==="focusin"?($_(),sh=e,xh=n,sh.attachEvent("onpropertychange",PI)):t==="focusout"&&$_()}function QU(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return iv(xh)}function KU(t,e){if(t==="click")return iv(e)}function ZU(t,e){if(t==="input"||t==="change")return iv(e)}function WU(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var Ma=typeof Object.is=="function"?Object.is:WU;function wh(t,e){if(Ma(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;var n=Object.keys(t),i=Object.keys(e);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++){var a=n[i];if(!sw.call(e,a)||!Ma(t[a],e[a]))return!1}return!0}function tz(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function ez(t,e){var n=tz(t);t=0;for(var i;n;){if(n.nodeType===3){if(i=t+n.textContent.length,t<=e&&i>=e)return{node:n,offset:e-t};t=i}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=tz(n)}}function BI(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?BI(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function HI(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var e=Oy(t.document);e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=Oy(t.document)}return e}function oT(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}var JU=Io&&"documentMode"in document&&11>=document.documentMode,Xc=null,pw=null,lh=null,mw=!1;function nz(t,e,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;mw||Xc==null||Xc!==Oy(i)||(i=Xc,"selectionStart"in i&&oT(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),lh&&wh(lh,i)||(lh=i,i=Xy(pw,"onSelect"),0<i.length&&(e=new ev("onSelect","select",null,e,n),t.push({event:e,listeners:i}),e.target=Xc)))}function Ql(t,e){var n={};return n[t.toLowerCase()]=e.toLowerCase(),n["Webkit"+t]="webkit"+e,n["Moz"+t]="moz"+e,n}var Qc={animationend:Ql("Animation","AnimationEnd"),animationiteration:Ql("Animation","AnimationIteration"),animationstart:Ql("Animation","AnimationStart"),transitionrun:Ql("Transition","TransitionRun"),transitionstart:Ql("Transition","TransitionStart"),transitioncancel:Ql("Transition","TransitionCancel"),transitionend:Ql("Transition","TransitionEnd")},zx={},FI={};Io&&(FI=document.createElement("div").style,"AnimationEvent"in window||(delete Qc.animationend.animation,delete Qc.animationiteration.animation,delete Qc.animationstart.animation),"TransitionEvent"in window||delete Qc.transitionend.transition);function du(t){if(zx[t])return zx[t];if(!Qc[t])return t;var e=Qc[t],n;for(n in e)if(e.hasOwnProperty(n)&&n in FI)return zx[t]=e[n];return t}var VI=du("animationend"),UI=du("animationiteration"),qI=du("animationstart"),$U=du("transitionrun"),tq=du("transitionstart"),eq=du("transitioncancel"),jI=du("transitionend"),kI=new Map,gw="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");gw.push("scrollEnd");function gr(t,e){kI.set(t,e),uu(e,[t])}var _y=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var e=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(e))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},ja=[],Kc=0,sT=0;function av(){for(var t=Kc,e=sT=Kc=0;e<t;){var n=ja[e];ja[e++]=null;var i=ja[e];ja[e++]=null;var a=ja[e];ja[e++]=null;var r=ja[e];if(ja[e++]=null,i!==null&&a!==null){var l=i.pending;l===null?a.next=a:(a.next=l.next,l.next=a),i.pending=a}r!==0&&GI(n,a,r)}}function rv(t,e,n,i){ja[Kc++]=t,ja[Kc++]=e,ja[Kc++]=n,ja[Kc++]=i,sT|=i,t.lanes|=i,t=t.alternate,t!==null&&(t.lanes|=i)}function lT(t,e,n,i){return rv(t,e,n,i),zy(t)}function fu(t,e){return rv(t,null,null,e),zy(t)}function GI(t,e,n){t.lanes|=n;var i=t.alternate;i!==null&&(i.lanes|=n);for(var a=!1,r=t.return;r!==null;)r.childLanes|=n,i=r.alternate,i!==null&&(i.childLanes|=n),r.tag===22&&(t=r.stateNode,t===null||t._visibility&1||(a=!0)),t=r,r=r.return;return t.tag===3?(r=t.stateNode,a&&e!==null&&(a=31-Ca(n),t=r.hiddenUpdates,i=t[a],i===null?t[a]=[e]:i.push(e),e.lane=n|536870912),r):null}function zy(t){if(50<yh)throw yh=0,Bw=null,Error(ot(185));for(var e=t.return;e!==null;)t=e,e=t.return;return t.tag===3?t.stateNode:null}var Zc={};function nq(t,e,n,i){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function wa(t,e,n,i){return new nq(t,e,n,i)}function uT(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Oo(t,e){var n=t.alternate;return n===null?(n=wa(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&65011712,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n.refCleanup=t.refCleanup,n}function YI(t,e){t.flags&=65011714;var n=t.alternate;return n===null?(t.childLanes=0,t.lanes=e,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=n.childLanes,t.lanes=n.lanes,t.child=n.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=n.memoizedProps,t.memoizedState=n.memoizedState,t.updateQueue=n.updateQueue,t.type=n.type,e=n.dependencies,t.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),t}function py(t,e,n,i,a,r){var l=0;if(i=t,typeof t=="function")uT(t)&&(l=1);else if(typeof t=="string")l=r8(t,n,Vr.current)?26:t==="html"||t==="head"||t==="body"?27:5;else t:switch(t){case iw:return t=wa(31,n,e,a),t.elementType=iw,t.lanes=r,t;case qc:return tu(n.children,a,r,e);case dI:l=8,a|=24;break;case tw:return t=wa(12,n,e,a|2),t.elementType=tw,t.lanes=r,t;case ew:return t=wa(13,n,e,a),t.elementType=ew,t.lanes=r,t;case nw:return t=wa(19,n,e,a),t.elementType=nw,t.lanes=r,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Co:l=10;break t;case fI:l=9;break t;case Kw:l=11;break t;case Zw:l=14;break t;case xs:l=16,i=null;break t}l=29,n=Error(ot(130,t===null?"null":typeof t,"")),i=null}return e=wa(l,n,e,a),e.elementType=t,e.type=i,e.lanes=r,e}function tu(t,e,n,i){return t=wa(7,t,i,e),t.lanes=n,t}function Ix(t,e,n){return t=wa(6,t,null,e),t.lanes=n,t}function XI(t){var e=wa(18,null,null,0);return e.stateNode=t,e}function Nx(t,e,n){return e=wa(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}var iz=new WeakMap;function Qa(t,e){if(typeof t=="object"&&t!==null){var n=iz.get(t);return n!==void 0?n:(e={value:t,source:e,stack:H_(e)},iz.set(t,e),e)}return{value:t,source:e,stack:H_(e)}}var Wc=[],Jc=0,Iy=null,Th=0,Ga=[],Ya=0,Us=null,Br=1,Hr="";function Ro(t,e){Wc[Jc++]=Th,Wc[Jc++]=Iy,Iy=t,Th=e}function QI(t,e,n){Ga[Ya++]=Br,Ga[Ya++]=Hr,Ga[Ya++]=Us,Us=t;var i=Br;t=Hr;var a=32-Ca(i)-1;i&=~(1<<a),n+=1;var r=32-Ca(e)+a;if(30<r){var l=a-a%5;r=(i&(1<<l)-1).toString(32),i>>=l,a-=l,Br=1<<32-Ca(e)+a|n<<a|i,Hr=r+t}else Br=1<<r|n<<a|i,Hr=t}function cT(t){t.return!==null&&(Ro(t,1),QI(t,1,0))}function dT(t){for(;t===Iy;)Iy=Wc[--Jc],Wc[Jc]=null,Th=Wc[--Jc],Wc[Jc]=null;for(;t===Us;)Us=Ga[--Ya],Ga[Ya]=null,Hr=Ga[--Ya],Ga[Ya]=null,Br=Ga[--Ya],Ga[Ya]=null}function KI(t,e){Ga[Ya++]=Br,Ga[Ya++]=Hr,Ga[Ya++]=Us,Br=e.id,Hr=e.overflow,Us=t}var pi=null,We=null,Re=!1,Ns=null,Ka=!1,yw=Error(ot(519));function qs(t){var e=Error(ot(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Rh(Qa(e,t)),yw}function az(t){var e=t.stateNode,n=t.type,i=t.memoizedProps;switch(e[hi]=t,e[ta]=i,n){case"dialog":ve("cancel",e),ve("close",e);break;case"iframe":case"object":case"embed":ve("load",e);break;case"video":case"audio":for(n=0;n<Mh.length;n++)ve(Mh[n],e);break;case"source":ve("error",e);break;case"img":case"image":case"link":ve("error",e),ve("load",e);break;case"details":ve("toggle",e);break;case"input":ve("invalid",e),EI(e,i.value,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name,!0);break;case"select":ve("invalid",e);break;case"textarea":ve("invalid",e),AI(e,i.value,i.defaultValue,i.children)}n=i.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||e.textContent===""+n||i.suppressHydrationWarning===!0||zL(e.textContent,n)?(i.popover!=null&&(ve("beforetoggle",e),ve("toggle",e)),i.onScroll!=null&&ve("scroll",e),i.onScrollEnd!=null&&ve("scrollend",e),i.onClick!=null&&(e.onclick=Ao),e=!0):e=!1,e||qs(t,!0)}function rz(t){for(pi=t.return;pi;)switch(pi.tag){case 5:case 31:case 13:Ka=!1;return;case 27:case 3:Ka=!0;return;default:pi=pi.return}}function Hc(t){if(t!==pi)return!1;if(!Re)return rz(t),Re=!0,!1;var e=t.tag,n;if((n=e!==3&&e!==27)&&((n=e===5)&&(n=t.type,n=!(n!=="form"&&n!=="button")||qw(t.type,t.memoizedProps)),n=!n),n&&We&&qs(t),rz(t),e===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(ot(317));We=Xz(t)}else if(e===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(ot(317));We=Xz(t)}else e===27?(e=We,Ys(t.type)?(t=Yw,Yw=null,We=t):We=e):We=pi?Wa(t.stateNode.nextSibling):null;return!0}function au(){We=pi=null,Re=!1}function Lx(){var t=Ns;return t!==null&&(Ji===null?Ji=t:Ji.push.apply(Ji,t),Ns=null),t}function Rh(t){Ns===null?Ns=[t]:Ns.push(t)}var vw=Ur(null),hu=null,Mo=null;function Ts(t,e,n){Qe(vw,e._currentValue),e._currentValue=n}function _o(t){t._currentValue=vw.current,ni(vw)}function bw(t,e,n){for(;t!==null;){var i=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,i!==null&&(i.childLanes|=e)):i!==null&&(i.childLanes&e)!==e&&(i.childLanes|=e),t===n)break;t=t.return}}function Sw(t,e,n,i){var a=t.child;for(a!==null&&(a.return=t);a!==null;){var r=a.dependencies;if(r!==null){var l=a.child;r=r.firstContext;t:for(;r!==null;){var u=r;r=a;for(var f=0;f<e.length;f++)if(u.context===e[f]){r.lanes|=n,u=r.alternate,u!==null&&(u.lanes|=n),bw(r.return,n,t),i||(l=null);break t}r=u.next}}else if(a.tag===18){if(l=a.return,l===null)throw Error(ot(341));l.lanes|=n,r=l.alternate,r!==null&&(r.lanes|=n),bw(l,n,t),l=null}else l=a.child;if(l!==null)l.return=a;else for(l=a;l!==null;){if(l===t){l=null;break}if(a=l.sibling,a!==null){a.return=l.return,l=a;break}l=l.return}a=l}}function Sd(t,e,n,i){t=null;for(var a=e,r=!1;a!==null;){if(!r){if(a.flags&524288)r=!0;else if(a.flags&262144)break}if(a.tag===10){var l=a.alternate;if(l===null)throw Error(ot(387));if(l=l.memoizedProps,l!==null){var u=a.type;Ma(a.pendingProps.value,l.value)||(t!==null?t.push(u):t=[u])}}else if(a===Ey.current){if(l=a.alternate,l===null)throw Error(ot(387));l.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(t!==null?t.push(_h):t=[_h])}a=a.return}t!==null&&Sw(e,t,n,i),e.flags|=262144}function Ny(t){for(t=t.firstContext;t!==null;){if(!Ma(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function ru(t){hu=t,Mo=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function mi(t){return ZI(hu,t)}function ty(t,e){return hu===null&&ru(t),ZI(t,e)}function ZI(t,e){var n=e._currentValue;if(e={context:e,memoizedValue:n,next:null},Mo===null){if(t===null)throw Error(ot(308));Mo=e,t.dependencies={lanes:0,firstContext:e},t.flags|=524288}else Mo=Mo.next=e;return n}var iq=typeof AbortController<"u"?AbortController:function(){var t=[],e=this.signal={aborted:!1,addEventListener:function(n,i){t.push(i)}};this.abort=function(){e.aborted=!0,t.forEach(function(n){return n()})}},aq=Xn.unstable_scheduleCallback,rq=Xn.unstable_NormalPriority,Dn={$$typeof:Co,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function fT(){return{controller:new iq,data:new Map,refCount:0}}function Fh(t){t.refCount--,t.refCount===0&&aq(rq,function(){t.controller.abort()})}var uh=null,xw=0,cd=0,id=null;function oq(t,e){if(uh===null){var n=uh=[];xw=0,cd=BT(),id={status:"pending",value:void 0,then:function(i){n.push(i)}}}return xw++,e.then(oz,oz),e}function oz(){if(--xw===0&&uh!==null){id!==null&&(id.status="fulfilled");var t=uh;uh=null,cd=0,id=null;for(var e=0;e<t.length;e++)(0,t[e])()}}function sq(t,e){var n=[],i={status:"pending",value:null,reason:null,then:function(a){n.push(a)}};return t.then(function(){i.status="fulfilled",i.value=e;for(var a=0;a<n.length;a++)(0,n[a])(e)},function(a){for(i.status="rejected",i.reason=a,a=0;a<n.length;a++)(0,n[a])(void 0)}),i}var sz=Qt.S;Qt.S=function(t,e){cL=Ra(),typeof e=="object"&&e!==null&&typeof e.then=="function"&&oq(t,e),sz!==null&&sz(t,e)};var eu=Ur(null);function hT(){var t=eu.current;return t!==null?t:Ge.pooledCache}function my(t,e){e===null?Qe(eu,eu.current):Qe(eu,e.pool)}function WI(){var t=hT();return t===null?null:{parent:Dn._currentValue,pool:t}}var xd=Error(ot(460)),pT=Error(ot(474)),ov=Error(ot(542)),Ly={then:function(){}};function lz(t){return t=t.status,t==="fulfilled"||t==="rejected"}function JI(t,e,n){switch(n=t[n],n===void 0?t.push(e):n!==e&&(e.then(Ao,Ao),e=n),e.status){case"fulfilled":return e.value;case"rejected":throw t=e.reason,cz(t),t;default:if(typeof e.status=="string")e.then(Ao,Ao);else{if(t=Ge,t!==null&&100<t.shellSuspendCounter)throw Error(ot(482));t=e,t.status="pending",t.then(function(i){if(e.status==="pending"){var a=e;a.status="fulfilled",a.value=i}},function(i){if(e.status==="pending"){var a=e;a.status="rejected",a.reason=i}})}switch(e.status){case"fulfilled":return e.value;case"rejected":throw t=e.reason,cz(t),t}throw nu=e,xd}}function Wl(t){try{var e=t._init;return e(t._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(nu=n,xd):n}}var nu=null;function uz(){if(nu===null)throw Error(ot(459));var t=nu;return nu=null,t}function cz(t){if(t===xd||t===ov)throw Error(ot(483))}var ad=null,Eh=0;function ey(t){var e=Eh;return Eh+=1,ad===null&&(ad=[]),JI(ad,t,e)}function Zf(t,e){e=e.props.ref,t.ref=e!==void 0?e:null}function ny(t,e){throw e.$$typeof===XV?Error(ot(525)):(t=Object.prototype.toString.call(e),Error(ot(31,t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)))}function $I(t){function e(x,w){if(t){var R=x.deletions;R===null?(x.deletions=[w],x.flags|=16):R.push(w)}}function n(x,w){if(!t)return null;for(;w!==null;)e(x,w),w=w.sibling;return null}function i(x){for(var w=new Map;x!==null;)x.key!==null?w.set(x.key,x):w.set(x.index,x),x=x.sibling;return w}function a(x,w){return x=Oo(x,w),x.index=0,x.sibling=null,x}function r(x,w,R){return x.index=R,t?(R=x.alternate,R!==null?(R=R.index,R<w?(x.flags|=67108866,w):R):(x.flags|=67108866,w)):(x.flags|=1048576,w)}function l(x){return t&&x.alternate===null&&(x.flags|=67108866),x}function u(x,w,R,E){return w===null||w.tag!==6?(w=Ix(R,x.mode,E),w.return=x,w):(w=a(w,R),w.return=x,w)}function f(x,w,R,E){var M=R.type;return M===qc?d(x,w,R.props.children,E,R.key):w!==null&&(w.elementType===M||typeof M=="object"&&M!==null&&M.$$typeof===xs&&Wl(M)===w.type)?(w=a(w,R.props),Zf(w,R),w.return=x,w):(w=py(R.type,R.key,R.props,null,x.mode,E),Zf(w,R),w.return=x,w)}function h(x,w,R,E){return w===null||w.tag!==4||w.stateNode.containerInfo!==R.containerInfo||w.stateNode.implementation!==R.implementation?(w=Nx(R,x.mode,E),w.return=x,w):(w=a(w,R.children||[]),w.return=x,w)}function d(x,w,R,E,M){return w===null||w.tag!==7?(w=tu(R,x.mode,E,M),w.return=x,w):(w=a(w,R),w.return=x,w)}function m(x,w,R){if(typeof w=="string"&&w!==""||typeof w=="number"||typeof w=="bigint")return w=Ix(""+w,x.mode,R),w.return=x,w;if(typeof w=="object"&&w!==null){switch(w.$$typeof){case Yg:return R=py(w.type,w.key,w.props,null,x.mode,R),Zf(R,w),R.return=x,R;case eh:return w=Nx(w,x.mode,R),w.return=x,w;case xs:return w=Wl(w),m(x,w,R)}if(nh(w)||Qf(w))return w=tu(w,x.mode,R,null),w.return=x,w;if(typeof w.then=="function")return m(x,ey(w),R);if(w.$$typeof===Co)return m(x,ty(x,w),R);ny(x,w)}return null}function y(x,w,R,E){var M=w!==null?w.key:null;if(typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint")return M!==null?null:u(x,w,""+R,E);if(typeof R=="object"&&R!==null){switch(R.$$typeof){case Yg:return R.key===M?f(x,w,R,E):null;case eh:return R.key===M?h(x,w,R,E):null;case xs:return R=Wl(R),y(x,w,R,E)}if(nh(R)||Qf(R))return M!==null?null:d(x,w,R,E,null);if(typeof R.then=="function")return y(x,w,ey(R),E);if(R.$$typeof===Co)return y(x,w,ty(x,R),E);ny(x,R)}return null}function g(x,w,R,E,M){if(typeof E=="string"&&E!==""||typeof E=="number"||typeof E=="bigint")return x=x.get(R)||null,u(w,x,""+E,M);if(typeof E=="object"&&E!==null){switch(E.$$typeof){case Yg:return x=x.get(E.key===null?R:E.key)||null,f(w,x,E,M);case eh:return x=x.get(E.key===null?R:E.key)||null,h(w,x,E,M);case xs:return E=Wl(E),g(x,w,R,E,M)}if(nh(E)||Qf(E))return x=x.get(R)||null,d(w,x,E,M,null);if(typeof E.then=="function")return g(x,w,R,ey(E),M);if(E.$$typeof===Co)return g(x,w,R,ty(w,E),M);ny(w,E)}return null}function b(x,w,R,E){for(var M=null,z=null,I=w,L=w=0,H=null;I!==null&&L<R.length;L++){I.index>L?(H=I,I=null):H=I.sibling;var q=y(x,I,R[L],E);if(q===null){I===null&&(I=H);break}t&&I&&q.alternate===null&&e(x,I),w=r(q,w,L),z===null?M=q:z.sibling=q,z=q,I=H}if(L===R.length)return n(x,I),Re&&Ro(x,L),M;if(I===null){for(;L<R.length;L++)I=m(x,R[L],E),I!==null&&(w=r(I,w,L),z===null?M=I:z.sibling=I,z=I);return Re&&Ro(x,L),M}for(I=i(I);L<R.length;L++)H=g(I,x,L,R[L],E),H!==null&&(t&&H.alternate!==null&&I.delete(H.key===null?L:H.key),w=r(H,w,L),z===null?M=H:z.sibling=H,z=H);return t&&I.forEach(function(st){return e(x,st)}),Re&&Ro(x,L),M}function T(x,w,R,E){if(R==null)throw Error(ot(151));for(var M=null,z=null,I=w,L=w=0,H=null,q=R.next();I!==null&&!q.done;L++,q=R.next()){I.index>L?(H=I,I=null):H=I.sibling;var st=y(x,I,q.value,E);if(st===null){I===null&&(I=H);break}t&&I&&st.alternate===null&&e(x,I),w=r(st,w,L),z===null?M=st:z.sibling=st,z=st,I=H}if(q.done)return n(x,I),Re&&Ro(x,L),M;if(I===null){for(;!q.done;L++,q=R.next())q=m(x,q.value,E),q!==null&&(w=r(q,w,L),z===null?M=q:z.sibling=q,z=q);return Re&&Ro(x,L),M}for(I=i(I);!q.done;L++,q=R.next())q=g(I,x,L,q.value,E),q!==null&&(t&&q.alternate!==null&&I.delete(q.key===null?L:q.key),w=r(q,w,L),z===null?M=q:z.sibling=q,z=q);return t&&I.forEach(function(et){return e(x,et)}),Re&&Ro(x,L),M}function C(x,w,R,E){if(typeof R=="object"&&R!==null&&R.type===qc&&R.key===null&&(R=R.props.children),typeof R=="object"&&R!==null){switch(R.$$typeof){case Yg:t:{for(var M=R.key;w!==null;){if(w.key===M){if(M=R.type,M===qc){if(w.tag===7){n(x,w.sibling),E=a(w,R.props.children),E.return=x,x=E;break t}}else if(w.elementType===M||typeof M=="object"&&M!==null&&M.$$typeof===xs&&Wl(M)===w.type){n(x,w.sibling),E=a(w,R.props),Zf(E,R),E.return=x,x=E;break t}n(x,w);break}else e(x,w);w=w.sibling}R.type===qc?(E=tu(R.props.children,x.mode,E,R.key),E.return=x,x=E):(E=py(R.type,R.key,R.props,null,x.mode,E),Zf(E,R),E.return=x,x=E)}return l(x);case eh:t:{for(M=R.key;w!==null;){if(w.key===M)if(w.tag===4&&w.stateNode.containerInfo===R.containerInfo&&w.stateNode.implementation===R.implementation){n(x,w.sibling),E=a(w,R.children||[]),E.return=x,x=E;break t}else{n(x,w);break}else e(x,w);w=w.sibling}E=Nx(R,x.mode,E),E.return=x,x=E}return l(x);case xs:return R=Wl(R),C(x,w,R,E)}if(nh(R))return b(x,w,R,E);if(Qf(R)){if(M=Qf(R),typeof M!="function")throw Error(ot(150));return R=M.call(R),T(x,w,R,E)}if(typeof R.then=="function")return C(x,w,ey(R),E);if(R.$$typeof===Co)return C(x,w,ty(x,R),E);ny(x,R)}return typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint"?(R=""+R,w!==null&&w.tag===6?(n(x,w.sibling),E=a(w,R),E.return=x,x=E):(n(x,w),E=Ix(R,x.mode,E),E.return=x,x=E),l(x)):n(x,w)}return function(x,w,R,E){try{Eh=0;var M=C(x,w,R,E);return ad=null,M}catch(I){if(I===xd||I===ov)throw I;var z=wa(29,I,null,x.mode);return z.lanes=E,z.return=x,z}finally{}}}var ou=$I(!0),tN=$I(!1),ws=!1;function mT(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ww(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Ls(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Ds(t,e,n){var i=t.updateQueue;if(i===null)return null;if(i=i.shared,Ie&2){var a=i.pending;return a===null?e.next=e:(e.next=a.next,a.next=e),i.pending=e,e=zy(t),GI(t,null,n),e}return rv(t,i,e,n),zy(t)}function ch(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194048)!==0)){var i=e.lanes;i&=t.pendingLanes,n|=i,e.lanes=n,vI(t,n)}}function Dx(t,e){var n=t.updateQueue,i=t.alternate;if(i!==null&&(i=i.updateQueue,n===i)){var a=null,r=null;if(n=n.firstBaseUpdate,n!==null){do{var l={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};r===null?a=r=l:r=r.next=l,n=n.next}while(n!==null);r===null?a=r=e:r=r.next=e}else a=r=e;n={baseState:i.baseState,firstBaseUpdate:a,lastBaseUpdate:r,shared:i.shared,callbacks:i.callbacks},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}var Tw=!1;function dh(){if(Tw){var t=id;if(t!==null)throw t}}function fh(t,e,n,i){Tw=!1;var a=t.updateQueue;ws=!1;var r=a.firstBaseUpdate,l=a.lastBaseUpdate,u=a.shared.pending;if(u!==null){a.shared.pending=null;var f=u,h=f.next;f.next=null,l===null?r=h:l.next=h,l=f;var d=t.alternate;d!==null&&(d=d.updateQueue,u=d.lastBaseUpdate,u!==l&&(u===null?d.firstBaseUpdate=h:u.next=h,d.lastBaseUpdate=f))}if(r!==null){var m=a.baseState;l=0,d=h=f=null,u=r;do{var y=u.lane&-536870913,g=y!==u.lane;if(g?(we&y)===y:(i&y)===y){y!==0&&y===cd&&(Tw=!0),d!==null&&(d=d.next={lane:0,tag:u.tag,payload:u.payload,callback:null,next:null});t:{var b=t,T=u;y=e;var C=n;switch(T.tag){case 1:if(b=T.payload,typeof b=="function"){m=b.call(C,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=T.payload,y=typeof b=="function"?b.call(C,m,y):b,y==null)break t;m=Je({},m,y);break t;case 2:ws=!0}}y=u.callback,y!==null&&(t.flags|=64,g&&(t.flags|=8192),g=a.callbacks,g===null?a.callbacks=[y]:g.push(y))}else g={lane:y,tag:u.tag,payload:u.payload,callback:u.callback,next:null},d===null?(h=d=g,f=m):d=d.next=g,l|=y;if(u=u.next,u===null){if(u=a.shared.pending,u===null)break;g=u,u=g.next,g.next=null,a.lastBaseUpdate=g,a.shared.pending=null}}while(!0);d===null&&(f=m),a.baseState=f,a.firstBaseUpdate=h,a.lastBaseUpdate=d,r===null&&(a.shared.lanes=0),ks|=l,t.lanes=l,t.memoizedState=m}}function eN(t,e){if(typeof t!="function")throw Error(ot(191,t));t.call(e)}function nN(t,e){var n=t.callbacks;if(n!==null)for(t.callbacks=null,t=0;t<n.length;t++)eN(n[t],e)}var dd=Ur(null),Dy=Ur(0);function dz(t,e){t=Po,Qe(Dy,t),Qe(dd,e),Po=t|e.baseLanes}function Rw(){Qe(Dy,Po),Qe(dd,dd.current)}function gT(){Po=Dy.current,ni(dd),ni(Dy)}var Oa=Ur(null),Za=null;function Rs(t){var e=t.alternate;Qe(Rn,Rn.current&1),Qe(Oa,t),Za===null&&(e===null||dd.current!==null||e.memoizedState!==null)&&(Za=t)}function Ew(t){Qe(Rn,Rn.current),Qe(Oa,t),Za===null&&(Za=t)}function iN(t){t.tag===22?(Qe(Rn,Rn.current),Qe(Oa,t),Za===null&&(Za=t)):Es(t)}function Es(){Qe(Rn,Rn.current),Qe(Oa,Oa.current)}function xa(t){ni(Oa),Za===t&&(Za=null),ni(Rn)}var Rn=Ur(0);function Py(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||kw(n)||Gw(n)))return e}else if(e.tag===19&&(e.memoizedProps.revealOrder==="forwards"||e.memoizedProps.revealOrder==="backwards"||e.memoizedProps.revealOrder==="unstable_legacy-backwards"||e.memoizedProps.revealOrder==="together")){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var No=0,le=null,Ue=null,Nn=null,By=!1,rd=!1,su=!1,Hy=0,Ch=0,od=null,lq=0;function yn(){throw Error(ot(321))}function yT(t,e){if(e===null)return!1;for(var n=0;n<e.length&&n<t.length;n++)if(!Ma(t[n],e[n]))return!1;return!0}function vT(t,e,n,i,a,r){return No=r,le=e,e.memoizedState=null,e.updateQueue=null,e.lanes=0,Qt.H=t===null||t.memoizedState===null?LN:OT,su=!1,r=n(i,a),su=!1,rd&&(r=rN(e,n,i,a)),aN(t),r}function aN(t){Qt.H=Ah;var e=Ue!==null&&Ue.next!==null;if(No=0,Nn=Ue=le=null,By=!1,Ch=0,od=null,e)throw Error(ot(300));t===null||Pn||(t=t.dependencies,t!==null&&Ny(t)&&(Pn=!0))}function rN(t,e,n,i){le=t;var a=0;do{if(rd&&(od=null),Ch=0,rd=!1,25<=a)throw Error(ot(301));if(a+=1,Nn=Ue=null,t.updateQueue!=null){var r=t.updateQueue;r.lastEffect=null,r.events=null,r.stores=null,r.memoCache!=null&&(r.memoCache.index=0)}Qt.H=DN,r=e(n,i)}while(rd);return r}function uq(){var t=Qt.H,e=t.useState()[0];return e=typeof e.then=="function"?Vh(e):e,t=t.useState()[0],(Ue!==null?Ue.memoizedState:null)!==t&&(le.flags|=1024),e}function bT(){var t=Hy!==0;return Hy=0,t}function ST(t,e,n){e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~n}function xT(t){if(By){for(t=t.memoizedState;t!==null;){var e=t.queue;e!==null&&(e.pending=null),t=t.next}By=!1}No=0,Nn=Ue=le=null,rd=!1,Ch=Hy=0,od=null}function Bi(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Nn===null?le.memoizedState=Nn=t:Nn=Nn.next=t,Nn}function En(){if(Ue===null){var t=le.alternate;t=t!==null?t.memoizedState:null}else t=Ue.next;var e=Nn===null?le.memoizedState:Nn.next;if(e!==null)Nn=e,Ue=t;else{if(t===null)throw le.alternate===null?Error(ot(467)):Error(ot(310));Ue=t,t={memoizedState:Ue.memoizedState,baseState:Ue.baseState,baseQueue:Ue.baseQueue,queue:Ue.queue,next:null},Nn===null?le.memoizedState=Nn=t:Nn=Nn.next=t}return Nn}function sv(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Vh(t){var e=Ch;return Ch+=1,od===null&&(od=[]),t=JI(od,t,e),e=le,(Nn===null?e.memoizedState:Nn.next)===null&&(e=e.alternate,Qt.H=e===null||e.memoizedState===null?LN:OT),t}function lv(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return Vh(t);if(t.$$typeof===Co)return mi(t)}throw Error(ot(438,String(t)))}function wT(t){var e=null,n=le.updateQueue;if(n!==null&&(e=n.memoCache),e==null){var i=le.alternate;i!==null&&(i=i.updateQueue,i!==null&&(i=i.memoCache,i!=null&&(e={data:i.data.map(function(a){return a.slice()}),index:0})))}if(e==null&&(e={data:[],index:0}),n===null&&(n=sv(),le.updateQueue=n),n.memoCache=e,n=e.data[e.index],n===void 0)for(n=e.data[e.index]=Array(t),i=0;i<t;i++)n[i]=QV;return e.index++,n}function Lo(t,e){return typeof e=="function"?e(t):e}function gy(t){var e=En();return TT(e,Ue,t)}function TT(t,e,n){var i=t.queue;if(i===null)throw Error(ot(311));i.lastRenderedReducer=n;var a=t.baseQueue,r=i.pending;if(r!==null){if(a!==null){var l=a.next;a.next=r.next,r.next=l}e.baseQueue=a=r,i.pending=null}if(r=t.baseState,a===null)t.memoizedState=r;else{e=a.next;var u=l=null,f=null,h=e,d=!1;do{var m=h.lane&-536870913;if(m!==h.lane?(we&m)===m:(No&m)===m){var y=h.revertLane;if(y===0)f!==null&&(f=f.next={lane:0,revertLane:0,gesture:null,action:h.action,hasEagerState:h.hasEagerState,eagerState:h.eagerState,next:null}),m===cd&&(d=!0);else if((No&y)===y){h=h.next,y===cd&&(d=!0);continue}else m={lane:0,revertLane:h.revertLane,gesture:null,action:h.action,hasEagerState:h.hasEagerState,eagerState:h.eagerState,next:null},f===null?(u=f=m,l=r):f=f.next=m,le.lanes|=y,ks|=y;m=h.action,su&&n(r,m),r=h.hasEagerState?h.eagerState:n(r,m)}else y={lane:m,revertLane:h.revertLane,gesture:h.gesture,action:h.action,hasEagerState:h.hasEagerState,eagerState:h.eagerState,next:null},f===null?(u=f=y,l=r):f=f.next=y,le.lanes|=m,ks|=m;h=h.next}while(h!==null&&h!==e);if(f===null?l=r:f.next=u,!Ma(r,t.memoizedState)&&(Pn=!0,d&&(n=id,n!==null)))throw n;t.memoizedState=r,t.baseState=l,t.baseQueue=f,i.lastRenderedState=r}return a===null&&(i.lanes=0),[t.memoizedState,i.dispatch]}function Px(t){var e=En(),n=e.queue;if(n===null)throw Error(ot(311));n.lastRenderedReducer=t;var i=n.dispatch,a=n.pending,r=e.memoizedState;if(a!==null){n.pending=null;var l=a=a.next;do r=t(r,l.action),l=l.next;while(l!==a);Ma(r,e.memoizedState)||(Pn=!0),e.memoizedState=r,e.baseQueue===null&&(e.baseState=r),n.lastRenderedState=r}return[r,i]}function oN(t,e,n){var i=le,a=En(),r=Re;if(r){if(n===void 0)throw Error(ot(407));n=n()}else n=e();var l=!Ma((Ue||a).memoizedState,n);if(l&&(a.memoizedState=n,Pn=!0),a=a.queue,RT(uN.bind(null,i,a,t),[t]),a.getSnapshot!==e||l||Nn!==null&&Nn.memoizedState.tag&1){if(i.flags|=2048,fd(9,{destroy:void 0},lN.bind(null,i,a,n,e),null),Ge===null)throw Error(ot(349));r||No&127||sN(i,e,n)}return n}function sN(t,e,n){t.flags|=16384,t={getSnapshot:e,value:n},e=le.updateQueue,e===null?(e=sv(),le.updateQueue=e,e.stores=[t]):(n=e.stores,n===null?e.stores=[t]:n.push(t))}function lN(t,e,n,i){e.value=n,e.getSnapshot=i,cN(e)&&dN(t)}function uN(t,e,n){return n(function(){cN(e)&&dN(t)})}function cN(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!Ma(t,n)}catch{return!0}}function dN(t){var e=fu(t,2);e!==null&&$i(e,t,2)}function Cw(t){var e=Bi();if(typeof t=="function"){var n=t;if(t=n(),su){As(!0);try{n()}finally{As(!1)}}}return e.memoizedState=e.baseState=t,e.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Lo,lastRenderedState:t},e}function fN(t,e,n,i){return t.baseState=n,TT(t,Ue,typeof i=="function"?i:Lo)}function cq(t,e,n,i,a){if(cv(t))throw Error(ot(485));if(t=e.action,t!==null){var r={payload:a,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(l){r.listeners.push(l)}};Qt.T!==null?n(!0):r.isTransition=!1,i(r),n=e.pending,n===null?(r.next=e.pending=r,hN(e,r)):(r.next=n.next,e.pending=n.next=r)}}function hN(t,e){var n=e.action,i=e.payload,a=t.state;if(e.isTransition){var r=Qt.T,l={};Qt.T=l;try{var u=n(a,i),f=Qt.S;f!==null&&f(l,u),fz(t,e,u)}catch(h){Aw(t,e,h)}finally{r!==null&&l.types!==null&&(r.types=l.types),Qt.T=r}}else try{r=n(a,i),fz(t,e,r)}catch(h){Aw(t,e,h)}}function fz(t,e,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(i){hz(t,e,i)},function(i){return Aw(t,e,i)}):hz(t,e,n)}function hz(t,e,n){e.status="fulfilled",e.value=n,pN(e),t.state=n,e=t.pending,e!==null&&(n=e.next,n===e?t.pending=null:(n=n.next,e.next=n,hN(t,n)))}function Aw(t,e,n){var i=t.pending;if(t.pending=null,i!==null){i=i.next;do e.status="rejected",e.reason=n,pN(e),e=e.next;while(e!==i)}t.action=null}function pN(t){t=t.listeners;for(var e=0;e<t.length;e++)(0,t[e])()}function mN(t,e){return e}function pz(t,e){if(Re){var n=Ge.formState;if(n!==null){t:{var i=le;if(Re){if(We){e:{for(var a=We,r=Ka;a.nodeType!==8;){if(!r){a=null;break e}if(a=Wa(a.nextSibling),a===null){a=null;break e}}r=a.data,a=r==="F!"||r==="F"?a:null}if(a){We=Wa(a.nextSibling),i=a.data==="F!";break t}}qs(i)}i=!1}i&&(e=n[0])}}return n=Bi(),n.memoizedState=n.baseState=e,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:mN,lastRenderedState:e},n.queue=i,n=zN.bind(null,le,i),i.dispatch=n,i=Cw(!1),r=MT.bind(null,le,!1,i.queue),i=Bi(),a={state:e,dispatch:null,action:t,pending:null},i.queue=a,n=cq.bind(null,le,a,r,n),a.dispatch=n,i.memoizedState=t,[e,n,!1]}function mz(t){var e=En();return gN(e,Ue,t)}function gN(t,e,n){if(e=TT(t,e,mN)[0],t=gy(Lo)[0],typeof e=="object"&&e!==null&&typeof e.then=="function")try{var i=Vh(e)}catch(l){throw l===xd?ov:l}else i=e;e=En();var a=e.queue,r=a.dispatch;return n!==e.memoizedState&&(le.flags|=2048,fd(9,{destroy:void 0},dq.bind(null,a,n),null)),[i,r,t]}function dq(t,e){t.action=e}function gz(t){var e=En(),n=Ue;if(n!==null)return gN(e,n,t);En(),e=e.memoizedState,n=En();var i=n.queue.dispatch;return n.memoizedState=t,[e,i,!1]}function fd(t,e,n,i){return t={tag:t,create:n,deps:i,inst:e,next:null},e=le.updateQueue,e===null&&(e=sv(),le.updateQueue=e),n=e.lastEffect,n===null?e.lastEffect=t.next=t:(i=n.next,n.next=t,t.next=i,e.lastEffect=t),t}function yN(){return En().memoizedState}function yy(t,e,n,i){var a=Bi();le.flags|=t,a.memoizedState=fd(1|e,{destroy:void 0},n,i===void 0?null:i)}function uv(t,e,n,i){var a=En();i=i===void 0?null:i;var r=a.memoizedState.inst;Ue!==null&&i!==null&&yT(i,Ue.memoizedState.deps)?a.memoizedState=fd(e,r,n,i):(le.flags|=t,a.memoizedState=fd(1|e,r,n,i))}function yz(t,e){yy(8390656,8,t,e)}function RT(t,e){uv(2048,8,t,e)}function fq(t){le.flags|=4;var e=le.updateQueue;if(e===null)e=sv(),le.updateQueue=e,e.events=[t];else{var n=e.events;n===null?e.events=[t]:n.push(t)}}function vN(t){var e=En().memoizedState;return fq({ref:e,nextImpl:t}),function(){if(Ie&2)throw Error(ot(440));return e.impl.apply(void 0,arguments)}}function bN(t,e){return uv(4,2,t,e)}function SN(t,e){return uv(4,4,t,e)}function xN(t,e){if(typeof e=="function"){t=t();var n=e(t);return function(){typeof n=="function"?n():e(null)}}if(e!=null)return t=t(),e.current=t,function(){e.current=null}}function wN(t,e,n){n=n!=null?n.concat([t]):null,uv(4,4,xN.bind(null,e,t),n)}function ET(){}function TN(t,e){var n=En();e=e===void 0?null:e;var i=n.memoizedState;return e!==null&&yT(e,i[1])?i[0]:(n.memoizedState=[t,e],t)}function RN(t,e){var n=En();e=e===void 0?null:e;var i=n.memoizedState;if(e!==null&&yT(e,i[1]))return i[0];if(i=t(),su){As(!0);try{t()}finally{As(!1)}}return n.memoizedState=[i,e],i}function CT(t,e,n){return n===void 0||No&1073741824&&!(we&261930)?t.memoizedState=e:(t.memoizedState=n,t=fL(),le.lanes|=t,ks|=t,n)}function EN(t,e,n,i){return Ma(n,e)?n:dd.current!==null?(t=CT(t,n,i),Ma(t,e)||(Pn=!0),t):!(No&42)||No&1073741824&&!(we&261930)?(Pn=!0,t.memoizedState=n):(t=fL(),le.lanes|=t,ks|=t,e)}function CN(t,e,n,i,a){var r=Ne.p;Ne.p=r!==0&&8>r?r:8;var l=Qt.T,u={};Qt.T=u,MT(t,!1,e,n);try{var f=a(),h=Qt.S;if(h!==null&&h(u,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var d=sq(f,i);hh(t,e,d,Aa(t))}else hh(t,e,i,Aa(t))}catch(m){hh(t,e,{then:function(){},status:"rejected",reason:m},Aa())}finally{Ne.p=r,l!==null&&u.types!==null&&(l.types=u.types),Qt.T=l}}function hq(){}function Mw(t,e,n,i){if(t.tag!==5)throw Error(ot(476));var a=AN(t).queue;CN(t,a,e,$l,n===null?hq:function(){return MN(t),n(i)})}function AN(t){var e=t.memoizedState;if(e!==null)return e;e={memoizedState:$l,baseState:$l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Lo,lastRenderedState:$l},next:null};var n={};return e.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Lo,lastRenderedState:n},next:null},t.memoizedState=e,t=t.alternate,t!==null&&(t.memoizedState=e),e}function MN(t){var e=AN(t);e.next===null&&(e=t.alternate.memoizedState),hh(t,e.next.queue,{},Aa())}function AT(){return mi(_h)}function ON(){return En().memoizedState}function _N(){return En().memoizedState}function pq(t){for(var e=t.return;e!==null;){switch(e.tag){case 24:case 3:var n=Aa();t=Ls(n);var i=Ds(e,t,n);i!==null&&($i(i,e,n),ch(i,e,n)),e={cache:fT()},t.payload=e;return}e=e.return}}function mq(t,e,n){var i=Aa();n={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},cv(t)?IN(e,n):(n=lT(t,e,n,i),n!==null&&($i(n,t,i),NN(n,e,i)))}function zN(t,e,n){var i=Aa();hh(t,e,n,i)}function hh(t,e,n,i){var a={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(cv(t))IN(e,a);else{var r=t.alternate;if(t.lanes===0&&(r===null||r.lanes===0)&&(r=e.lastRenderedReducer,r!==null))try{var l=e.lastRenderedState,u=r(l,n);if(a.hasEagerState=!0,a.eagerState=u,Ma(u,l))return rv(t,e,a,0),Ge===null&&av(),!1}catch{}finally{}if(n=lT(t,e,a,i),n!==null)return $i(n,t,i),NN(n,e,i),!0}return!1}function MT(t,e,n,i){if(i={lane:2,revertLane:BT(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},cv(t)){if(e)throw Error(ot(479))}else e=lT(t,n,i,2),e!==null&&$i(e,t,2)}function cv(t){var e=t.alternate;return t===le||e!==null&&e===le}function IN(t,e){rd=By=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function NN(t,e,n){if(n&4194048){var i=e.lanes;i&=t.pendingLanes,n|=i,e.lanes=n,vI(t,n)}}var Ah={readContext:mi,use:lv,useCallback:yn,useContext:yn,useEffect:yn,useImperativeHandle:yn,useLayoutEffect:yn,useInsertionEffect:yn,useMemo:yn,useReducer:yn,useRef:yn,useState:yn,useDebugValue:yn,useDeferredValue:yn,useTransition:yn,useSyncExternalStore:yn,useId:yn,useHostTransitionStatus:yn,useFormState:yn,useActionState:yn,useOptimistic:yn,useMemoCache:yn,useCacheRefresh:yn};Ah.useEffectEvent=yn;var LN={readContext:mi,use:lv,useCallback:function(t,e){return Bi().memoizedState=[t,e===void 0?null:e],t},useContext:mi,useEffect:yz,useImperativeHandle:function(t,e,n){n=n!=null?n.concat([t]):null,yy(4194308,4,xN.bind(null,e,t),n)},useLayoutEffect:function(t,e){return yy(4194308,4,t,e)},useInsertionEffect:function(t,e){yy(4,2,t,e)},useMemo:function(t,e){var n=Bi();e=e===void 0?null:e;var i=t();if(su){As(!0);try{t()}finally{As(!1)}}return n.memoizedState=[i,e],i},useReducer:function(t,e,n){var i=Bi();if(n!==void 0){var a=n(e);if(su){As(!0);try{n(e)}finally{As(!1)}}}else a=e;return i.memoizedState=i.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},i.queue=t,t=t.dispatch=mq.bind(null,le,t),[i.memoizedState,t]},useRef:function(t){var e=Bi();return t={current:t},e.memoizedState=t},useState:function(t){t=Cw(t);var e=t.queue,n=zN.bind(null,le,e);return e.dispatch=n,[t.memoizedState,n]},useDebugValue:ET,useDeferredValue:function(t,e){var n=Bi();return CT(n,t,e)},useTransition:function(){var t=Cw(!1);return t=CN.bind(null,le,t.queue,!0,!1),Bi().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,e,n){var i=le,a=Bi();if(Re){if(n===void 0)throw Error(ot(407));n=n()}else{if(n=e(),Ge===null)throw Error(ot(349));we&127||sN(i,e,n)}a.memoizedState=n;var r={value:n,getSnapshot:e};return a.queue=r,yz(uN.bind(null,i,r,t),[t]),i.flags|=2048,fd(9,{destroy:void 0},lN.bind(null,i,r,n,e),null),n},useId:function(){var t=Bi(),e=Ge.identifierPrefix;if(Re){var n=Hr,i=Br;n=(i&~(1<<32-Ca(i)-1)).toString(32)+n,e="_"+e+"R_"+n,n=Hy++,0<n&&(e+="H"+n.toString(32)),e+="_"}else n=lq++,e="_"+e+"r_"+n.toString(32)+"_";return t.memoizedState=e},useHostTransitionStatus:AT,useFormState:pz,useActionState:pz,useOptimistic:function(t){var e=Bi();e.memoizedState=e.baseState=t;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return e.queue=n,e=MT.bind(null,le,!0,n),n.dispatch=e,[t,e]},useMemoCache:wT,useCacheRefresh:function(){return Bi().memoizedState=pq.bind(null,le)},useEffectEvent:function(t){var e=Bi(),n={impl:t};return e.memoizedState=n,function(){if(Ie&2)throw Error(ot(440));return n.impl.apply(void 0,arguments)}}},OT={readContext:mi,use:lv,useCallback:TN,useContext:mi,useEffect:RT,useImperativeHandle:wN,useInsertionEffect:bN,useLayoutEffect:SN,useMemo:RN,useReducer:gy,useRef:yN,useState:function(){return gy(Lo)},useDebugValue:ET,useDeferredValue:function(t,e){var n=En();return EN(n,Ue.memoizedState,t,e)},useTransition:function(){var t=gy(Lo)[0],e=En().memoizedState;return[typeof t=="boolean"?t:Vh(t),e]},useSyncExternalStore:oN,useId:ON,useHostTransitionStatus:AT,useFormState:mz,useActionState:mz,useOptimistic:function(t,e){var n=En();return fN(n,Ue,t,e)},useMemoCache:wT,useCacheRefresh:_N};OT.useEffectEvent=vN;var DN={readContext:mi,use:lv,useCallback:TN,useContext:mi,useEffect:RT,useImperativeHandle:wN,useInsertionEffect:bN,useLayoutEffect:SN,useMemo:RN,useReducer:Px,useRef:yN,useState:function(){return Px(Lo)},useDebugValue:ET,useDeferredValue:function(t,e){var n=En();return Ue===null?CT(n,t,e):EN(n,Ue.memoizedState,t,e)},useTransition:function(){var t=Px(Lo)[0],e=En().memoizedState;return[typeof t=="boolean"?t:Vh(t),e]},useSyncExternalStore:oN,useId:ON,useHostTransitionStatus:AT,useFormState:gz,useActionState:gz,useOptimistic:function(t,e){var n=En();return Ue!==null?fN(n,Ue,t,e):(n.baseState=t,[t,n.queue.dispatch])},useMemoCache:wT,useCacheRefresh:_N};DN.useEffectEvent=vN;function Bx(t,e,n,i){e=t.memoizedState,n=n(i,e),n=n==null?e:Je({},e,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}var Ow={enqueueSetState:function(t,e,n){t=t._reactInternals;var i=Aa(),a=Ls(i);a.payload=e,n!=null&&(a.callback=n),e=Ds(t,a,i),e!==null&&($i(e,t,i),ch(e,t,i))},enqueueReplaceState:function(t,e,n){t=t._reactInternals;var i=Aa(),a=Ls(i);a.tag=1,a.payload=e,n!=null&&(a.callback=n),e=Ds(t,a,i),e!==null&&($i(e,t,i),ch(e,t,i))},enqueueForceUpdate:function(t,e){t=t._reactInternals;var n=Aa(),i=Ls(n);i.tag=2,e!=null&&(i.callback=e),e=Ds(t,i,n),e!==null&&($i(e,t,n),ch(e,t,n))}};function vz(t,e,n,i,a,r,l){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(i,r,l):e.prototype&&e.prototype.isPureReactComponent?!wh(n,i)||!wh(a,r):!0}function bz(t,e,n,i){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(n,i),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(n,i),e.state!==t&&Ow.enqueueReplaceState(e,e.state,null)}function lu(t,e){var n=e;if("ref"in e){n={};for(var i in e)i!=="ref"&&(n[i]=e[i])}if(t=t.defaultProps){n===e&&(n=Je({},n));for(var a in t)n[a]===void 0&&(n[a]=t[a])}return n}function PN(t){_y(t)}function BN(t){console.error(t)}function HN(t){_y(t)}function Fy(t,e){try{var n=t.onUncaughtError;n(e.value,{componentStack:e.stack})}catch(i){setTimeout(function(){throw i})}}function Sz(t,e,n){try{var i=t.onCaughtError;i(n.value,{componentStack:n.stack,errorBoundary:e.tag===1?e.stateNode:null})}catch(a){setTimeout(function(){throw a})}}function _w(t,e,n){return n=Ls(n),n.tag=3,n.payload={element:null},n.callback=function(){Fy(t,e)},n}function FN(t){return t=Ls(t),t.tag=3,t}function VN(t,e,n,i){var a=n.type.getDerivedStateFromError;if(typeof a=="function"){var r=i.value;t.payload=function(){return a(r)},t.callback=function(){Sz(e,n,i)}}var l=n.stateNode;l!==null&&typeof l.componentDidCatch=="function"&&(t.callback=function(){Sz(e,n,i),typeof a!="function"&&(Ps===null?Ps=new Set([this]):Ps.add(this));var u=i.stack;this.componentDidCatch(i.value,{componentStack:u!==null?u:""})})}function gq(t,e,n,i,a){if(n.flags|=32768,i!==null&&typeof i=="object"&&typeof i.then=="function"){if(e=n.alternate,e!==null&&Sd(e,n,a,!0),n=Oa.current,n!==null){switch(n.tag){case 31:case 13:return Za===null?ky():n.alternate===null&&vn===0&&(vn=3),n.flags&=-257,n.flags|=65536,n.lanes=a,i===Ly?n.flags|=16384:(e=n.updateQueue,e===null?n.updateQueue=new Set([i]):e.add(i),Qx(t,i,a)),!1;case 22:return n.flags|=65536,i===Ly?n.flags|=16384:(e=n.updateQueue,e===null?(e={transitions:null,markerInstances:null,retryQueue:new Set([i])},n.updateQueue=e):(n=e.retryQueue,n===null?e.retryQueue=new Set([i]):n.add(i)),Qx(t,i,a)),!1}throw Error(ot(435,n.tag))}return Qx(t,i,a),ky(),!1}if(Re)return e=Oa.current,e!==null?(!(e.flags&65536)&&(e.flags|=256),e.flags|=65536,e.lanes=a,i!==yw&&(t=Error(ot(422),{cause:i}),Rh(Qa(t,n)))):(i!==yw&&(e=Error(ot(423),{cause:i}),Rh(Qa(e,n))),t=t.current.alternate,t.flags|=65536,a&=-a,t.lanes|=a,i=Qa(i,n),a=_w(t.stateNode,i,a),Dx(t,a),vn!==4&&(vn=2)),!1;var r=Error(ot(520),{cause:i});if(r=Qa(r,n),gh===null?gh=[r]:gh.push(r),vn!==4&&(vn=2),e===null)return!0;i=Qa(i,n),n=e;do{switch(n.tag){case 3:return n.flags|=65536,t=a&-a,n.lanes|=t,t=_w(n.stateNode,i,t),Dx(n,t),!1;case 1:if(e=n.type,r=n.stateNode,(n.flags&128)===0&&(typeof e.getDerivedStateFromError=="function"||r!==null&&typeof r.componentDidCatch=="function"&&(Ps===null||!Ps.has(r))))return n.flags|=65536,a&=-a,n.lanes|=a,a=FN(a),VN(a,t,n,i),Dx(n,a),!1}n=n.return}while(n!==null);return!1}var _T=Error(ot(461)),Pn=!1;function fi(t,e,n,i){e.child=t===null?tN(e,null,n,i):ou(e,t.child,n,i)}function xz(t,e,n,i,a){n=n.render;var r=e.ref;if("ref"in i){var l={};for(var u in i)u!=="ref"&&(l[u]=i[u])}else l=i;return ru(e),i=vT(t,e,n,l,r,a),u=bT(),t!==null&&!Pn?(ST(t,e,a),Do(t,e,a)):(Re&&u&&cT(e),e.flags|=1,fi(t,e,i,a),e.child)}function wz(t,e,n,i,a){if(t===null){var r=n.type;return typeof r=="function"&&!uT(r)&&r.defaultProps===void 0&&n.compare===null?(e.tag=15,e.type=r,UN(t,e,r,i,a)):(t=py(n.type,null,i,e,e.mode,a),t.ref=e.ref,t.return=e,e.child=t)}if(r=t.child,!zT(t,a)){var l=r.memoizedProps;if(n=n.compare,n=n!==null?n:wh,n(l,i)&&t.ref===e.ref)return Do(t,e,a)}return e.flags|=1,t=Oo(r,i),t.ref=e.ref,t.return=e,e.child=t}function UN(t,e,n,i,a){if(t!==null){var r=t.memoizedProps;if(wh(r,i)&&t.ref===e.ref)if(Pn=!1,e.pendingProps=i=r,zT(t,a))t.flags&131072&&(Pn=!0);else return e.lanes=t.lanes,Do(t,e,a)}return zw(t,e,n,i,a)}function qN(t,e,n,i){var a=i.children,r=t!==null?t.memoizedState:null;if(t===null&&e.stateNode===null&&(e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),i.mode==="hidden"){if(e.flags&128){if(r=r!==null?r.baseLanes|n:n,t!==null){for(i=e.child=t.child,a=0;i!==null;)a=a|i.lanes|i.childLanes,i=i.sibling;i=a&~r}else i=0,e.child=null;return Tz(t,e,r,n,i)}if(n&536870912)e.memoizedState={baseLanes:0,cachePool:null},t!==null&&my(e,r!==null?r.cachePool:null),r!==null?dz(e,r):Rw(),iN(e);else return i=e.lanes=536870912,Tz(t,e,r!==null?r.baseLanes|n:n,n,i)}else r!==null?(my(e,r.cachePool),dz(e,r),Es(e),e.memoizedState=null):(t!==null&&my(e,null),Rw(),Es(e));return fi(t,e,a,n),e.child}function ah(t,e){return t!==null&&t.tag===22||e.stateNode!==null||(e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),e.sibling}function Tz(t,e,n,i,a){var r=hT();return r=r===null?null:{parent:Dn._currentValue,pool:r},e.memoizedState={baseLanes:n,cachePool:r},t!==null&&my(e,null),Rw(),iN(e),t!==null&&Sd(t,e,i,!0),e.childLanes=a,null}function vy(t,e){return e=Vy({mode:e.mode,children:e.children},t.mode),e.ref=t.ref,t.child=e,e.return=t,e}function Rz(t,e,n){return ou(e,t.child,null,n),t=vy(e,e.pendingProps),t.flags|=2,xa(e),e.memoizedState=null,t}function yq(t,e,n){var i=e.pendingProps,a=(e.flags&128)!==0;if(e.flags&=-129,t===null){if(Re){if(i.mode==="hidden")return t=vy(e,i),e.lanes=536870912,ah(null,t);if(Ew(e),(t=We)?(t=LL(t,Ka),t=t!==null&&t.data==="&"?t:null,t!==null&&(e.memoizedState={dehydrated:t,treeContext:Us!==null?{id:Br,overflow:Hr}:null,retryLane:536870912,hydrationErrors:null},n=XI(t),n.return=e,e.child=n,pi=e,We=null)):t=null,t===null)throw qs(e);return e.lanes=536870912,null}return vy(e,i)}var r=t.memoizedState;if(r!==null){var l=r.dehydrated;if(Ew(e),a)if(e.flags&256)e.flags&=-257,e=Rz(t,e,n);else if(e.memoizedState!==null)e.child=t.child,e.flags|=128,e=null;else throw Error(ot(558));else if(Pn||Sd(t,e,n,!1),a=(n&t.childLanes)!==0,Pn||a){if(i=Ge,i!==null&&(l=bI(i,n),l!==0&&l!==r.retryLane))throw r.retryLane=l,fu(t,l),$i(i,t,l),_T;ky(),e=Rz(t,e,n)}else t=r.treeContext,We=Wa(l.nextSibling),pi=e,Re=!0,Ns=null,Ka=!1,t!==null&&KI(e,t),e=vy(e,i),e.flags|=4096;return e}return t=Oo(t.child,{mode:i.mode,children:i.children}),t.ref=e.ref,e.child=t,t.return=e,t}function by(t,e){var n=e.ref;if(n===null)t!==null&&t.ref!==null&&(e.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(ot(284));(t===null||t.ref!==n)&&(e.flags|=4194816)}}function zw(t,e,n,i,a){return ru(e),n=vT(t,e,n,i,void 0,a),i=bT(),t!==null&&!Pn?(ST(t,e,a),Do(t,e,a)):(Re&&i&&cT(e),e.flags|=1,fi(t,e,n,a),e.child)}function Ez(t,e,n,i,a,r){return ru(e),e.updateQueue=null,n=rN(e,i,n,a),aN(t),i=bT(),t!==null&&!Pn?(ST(t,e,r),Do(t,e,r)):(Re&&i&&cT(e),e.flags|=1,fi(t,e,n,r),e.child)}function Cz(t,e,n,i,a){if(ru(e),e.stateNode===null){var r=Zc,l=n.contextType;typeof l=="object"&&l!==null&&(r=mi(l)),r=new n(i,r),e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,r.updater=Ow,e.stateNode=r,r._reactInternals=e,r=e.stateNode,r.props=i,r.state=e.memoizedState,r.refs={},mT(e),l=n.contextType,r.context=typeof l=="object"&&l!==null?mi(l):Zc,r.state=e.memoizedState,l=n.getDerivedStateFromProps,typeof l=="function"&&(Bx(e,n,l,i),r.state=e.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(l=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),l!==r.state&&Ow.enqueueReplaceState(r,r.state,null),fh(e,i,r,a),dh(),r.state=e.memoizedState),typeof r.componentDidMount=="function"&&(e.flags|=4194308),i=!0}else if(t===null){r=e.stateNode;var u=e.memoizedProps,f=lu(n,u);r.props=f;var h=r.context,d=n.contextType;l=Zc,typeof d=="object"&&d!==null&&(l=mi(d));var m=n.getDerivedStateFromProps;d=typeof m=="function"||typeof r.getSnapshotBeforeUpdate=="function",u=e.pendingProps!==u,d||typeof r.UNSAFE_componentWillReceiveProps!="function"&&typeof r.componentWillReceiveProps!="function"||(u||h!==l)&&bz(e,r,i,l),ws=!1;var y=e.memoizedState;r.state=y,fh(e,i,r,a),dh(),h=e.memoizedState,u||y!==h||ws?(typeof m=="function"&&(Bx(e,n,m,i),h=e.memoizedState),(f=ws||vz(e,n,f,i,y,h,l))?(d||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount()),typeof r.componentDidMount=="function"&&(e.flags|=4194308)):(typeof r.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=i,e.memoizedState=h),r.props=i,r.state=h,r.context=l,i=f):(typeof r.componentDidMount=="function"&&(e.flags|=4194308),i=!1)}else{r=e.stateNode,ww(t,e),l=e.memoizedProps,d=lu(n,l),r.props=d,m=e.pendingProps,y=r.context,h=n.contextType,f=Zc,typeof h=="object"&&h!==null&&(f=mi(h)),u=n.getDerivedStateFromProps,(h=typeof u=="function"||typeof r.getSnapshotBeforeUpdate=="function")||typeof r.UNSAFE_componentWillReceiveProps!="function"&&typeof r.componentWillReceiveProps!="function"||(l!==m||y!==f)&&bz(e,r,i,f),ws=!1,y=e.memoizedState,r.state=y,fh(e,i,r,a),dh();var g=e.memoizedState;l!==m||y!==g||ws||t!==null&&t.dependencies!==null&&Ny(t.dependencies)?(typeof u=="function"&&(Bx(e,n,u,i),g=e.memoizedState),(d=ws||vz(e,n,d,i,y,g,f)||t!==null&&t.dependencies!==null&&Ny(t.dependencies))?(h||typeof r.UNSAFE_componentWillUpdate!="function"&&typeof r.componentWillUpdate!="function"||(typeof r.componentWillUpdate=="function"&&r.componentWillUpdate(i,g,f),typeof r.UNSAFE_componentWillUpdate=="function"&&r.UNSAFE_componentWillUpdate(i,g,f)),typeof r.componentDidUpdate=="function"&&(e.flags|=4),typeof r.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof r.componentDidUpdate!="function"||l===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof r.getSnapshotBeforeUpdate!="function"||l===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),e.memoizedProps=i,e.memoizedState=g),r.props=i,r.state=g,r.context=f,i=d):(typeof r.componentDidUpdate!="function"||l===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof r.getSnapshotBeforeUpdate!="function"||l===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),i=!1)}return r=i,by(t,e),i=(e.flags&128)!==0,r||i?(r=e.stateNode,n=i&&typeof n.getDerivedStateFromError!="function"?null:r.render(),e.flags|=1,t!==null&&i?(e.child=ou(e,t.child,null,a),e.child=ou(e,null,n,a)):fi(t,e,n,a),e.memoizedState=r.state,t=e.child):t=Do(t,e,a),t}function Az(t,e,n,i){return au(),e.flags|=256,fi(t,e,n,i),e.child}var Hx={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Fx(t){return{baseLanes:t,cachePool:WI()}}function Vx(t,e,n){return t=t!==null?t.childLanes&~n:0,e&&(t|=Ta),t}function jN(t,e,n){var i=e.pendingProps,a=!1,r=(e.flags&128)!==0,l;if((l=r)||(l=t!==null&&t.memoizedState===null?!1:(Rn.current&2)!==0),l&&(a=!0,e.flags&=-129),l=(e.flags&32)!==0,e.flags&=-33,t===null){if(Re){if(a?Rs(e):Es(e),(t=We)?(t=LL(t,Ka),t=t!==null&&t.data!=="&"?t:null,t!==null&&(e.memoizedState={dehydrated:t,treeContext:Us!==null?{id:Br,overflow:Hr}:null,retryLane:536870912,hydrationErrors:null},n=XI(t),n.return=e,e.child=n,pi=e,We=null)):t=null,t===null)throw qs(e);return Gw(t)?e.lanes=32:e.lanes=536870912,null}var u=i.children;return i=i.fallback,a?(Es(e),a=e.mode,u=Vy({mode:"hidden",children:u},a),i=tu(i,a,n,null),u.return=e,i.return=e,u.sibling=i,e.child=u,i=e.child,i.memoizedState=Fx(n),i.childLanes=Vx(t,l,n),e.memoizedState=Hx,ah(null,i)):(Rs(e),Iw(e,u))}var f=t.memoizedState;if(f!==null&&(u=f.dehydrated,u!==null)){if(r)e.flags&256?(Rs(e),e.flags&=-257,e=Ux(t,e,n)):e.memoizedState!==null?(Es(e),e.child=t.child,e.flags|=128,e=null):(Es(e),u=i.fallback,a=e.mode,i=Vy({mode:"visible",children:i.children},a),u=tu(u,a,n,null),u.flags|=2,i.return=e,u.return=e,i.sibling=u,e.child=i,ou(e,t.child,null,n),i=e.child,i.memoizedState=Fx(n),i.childLanes=Vx(t,l,n),e.memoizedState=Hx,e=ah(null,i));else if(Rs(e),Gw(u)){if(l=u.nextSibling&&u.nextSibling.dataset,l)var h=l.dgst;l=h,i=Error(ot(419)),i.stack="",i.digest=l,Rh({value:i,source:null,stack:null}),e=Ux(t,e,n)}else if(Pn||Sd(t,e,n,!1),l=(n&t.childLanes)!==0,Pn||l){if(l=Ge,l!==null&&(i=bI(l,n),i!==0&&i!==f.retryLane))throw f.retryLane=i,fu(t,i),$i(l,t,i),_T;kw(u)||ky(),e=Ux(t,e,n)}else kw(u)?(e.flags|=192,e.child=t.child,e=null):(t=f.treeContext,We=Wa(u.nextSibling),pi=e,Re=!0,Ns=null,Ka=!1,t!==null&&KI(e,t),e=Iw(e,i.children),e.flags|=4096);return e}return a?(Es(e),u=i.fallback,a=e.mode,f=t.child,h=f.sibling,i=Oo(f,{mode:"hidden",children:i.children}),i.subtreeFlags=f.subtreeFlags&65011712,h!==null?u=Oo(h,u):(u=tu(u,a,n,null),u.flags|=2),u.return=e,i.return=e,i.sibling=u,e.child=i,ah(null,i),i=e.child,u=t.child.memoizedState,u===null?u=Fx(n):(a=u.cachePool,a!==null?(f=Dn._currentValue,a=a.parent!==f?{parent:f,pool:f}:a):a=WI(),u={baseLanes:u.baseLanes|n,cachePool:a}),i.memoizedState=u,i.childLanes=Vx(t,l,n),e.memoizedState=Hx,ah(t.child,i)):(Rs(e),n=t.child,t=n.sibling,n=Oo(n,{mode:"visible",children:i.children}),n.return=e,n.sibling=null,t!==null&&(l=e.deletions,l===null?(e.deletions=[t],e.flags|=16):l.push(t)),e.child=n,e.memoizedState=null,n)}function Iw(t,e){return e=Vy({mode:"visible",children:e},t.mode),e.return=t,t.child=e}function Vy(t,e){return t=wa(22,t,null,e),t.lanes=0,t}function Ux(t,e,n){return ou(e,t.child,null,n),t=Iw(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function Mz(t,e,n){t.lanes|=e;var i=t.alternate;i!==null&&(i.lanes|=e),bw(t.return,e,n)}function qx(t,e,n,i,a,r){var l=t.memoizedState;l===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:a,treeForkCount:r}:(l.isBackwards=e,l.rendering=null,l.renderingStartTime=0,l.last=i,l.tail=n,l.tailMode=a,l.treeForkCount=r)}function kN(t,e,n){var i=e.pendingProps,a=i.revealOrder,r=i.tail;i=i.children;var l=Rn.current,u=(l&2)!==0;if(u?(l=l&1|2,e.flags|=128):l&=1,Qe(Rn,l),fi(t,e,i,n),i=Re?Th:0,!u&&t!==null&&t.flags&128)t:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&Mz(t,n,e);else if(t.tag===19)Mz(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break t;for(;t.sibling===null;){if(t.return===null||t.return===e)break t;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(a){case"forwards":for(n=e.child,a=null;n!==null;)t=n.alternate,t!==null&&Py(t)===null&&(a=n),n=n.sibling;n=a,n===null?(a=e.child,e.child=null):(a=n.sibling,n.sibling=null),qx(e,!1,a,n,r,i);break;case"backwards":case"unstable_legacy-backwards":for(n=null,a=e.child,e.child=null;a!==null;){if(t=a.alternate,t!==null&&Py(t)===null){e.child=a;break}t=a.sibling,a.sibling=n,n=a,a=t}qx(e,!0,n,null,r,i);break;case"together":qx(e,!1,null,null,void 0,i);break;default:e.memoizedState=null}return e.child}function Do(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),ks|=e.lanes,!(n&e.childLanes))if(t!==null){if(Sd(t,e,n,!1),(n&e.childLanes)===0)return null}else return null;if(t!==null&&e.child!==t.child)throw Error(ot(153));if(e.child!==null){for(t=e.child,n=Oo(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=Oo(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function zT(t,e){return t.lanes&e?!0:(t=t.dependencies,!!(t!==null&&Ny(t)))}function vq(t,e,n){switch(e.tag){case 3:Cy(e,e.stateNode.containerInfo),Ts(e,Dn,t.memoizedState.cache),au();break;case 27:case 5:ow(e);break;case 4:Cy(e,e.stateNode.containerInfo);break;case 10:Ts(e,e.type,e.memoizedProps.value);break;case 31:if(e.memoizedState!==null)return e.flags|=128,Ew(e),null;break;case 13:var i=e.memoizedState;if(i!==null)return i.dehydrated!==null?(Rs(e),e.flags|=128,null):n&e.child.childLanes?jN(t,e,n):(Rs(e),t=Do(t,e,n),t!==null?t.sibling:null);Rs(e);break;case 19:var a=(t.flags&128)!==0;if(i=(n&e.childLanes)!==0,i||(Sd(t,e,n,!1),i=(n&e.childLanes)!==0),a){if(i)return kN(t,e,n);e.flags|=128}if(a=e.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),Qe(Rn,Rn.current),i)break;return null;case 22:return e.lanes=0,qN(t,e,n,e.pendingProps);case 24:Ts(e,Dn,t.memoizedState.cache)}return Do(t,e,n)}function GN(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps)Pn=!0;else{if(!zT(t,n)&&!(e.flags&128))return Pn=!1,vq(t,e,n);Pn=!!(t.flags&131072)}else Pn=!1,Re&&e.flags&1048576&&QI(e,Th,e.index);switch(e.lanes=0,e.tag){case 16:t:{var i=e.pendingProps;if(t=Wl(e.elementType),e.type=t,typeof t=="function")uT(t)?(i=lu(t,i),e.tag=1,e=Cz(null,e,t,i,n)):(e.tag=0,e=zw(null,e,t,i,n));else{if(t!=null){var a=t.$$typeof;if(a===Kw){e.tag=11,e=xz(null,e,t,i,n);break t}else if(a===Zw){e.tag=14,e=wz(null,e,t,i,n);break t}}throw e=aw(t)||t,Error(ot(306,e,""))}}return e;case 0:return zw(t,e,e.type,e.pendingProps,n);case 1:return i=e.type,a=lu(i,e.pendingProps),Cz(t,e,i,a,n);case 3:t:{if(Cy(e,e.stateNode.containerInfo),t===null)throw Error(ot(387));i=e.pendingProps;var r=e.memoizedState;a=r.element,ww(t,e),fh(e,i,null,n);var l=e.memoizedState;if(i=l.cache,Ts(e,Dn,i),i!==r.cache&&Sw(e,[Dn],n,!0),dh(),i=l.element,r.isDehydrated)if(r={element:i,isDehydrated:!1,cache:l.cache},e.updateQueue.baseState=r,e.memoizedState=r,e.flags&256){e=Az(t,e,i,n);break t}else if(i!==a){a=Qa(Error(ot(424)),e),Rh(a),e=Az(t,e,i,n);break t}else{switch(t=e.stateNode.containerInfo,t.nodeType){case 9:t=t.body;break;default:t=t.nodeName==="HTML"?t.ownerDocument.body:t}for(We=Wa(t.firstChild),pi=e,Re=!0,Ns=null,Ka=!0,n=tN(e,null,i,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(au(),i===a){e=Do(t,e,n);break t}fi(t,e,i,n)}e=e.child}return e;case 26:return by(t,e),t===null?(n=Zz(e.type,null,e.pendingProps,null))?e.memoizedState=n:Re||(n=e.type,t=e.pendingProps,i=Qy(Is.current).createElement(n),i[hi]=e,i[ta]=t,gi(i,n,t),ei(i),e.stateNode=i):e.memoizedState=Zz(e.type,t.memoizedProps,e.pendingProps,t.memoizedState),null;case 27:return ow(e),t===null&&Re&&(i=e.stateNode=DL(e.type,e.pendingProps,Is.current),pi=e,Ka=!0,a=We,Ys(e.type)?(Yw=a,We=Wa(i.firstChild)):We=a),fi(t,e,e.pendingProps.children,n),by(t,e),t===null&&(e.flags|=4194304),e.child;case 5:return t===null&&Re&&((a=i=We)&&(i=Yq(i,e.type,e.pendingProps,Ka),i!==null?(e.stateNode=i,pi=e,We=Wa(i.firstChild),Ka=!1,a=!0):a=!1),a||qs(e)),ow(e),a=e.type,r=e.pendingProps,l=t!==null?t.memoizedProps:null,i=r.children,qw(a,r)?i=null:l!==null&&qw(a,l)&&(e.flags|=32),e.memoizedState!==null&&(a=vT(t,e,uq,null,null,n),_h._currentValue=a),by(t,e),fi(t,e,i,n),e.child;case 6:return t===null&&Re&&((t=n=We)&&(n=Xq(n,e.pendingProps,Ka),n!==null?(e.stateNode=n,pi=e,We=null,t=!0):t=!1),t||qs(e)),null;case 13:return jN(t,e,n);case 4:return Cy(e,e.stateNode.containerInfo),i=e.pendingProps,t===null?e.child=ou(e,null,i,n):fi(t,e,i,n),e.child;case 11:return xz(t,e,e.type,e.pendingProps,n);case 7:return fi(t,e,e.pendingProps,n),e.child;case 8:return fi(t,e,e.pendingProps.children,n),e.child;case 12:return fi(t,e,e.pendingProps.children,n),e.child;case 10:return i=e.pendingProps,Ts(e,e.type,i.value),fi(t,e,i.children,n),e.child;case 9:return a=e.type._context,i=e.pendingProps.children,ru(e),a=mi(a),i=i(a),e.flags|=1,fi(t,e,i,n),e.child;case 14:return wz(t,e,e.type,e.pendingProps,n);case 15:return UN(t,e,e.type,e.pendingProps,n);case 19:return kN(t,e,n);case 31:return yq(t,e,n);case 22:return qN(t,e,n,e.pendingProps);case 24:return ru(e),i=mi(Dn),t===null?(a=hT(),a===null&&(a=Ge,r=fT(),a.pooledCache=r,r.refCount++,r!==null&&(a.pooledCacheLanes|=n),a=r),e.memoizedState={parent:i,cache:a},mT(e),Ts(e,Dn,a)):(t.lanes&n&&(ww(t,e),fh(e,null,null,n),dh()),a=t.memoizedState,r=e.memoizedState,a.parent!==i?(a={parent:i,cache:i},e.memoizedState=a,e.lanes===0&&(e.memoizedState=e.updateQueue.baseState=a),Ts(e,Dn,i)):(i=r.cache,Ts(e,Dn,i),i!==a.cache&&Sw(e,[Dn],n,!0))),fi(t,e,e.pendingProps.children,n),e.child;case 29:throw e.pendingProps}throw Error(ot(156,e.tag))}function So(t){t.flags|=4}function jx(t,e,n,i,a){if((e=(t.mode&32)!==0)&&(e=!1),e){if(t.flags|=16777216,(a&335544128)===a)if(t.stateNode.complete)t.flags|=8192;else if(mL())t.flags|=8192;else throw nu=Ly,pT}else t.flags&=-16777217}function Oz(t,e){if(e.type!=="stylesheet"||e.state.loading&4)t.flags&=-16777217;else if(t.flags|=16777216,!HL(e))if(mL())t.flags|=8192;else throw nu=Ly,pT}function iy(t,e){e!==null&&(t.flags|=4),t.flags&16384&&(e=t.tag!==22?gI():536870912,t.lanes|=e,hd|=e)}function Wf(t,e){if(!Re)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:i.sibling=null}}function Ze(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,i=0;if(e)for(var a=t.child;a!==null;)n|=a.lanes|a.childLanes,i|=a.subtreeFlags&65011712,i|=a.flags&65011712,a.return=t,a=a.sibling;else for(a=t.child;a!==null;)n|=a.lanes|a.childLanes,i|=a.subtreeFlags,i|=a.flags,a.return=t,a=a.sibling;return t.subtreeFlags|=i,t.childLanes=n,e}function bq(t,e,n){var i=e.pendingProps;switch(dT(e),e.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ze(e),null;case 1:return Ze(e),null;case 3:return n=e.stateNode,i=null,t!==null&&(i=t.memoizedState.cache),e.memoizedState.cache!==i&&(e.flags|=2048),_o(Dn),sd(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(t===null||t.child===null)&&(Hc(e)?So(e):t===null||t.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,Lx())),Ze(e),null;case 26:var a=e.type,r=e.memoizedState;return t===null?(So(e),r!==null?(Ze(e),Oz(e,r)):(Ze(e),jx(e,a,null,i,n))):r?r!==t.memoizedState?(So(e),Ze(e),Oz(e,r)):(Ze(e),e.flags&=-16777217):(t=t.memoizedProps,t!==i&&So(e),Ze(e),jx(e,a,t,i,n)),null;case 27:if(Ay(e),n=Is.current,a=e.type,t!==null&&e.stateNode!=null)t.memoizedProps!==i&&So(e);else{if(!i){if(e.stateNode===null)throw Error(ot(166));return Ze(e),null}t=Vr.current,Hc(e)?az(e,t):(t=DL(a,i,n),e.stateNode=t,So(e))}return Ze(e),null;case 5:if(Ay(e),a=e.type,t!==null&&e.stateNode!=null)t.memoizedProps!==i&&So(e);else{if(!i){if(e.stateNode===null)throw Error(ot(166));return Ze(e),null}if(r=Vr.current,Hc(e))az(e,r);else{var l=Qy(Is.current);switch(r){case 1:r=l.createElementNS("http://www.w3.org/2000/svg",a);break;case 2:r=l.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;default:switch(a){case"svg":r=l.createElementNS("http://www.w3.org/2000/svg",a);break;case"math":r=l.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;case"script":r=l.createElement("div"),r.innerHTML="<script><\/script>",r=r.removeChild(r.firstChild);break;case"select":r=typeof i.is=="string"?l.createElement("select",{is:i.is}):l.createElement("select"),i.multiple?r.multiple=!0:i.size&&(r.size=i.size);break;default:r=typeof i.is=="string"?l.createElement(a,{is:i.is}):l.createElement(a)}}r[hi]=e,r[ta]=i;t:for(l=e.child;l!==null;){if(l.tag===5||l.tag===6)r.appendChild(l.stateNode);else if(l.tag!==4&&l.tag!==27&&l.child!==null){l.child.return=l,l=l.child;continue}if(l===e)break t;for(;l.sibling===null;){if(l.return===null||l.return===e)break t;l=l.return}l.sibling.return=l.return,l=l.sibling}e.stateNode=r;t:switch(gi(r,a,i),a){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break t;case"img":i=!0;break t;default:i=!1}i&&So(e)}}return Ze(e),jx(e,e.type,t===null?null:t.memoizedProps,e.pendingProps,n),null;case 6:if(t&&e.stateNode!=null)t.memoizedProps!==i&&So(e);else{if(typeof i!="string"&&e.stateNode===null)throw Error(ot(166));if(t=Is.current,Hc(e)){if(t=e.stateNode,n=e.memoizedProps,i=null,a=pi,a!==null)switch(a.tag){case 27:case 5:i=a.memoizedProps}t[hi]=e,t=!!(t.nodeValue===n||i!==null&&i.suppressHydrationWarning===!0||zL(t.nodeValue,n)),t||qs(e,!0)}else t=Qy(t).createTextNode(i),t[hi]=e,e.stateNode=t}return Ze(e),null;case 31:if(n=e.memoizedState,t===null||t.memoizedState!==null){if(i=Hc(e),n!==null){if(t===null){if(!i)throw Error(ot(318));if(t=e.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(ot(557));t[hi]=e}else au(),!(e.flags&128)&&(e.memoizedState=null),e.flags|=4;Ze(e),t=!1}else n=Lx(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=n),t=!0;if(!t)return e.flags&256?(xa(e),e):(xa(e),null);if(e.flags&128)throw Error(ot(558))}return Ze(e),null;case 13:if(i=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=Hc(e),i!==null&&i.dehydrated!==null){if(t===null){if(!a)throw Error(ot(318));if(a=e.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(ot(317));a[hi]=e}else au(),!(e.flags&128)&&(e.memoizedState=null),e.flags|=4;Ze(e),a=!1}else a=Lx(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return e.flags&256?(xa(e),e):(xa(e),null)}return xa(e),e.flags&128?(e.lanes=n,e):(n=i!==null,t=t!==null&&t.memoizedState!==null,n&&(i=e.child,a=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(a=i.alternate.memoizedState.cachePool.pool),r=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(r=i.memoizedState.cachePool.pool),r!==a&&(i.flags|=2048)),n!==t&&n&&(e.child.flags|=8192),iy(e,e.updateQueue),Ze(e),null);case 4:return sd(),t===null&&HT(e.stateNode.containerInfo),Ze(e),null;case 10:return _o(e.type),Ze(e),null;case 19:if(ni(Rn),i=e.memoizedState,i===null)return Ze(e),null;if(a=(e.flags&128)!==0,r=i.rendering,r===null)if(a)Wf(i,!1);else{if(vn!==0||t!==null&&t.flags&128)for(t=e.child;t!==null;){if(r=Py(t),r!==null){for(e.flags|=128,Wf(i,!1),t=r.updateQueue,e.updateQueue=t,iy(e,t),e.subtreeFlags=0,t=n,n=e.child;n!==null;)YI(n,t),n=n.sibling;return Qe(Rn,Rn.current&1|2),Re&&Ro(e,i.treeForkCount),e.child}t=t.sibling}i.tail!==null&&Ra()>qy&&(e.flags|=128,a=!0,Wf(i,!1),e.lanes=4194304)}else{if(!a)if(t=Py(r),t!==null){if(e.flags|=128,a=!0,t=t.updateQueue,e.updateQueue=t,iy(e,t),Wf(i,!0),i.tail===null&&i.tailMode==="hidden"&&!r.alternate&&!Re)return Ze(e),null}else 2*Ra()-i.renderingStartTime>qy&&n!==536870912&&(e.flags|=128,a=!0,Wf(i,!1),e.lanes=4194304);i.isBackwards?(r.sibling=e.child,e.child=r):(t=i.last,t!==null?t.sibling=r:e.child=r,i.last=r)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ra(),t.sibling=null,n=Rn.current,Qe(Rn,a?n&1|2:n&1),Re&&Ro(e,i.treeForkCount),t):(Ze(e),null);case 22:case 23:return xa(e),gT(),i=e.memoizedState!==null,t!==null?t.memoizedState!==null!==i&&(e.flags|=8192):i&&(e.flags|=8192),i?n&536870912&&!(e.flags&128)&&(Ze(e),e.subtreeFlags&6&&(e.flags|=8192)):Ze(e),n=e.updateQueue,n!==null&&iy(e,n.retryQueue),n=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),i=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),i!==n&&(e.flags|=2048),t!==null&&ni(eu),null;case 24:return n=null,t!==null&&(n=t.memoizedState.cache),e.memoizedState.cache!==n&&(e.flags|=2048),_o(Dn),Ze(e),null;case 25:return null;case 30:return null}throw Error(ot(156,e.tag))}function Sq(t,e){switch(dT(e),e.tag){case 1:return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return _o(Dn),sd(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 26:case 27:case 5:return Ay(e),null;case 31:if(e.memoizedState!==null){if(xa(e),e.alternate===null)throw Error(ot(340));au()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 13:if(xa(e),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(ot(340));au()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return ni(Rn),null;case 4:return sd(),null;case 10:return _o(e.type),null;case 22:case 23:return xa(e),gT(),t!==null&&ni(eu),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 24:return _o(Dn),null;case 25:return null;default:return null}}function YN(t,e){switch(dT(e),e.tag){case 3:_o(Dn),sd();break;case 26:case 27:case 5:Ay(e);break;case 4:sd();break;case 31:e.memoizedState!==null&&xa(e);break;case 13:xa(e);break;case 19:ni(Rn);break;case 10:_o(e.type);break;case 22:case 23:xa(e),gT(),t!==null&&ni(eu);break;case 24:_o(Dn)}}function Uh(t,e){try{var n=e.updateQueue,i=n!==null?n.lastEffect:null;if(i!==null){var a=i.next;n=a;do{if((n.tag&t)===t){i=void 0;var r=n.create,l=n.inst;i=r(),l.destroy=i}n=n.next}while(n!==a)}}catch(u){He(e,e.return,u)}}function js(t,e,n){try{var i=e.updateQueue,a=i!==null?i.lastEffect:null;if(a!==null){var r=a.next;i=r;do{if((i.tag&t)===t){var l=i.inst,u=l.destroy;if(u!==void 0){l.destroy=void 0,a=e;var f=n,h=u;try{h()}catch(d){He(a,f,d)}}}i=i.next}while(i!==r)}}catch(d){He(e,e.return,d)}}function XN(t){var e=t.updateQueue;if(e!==null){var n=t.stateNode;try{nN(e,n)}catch(i){He(t,t.return,i)}}}function QN(t,e,n){n.props=lu(t.type,t.memoizedProps),n.state=t.memoizedState;try{n.componentWillUnmount()}catch(i){He(t,e,i)}}function ph(t,e){try{var n=t.ref;if(n!==null){switch(t.tag){case 26:case 27:case 5:var i=t.stateNode;break;case 30:i=t.stateNode;break;default:i=t.stateNode}typeof n=="function"?t.refCleanup=n(i):n.current=i}}catch(a){He(t,e,a)}}function Fr(t,e){var n=t.ref,i=t.refCleanup;if(n!==null)if(typeof i=="function")try{i()}catch(a){He(t,e,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(a){He(t,e,a)}else n.current=null}function KN(t){var e=t.type,n=t.memoizedProps,i=t.stateNode;try{t:switch(e){case"button":case"input":case"select":case"textarea":n.autoFocus&&i.focus();break t;case"img":n.src?i.src=n.src:n.srcSet&&(i.srcset=n.srcSet)}}catch(a){He(t,t.return,a)}}function kx(t,e,n){try{var i=t.stateNode;Vq(i,t.type,n,e),i[ta]=e}catch(a){He(t,t.return,a)}}function ZN(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Ys(t.type)||t.tag===4}function Gx(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||ZN(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Ys(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Nw(t,e,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,e?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(t,e):(e=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,e.appendChild(t),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Ao));else if(i!==4&&(i===27&&Ys(t.type)&&(n=t.stateNode,e=null),t=t.child,t!==null))for(Nw(t,e,n),t=t.sibling;t!==null;)Nw(t,e,n),t=t.sibling}function Uy(t,e,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(i!==4&&(i===27&&Ys(t.type)&&(n=t.stateNode),t=t.child,t!==null))for(Uy(t,e,n),t=t.sibling;t!==null;)Uy(t,e,n),t=t.sibling}function WN(t){var e=t.stateNode,n=t.memoizedProps;try{for(var i=t.type,a=e.attributes;a.length;)e.removeAttributeNode(a[0]);gi(e,i,n),e[hi]=t,e[ta]=n}catch(r){He(t,t.return,r)}}var Eo=!1,Ln=!1,Yx=!1,_z=typeof WeakSet=="function"?WeakSet:Set,ti=null;function xq(t,e){if(t=t.containerInfo,Vw=Jy,t=HI(t),oT(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else t:{n=(n=t.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var a=i.anchorOffset,r=i.focusNode;i=i.focusOffset;try{n.nodeType,r.nodeType}catch{n=null;break t}var l=0,u=-1,f=-1,h=0,d=0,m=t,y=null;e:for(;;){for(var g;m!==n||a!==0&&m.nodeType!==3||(u=l+a),m!==r||i!==0&&m.nodeType!==3||(f=l+i),m.nodeType===3&&(l+=m.nodeValue.length),(g=m.firstChild)!==null;)y=m,m=g;for(;;){if(m===t)break e;if(y===n&&++h===a&&(u=l),y===r&&++d===i&&(f=l),(g=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=g}n=u===-1||f===-1?null:{start:u,end:f}}else n=null}n=n||{start:0,end:0}}else n=null;for(Uw={focusedElem:t,selectionRange:n},Jy=!1,ti=e;ti!==null;)if(e=ti,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,ti=t;else for(;ti!==null;){switch(e=ti,r=e.alternate,t=e.flags,e.tag){case 0:if(t&4&&(t=e.updateQueue,t=t!==null?t.events:null,t!==null))for(n=0;n<t.length;n++)a=t[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if(t&1024&&r!==null){t=void 0,n=e,a=r.memoizedProps,r=r.memoizedState,i=n.stateNode;try{var b=lu(n.type,a);t=i.getSnapshotBeforeUpdate(b,r),i.__reactInternalSnapshotBeforeUpdate=t}catch(T){He(n,n.return,T)}}break;case 3:if(t&1024){if(t=e.stateNode.containerInfo,n=t.nodeType,n===9)jw(t);else if(n===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":jw(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(t&1024)throw Error(ot(163))}if(t=e.sibling,t!==null){t.return=e.return,ti=t;break}ti=e.return}}function JN(t,e,n){var i=n.flags;switch(n.tag){case 0:case 11:case 15:wo(t,n),i&4&&Uh(5,n);break;case 1:if(wo(t,n),i&4)if(t=n.stateNode,e===null)try{t.componentDidMount()}catch(l){He(n,n.return,l)}else{var a=lu(n.type,e.memoizedProps);e=e.memoizedState;try{t.componentDidUpdate(a,e,t.__reactInternalSnapshotBeforeUpdate)}catch(l){He(n,n.return,l)}}i&64&&XN(n),i&512&&ph(n,n.return);break;case 3:if(wo(t,n),i&64&&(t=n.updateQueue,t!==null)){if(e=null,n.child!==null)switch(n.child.tag){case 27:case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}try{nN(t,e)}catch(l){He(n,n.return,l)}}break;case 27:e===null&&i&4&&WN(n);case 26:case 5:wo(t,n),e===null&&i&4&&KN(n),i&512&&ph(n,n.return);break;case 12:wo(t,n);break;case 31:wo(t,n),i&4&&eL(t,n);break;case 13:wo(t,n),i&4&&nL(t,n),i&64&&(t=n.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(n=_q.bind(null,n),Qq(t,n))));break;case 22:if(i=n.memoizedState!==null||Eo,!i){e=e!==null&&e.memoizedState!==null||Ln,a=Eo;var r=Ln;Eo=i,(Ln=e)&&!r?To(t,n,(n.subtreeFlags&8772)!==0):wo(t,n),Eo=a,Ln=r}break;case 30:break;default:wo(t,n)}}function $N(t){var e=t.alternate;e!==null&&(t.alternate=null,$N(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&tT(e)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var rn=null,Wi=!1;function xo(t,e,n){for(n=n.child;n!==null;)tL(t,e,n),n=n.sibling}function tL(t,e,n){if(Ea&&typeof Ea.onCommitFiberUnmount=="function")try{Ea.onCommitFiberUnmount(Lh,n)}catch{}switch(n.tag){case 26:Ln||Fr(n,e),xo(t,e,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Ln||Fr(n,e);var i=rn,a=Wi;Ys(n.type)&&(rn=n.stateNode,Wi=!1),xo(t,e,n),vh(n.stateNode),rn=i,Wi=a;break;case 5:Ln||Fr(n,e);case 6:if(i=rn,a=Wi,rn=null,xo(t,e,n),rn=i,Wi=a,rn!==null)if(Wi)try{(rn.nodeType===9?rn.body:rn.nodeName==="HTML"?rn.ownerDocument.body:rn).removeChild(n.stateNode)}catch(r){He(n,e,r)}else try{rn.removeChild(n.stateNode)}catch(r){He(n,e,r)}break;case 18:rn!==null&&(Wi?(t=rn,Gz(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,n.stateNode),yd(t)):Gz(rn,n.stateNode));break;case 4:i=rn,a=Wi,rn=n.stateNode.containerInfo,Wi=!0,xo(t,e,n),rn=i,Wi=a;break;case 0:case 11:case 14:case 15:js(2,n,e),Ln||js(4,n,e),xo(t,e,n);break;case 1:Ln||(Fr(n,e),i=n.stateNode,typeof i.componentWillUnmount=="function"&&QN(n,e,i)),xo(t,e,n);break;case 21:xo(t,e,n);break;case 22:Ln=(i=Ln)||n.memoizedState!==null,xo(t,e,n),Ln=i;break;default:xo(t,e,n)}}function eL(t,e){if(e.memoizedState===null&&(t=e.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{yd(t)}catch(n){He(e,e.return,n)}}}function nL(t,e){if(e.memoizedState===null&&(t=e.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{yd(t)}catch(n){He(e,e.return,n)}}function wq(t){switch(t.tag){case 31:case 13:case 19:var e=t.stateNode;return e===null&&(e=t.stateNode=new _z),e;case 22:return t=t.stateNode,e=t._retryCache,e===null&&(e=t._retryCache=new _z),e;default:throw Error(ot(435,t.tag))}}function ay(t,e){var n=wq(t);e.forEach(function(i){if(!n.has(i)){n.add(i);var a=zq.bind(null,t,i);i.then(a,a)}})}function Ki(t,e){var n=e.deletions;if(n!==null)for(var i=0;i<n.length;i++){var a=n[i],r=t,l=e,u=l;t:for(;u!==null;){switch(u.tag){case 27:if(Ys(u.type)){rn=u.stateNode,Wi=!1;break t}break;case 5:rn=u.stateNode,Wi=!1;break t;case 3:case 4:rn=u.stateNode.containerInfo,Wi=!0;break t}u=u.return}if(rn===null)throw Error(ot(160));tL(r,l,a),rn=null,Wi=!1,r=a.alternate,r!==null&&(r.return=null),a.return=null}if(e.subtreeFlags&13886)for(e=e.child;e!==null;)iL(e,t),e=e.sibling}var mr=null;function iL(t,e){var n=t.alternate,i=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Ki(e,t),Zi(t),i&4&&(js(3,t,t.return),Uh(3,t),js(5,t,t.return));break;case 1:Ki(e,t),Zi(t),i&512&&(Ln||n===null||Fr(n,n.return)),i&64&&Eo&&(t=t.updateQueue,t!==null&&(i=t.callbacks,i!==null&&(n=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=n===null?i:n.concat(i))));break;case 26:var a=mr;if(Ki(e,t),Zi(t),i&512&&(Ln||n===null||Fr(n,n.return)),i&4){var r=n!==null?n.memoizedState:null;if(i=t.memoizedState,n===null)if(i===null)if(t.stateNode===null){t:{i=t.type,n=t.memoizedProps,a=a.ownerDocument||a;e:switch(i){case"title":r=a.getElementsByTagName("title")[0],(!r||r[Bh]||r[hi]||r.namespaceURI==="http://www.w3.org/2000/svg"||r.hasAttribute("itemprop"))&&(r=a.createElement(i),a.head.insertBefore(r,a.querySelector("head > title"))),gi(r,i,n),r[hi]=t,ei(r),i=r;break t;case"link":var l=Jz("link","href",a).get(i+(n.href||""));if(l){for(var u=0;u<l.length;u++)if(r=l[u],r.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&r.getAttribute("rel")===(n.rel==null?null:n.rel)&&r.getAttribute("title")===(n.title==null?null:n.title)&&r.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){l.splice(u,1);break e}}r=a.createElement(i),gi(r,i,n),a.head.appendChild(r);break;case"meta":if(l=Jz("meta","content",a).get(i+(n.content||""))){for(u=0;u<l.length;u++)if(r=l[u],r.getAttribute("content")===(n.content==null?null:""+n.content)&&r.getAttribute("name")===(n.name==null?null:n.name)&&r.getAttribute("property")===(n.property==null?null:n.property)&&r.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&r.getAttribute("charset")===(n.charSet==null?null:n.charSet)){l.splice(u,1);break e}}r=a.createElement(i),gi(r,i,n),a.head.appendChild(r);break;default:throw Error(ot(468,i))}r[hi]=t,ei(r),i=r}t.stateNode=i}else $z(a,t.type,t.stateNode);else t.stateNode=Wz(a,i,t.memoizedProps);else r!==i?(r===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):r.count--,i===null?$z(a,t.type,t.stateNode):Wz(a,i,t.memoizedProps)):i===null&&t.stateNode!==null&&kx(t,t.memoizedProps,n.memoizedProps)}break;case 27:Ki(e,t),Zi(t),i&512&&(Ln||n===null||Fr(n,n.return)),n!==null&&i&4&&kx(t,t.memoizedProps,n.memoizedProps);break;case 5:if(Ki(e,t),Zi(t),i&512&&(Ln||n===null||Fr(n,n.return)),t.flags&32){a=t.stateNode;try{ud(a,"")}catch(b){He(t,t.return,b)}}i&4&&t.stateNode!=null&&(a=t.memoizedProps,kx(t,a,n!==null?n.memoizedProps:a)),i&1024&&(Yx=!0);break;case 6:if(Ki(e,t),Zi(t),i&4){if(t.stateNode===null)throw Error(ot(162));i=t.memoizedProps,n=t.stateNode;try{n.nodeValue=i}catch(b){He(t,t.return,b)}}break;case 3:if(wy=null,a=mr,mr=Ky(e.containerInfo),Ki(e,t),mr=a,Zi(t),i&4&&n!==null&&n.memoizedState.isDehydrated)try{yd(e.containerInfo)}catch(b){He(t,t.return,b)}Yx&&(Yx=!1,aL(t));break;case 4:i=mr,mr=Ky(t.stateNode.containerInfo),Ki(e,t),Zi(t),mr=i;break;case 12:Ki(e,t),Zi(t);break;case 31:Ki(e,t),Zi(t),i&4&&(i=t.updateQueue,i!==null&&(t.updateQueue=null,ay(t,i)));break;case 13:Ki(e,t),Zi(t),t.child.flags&8192&&t.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(dv=Ra()),i&4&&(i=t.updateQueue,i!==null&&(t.updateQueue=null,ay(t,i)));break;case 22:a=t.memoizedState!==null;var f=n!==null&&n.memoizedState!==null,h=Eo,d=Ln;if(Eo=h||a,Ln=d||f,Ki(e,t),Ln=d,Eo=h,Zi(t),i&8192)t:for(e=t.stateNode,e._visibility=a?e._visibility&-2:e._visibility|1,a&&(n===null||f||Eo||Ln||Jl(t)),n=null,e=t;;){if(e.tag===5||e.tag===26){if(n===null){f=n=e;try{if(r=f.stateNode,a)l=r.style,typeof l.setProperty=="function"?l.setProperty("display","none","important"):l.display="none";else{u=f.stateNode;var m=f.memoizedProps.style,y=m!=null&&m.hasOwnProperty("display")?m.display:null;u.style.display=y==null||typeof y=="boolean"?"":(""+y).trim()}}catch(b){He(f,f.return,b)}}}else if(e.tag===6){if(n===null){f=e;try{f.stateNode.nodeValue=a?"":f.memoizedProps}catch(b){He(f,f.return,b)}}}else if(e.tag===18){if(n===null){f=e;try{var g=f.stateNode;a?Yz(g,!0):Yz(f.stateNode,!1)}catch(b){He(f,f.return,b)}}}else if((e.tag!==22&&e.tag!==23||e.memoizedState===null||e===t)&&e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break t;for(;e.sibling===null;){if(e.return===null||e.return===t)break t;n===e&&(n=null),e=e.return}n===e&&(n=null),e.sibling.return=e.return,e=e.sibling}i&4&&(i=t.updateQueue,i!==null&&(n=i.retryQueue,n!==null&&(i.retryQueue=null,ay(t,n))));break;case 19:Ki(e,t),Zi(t),i&4&&(i=t.updateQueue,i!==null&&(t.updateQueue=null,ay(t,i)));break;case 30:break;case 21:break;default:Ki(e,t),Zi(t)}}function Zi(t){var e=t.flags;if(e&2){try{for(var n,i=t.return;i!==null;){if(ZN(i)){n=i;break}i=i.return}if(n==null)throw Error(ot(160));switch(n.tag){case 27:var a=n.stateNode,r=Gx(t);Uy(t,r,a);break;case 5:var l=n.stateNode;n.flags&32&&(ud(l,""),n.flags&=-33);var u=Gx(t);Uy(t,u,l);break;case 3:case 4:var f=n.stateNode.containerInfo,h=Gx(t);Nw(t,h,f);break;default:throw Error(ot(161))}}catch(d){He(t,t.return,d)}t.flags&=-3}e&4096&&(t.flags&=-4097)}function aL(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var e=t;aL(e),e.tag===5&&e.flags&1024&&e.stateNode.reset(),t=t.sibling}}function wo(t,e){if(e.subtreeFlags&8772)for(e=e.child;e!==null;)JN(t,e.alternate,e),e=e.sibling}function Jl(t){for(t=t.child;t!==null;){var e=t;switch(e.tag){case 0:case 11:case 14:case 15:js(4,e,e.return),Jl(e);break;case 1:Fr(e,e.return);var n=e.stateNode;typeof n.componentWillUnmount=="function"&&QN(e,e.return,n),Jl(e);break;case 27:vh(e.stateNode);case 26:case 5:Fr(e,e.return),Jl(e);break;case 22:e.memoizedState===null&&Jl(e);break;case 30:Jl(e);break;default:Jl(e)}t=t.sibling}}function To(t,e,n){for(n=n&&(e.subtreeFlags&8772)!==0,e=e.child;e!==null;){var i=e.alternate,a=t,r=e,l=r.flags;switch(r.tag){case 0:case 11:case 15:To(a,r,n),Uh(4,r);break;case 1:if(To(a,r,n),i=r,a=i.stateNode,typeof a.componentDidMount=="function")try{a.componentDidMount()}catch(h){He(i,i.return,h)}if(i=r,a=i.updateQueue,a!==null){var u=i.stateNode;try{var f=a.shared.hiddenCallbacks;if(f!==null)for(a.shared.hiddenCallbacks=null,a=0;a<f.length;a++)eN(f[a],u)}catch(h){He(i,i.return,h)}}n&&l&64&&XN(r),ph(r,r.return);break;case 27:WN(r);case 26:case 5:To(a,r,n),n&&i===null&&l&4&&KN(r),ph(r,r.return);break;case 12:To(a,r,n);break;case 31:To(a,r,n),n&&l&4&&eL(a,r);break;case 13:To(a,r,n),n&&l&4&&nL(a,r);break;case 22:r.memoizedState===null&&To(a,r,n),ph(r,r.return);break;case 30:break;default:To(a,r,n)}e=e.sibling}}function IT(t,e){var n=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),t=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(t=e.memoizedState.cachePool.pool),t!==n&&(t!=null&&t.refCount++,n!=null&&Fh(n))}function NT(t,e){t=null,e.alternate!==null&&(t=e.alternate.memoizedState.cache),e=e.memoizedState.cache,e!==t&&(e.refCount++,t!=null&&Fh(t))}function pr(t,e,n,i){if(e.subtreeFlags&10256)for(e=e.child;e!==null;)rL(t,e,n,i),e=e.sibling}function rL(t,e,n,i){var a=e.flags;switch(e.tag){case 0:case 11:case 15:pr(t,e,n,i),a&2048&&Uh(9,e);break;case 1:pr(t,e,n,i);break;case 3:pr(t,e,n,i),a&2048&&(t=null,e.alternate!==null&&(t=e.alternate.memoizedState.cache),e=e.memoizedState.cache,e!==t&&(e.refCount++,t!=null&&Fh(t)));break;case 12:if(a&2048){pr(t,e,n,i),t=e.stateNode;try{var r=e.memoizedProps,l=r.id,u=r.onPostCommit;typeof u=="function"&&u(l,e.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(f){He(e,e.return,f)}}else pr(t,e,n,i);break;case 31:pr(t,e,n,i);break;case 13:pr(t,e,n,i);break;case 23:break;case 22:r=e.stateNode,l=e.alternate,e.memoizedState!==null?r._visibility&2?pr(t,e,n,i):mh(t,e):r._visibility&2?pr(t,e,n,i):(r._visibility|=2,Vc(t,e,n,i,(e.subtreeFlags&10256)!==0||!1)),a&2048&&IT(l,e);break;case 24:pr(t,e,n,i),a&2048&&NT(e.alternate,e);break;default:pr(t,e,n,i)}}function Vc(t,e,n,i,a){for(a=a&&((e.subtreeFlags&10256)!==0||!1),e=e.child;e!==null;){var r=t,l=e,u=n,f=i,h=l.flags;switch(l.tag){case 0:case 11:case 15:Vc(r,l,u,f,a),Uh(8,l);break;case 23:break;case 22:var d=l.stateNode;l.memoizedState!==null?d._visibility&2?Vc(r,l,u,f,a):mh(r,l):(d._visibility|=2,Vc(r,l,u,f,a)),a&&h&2048&&IT(l.alternate,l);break;case 24:Vc(r,l,u,f,a),a&&h&2048&&NT(l.alternate,l);break;default:Vc(r,l,u,f,a)}e=e.sibling}}function mh(t,e){if(e.subtreeFlags&10256)for(e=e.child;e!==null;){var n=t,i=e,a=i.flags;switch(i.tag){case 22:mh(n,i),a&2048&&IT(i.alternate,i);break;case 24:mh(n,i),a&2048&&NT(i.alternate,i);break;default:mh(n,i)}e=e.sibling}}var rh=8192;function Fc(t,e,n){if(t.subtreeFlags&rh)for(t=t.child;t!==null;)oL(t,e,n),t=t.sibling}function oL(t,e,n){switch(t.tag){case 26:Fc(t,e,n),t.flags&rh&&t.memoizedState!==null&&o8(n,mr,t.memoizedState,t.memoizedProps);break;case 5:Fc(t,e,n);break;case 3:case 4:var i=mr;mr=Ky(t.stateNode.containerInfo),Fc(t,e,n),mr=i;break;case 22:t.memoizedState===null&&(i=t.alternate,i!==null&&i.memoizedState!==null?(i=rh,rh=16777216,Fc(t,e,n),rh=i):Fc(t,e,n));break;default:Fc(t,e,n)}}function sL(t){var e=t.alternate;if(e!==null&&(t=e.child,t!==null)){e.child=null;do e=t.sibling,t.sibling=null,t=e;while(t!==null)}}function Jf(t){var e=t.deletions;if(t.flags&16){if(e!==null)for(var n=0;n<e.length;n++){var i=e[n];ti=i,uL(i,t)}sL(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)lL(t),t=t.sibling}function lL(t){switch(t.tag){case 0:case 11:case 15:Jf(t),t.flags&2048&&js(9,t,t.return);break;case 3:Jf(t);break;case 12:Jf(t);break;case 22:var e=t.stateNode;t.memoizedState!==null&&e._visibility&2&&(t.return===null||t.return.tag!==13)?(e._visibility&=-3,Sy(t)):Jf(t);break;default:Jf(t)}}function Sy(t){var e=t.deletions;if(t.flags&16){if(e!==null)for(var n=0;n<e.length;n++){var i=e[n];ti=i,uL(i,t)}sL(t)}for(t=t.child;t!==null;){switch(e=t,e.tag){case 0:case 11:case 15:js(8,e,e.return),Sy(e);break;case 22:n=e.stateNode,n._visibility&2&&(n._visibility&=-3,Sy(e));break;default:Sy(e)}t=t.sibling}}function uL(t,e){for(;ti!==null;){var n=ti;switch(n.tag){case 0:case 11:case 15:js(8,n,e);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var i=n.memoizedState.cachePool.pool;i!=null&&i.refCount++}break;case 24:Fh(n.memoizedState.cache)}if(i=n.child,i!==null)i.return=n,ti=i;else t:for(n=t;ti!==null;){i=ti;var a=i.sibling,r=i.return;if($N(i),i===n){ti=null;break t}if(a!==null){a.return=r,ti=a;break t}ti=r}}}var Tq={getCacheForType:function(t){var e=mi(Dn),n=e.data.get(t);return n===void 0&&(n=t(),e.data.set(t,n)),n},cacheSignal:function(){return mi(Dn).controller.signal}},Rq=typeof WeakMap=="function"?WeakMap:Map,Ie=0,Ge=null,be=null,we=0,Be=0,Sa=null,Os=!1,wd=!1,LT=!1,Po=0,vn=0,ks=0,iu=0,DT=0,Ta=0,hd=0,gh=null,Ji=null,Lw=!1,dv=0,cL=0,qy=1/0,jy=null,Ps=null,Yn=0,Bs=null,pd=null,zo=0,Dw=0,Pw=null,dL=null,yh=0,Bw=null;function Aa(){return Ie&2&&we!==0?we&-we:Qt.T!==null?BT():SI()}function fL(){if(Ta===0)if(!(we&536870912)||Re){var t=Qg;Qg<<=1,!(Qg&3932160)&&(Qg=262144),Ta=t}else Ta=536870912;return t=Oa.current,t!==null&&(t.flags|=32),Ta}function $i(t,e,n){(t===Ge&&(Be===2||Be===9)||t.cancelPendingCommit!==null)&&(md(t,0),_s(t,we,Ta,!1)),Ph(t,n),(!(Ie&2)||t!==Ge)&&(t===Ge&&(!(Ie&2)&&(iu|=n),vn===4&&_s(t,we,Ta,!1)),qr(t))}function hL(t,e,n){if(Ie&6)throw Error(ot(327));var i=!n&&(e&127)===0&&(e&t.expiredLanes)===0||Dh(t,e),a=i?Aq(t,e):Xx(t,e,!0),r=i;do{if(a===0){wd&&!i&&_s(t,e,0,!1);break}else{if(n=t.current.alternate,r&&!Eq(n)){a=Xx(t,e,!1),r=!1;continue}if(a===2){if(r=e,t.errorRecoveryDisabledLanes&r)var l=0;else l=t.pendingLanes&-536870913,l=l!==0?l:l&536870912?536870912:0;if(l!==0){e=l;t:{var u=t;a=gh;var f=u.current.memoizedState.isDehydrated;if(f&&(md(u,l).flags|=256),l=Xx(u,l,!1),l!==2){if(LT&&!f){u.errorRecoveryDisabledLanes|=r,iu|=r,a=4;break t}r=Ji,Ji=a,r!==null&&(Ji===null?Ji=r:Ji.push.apply(Ji,r))}a=l}if(r=!1,a!==2)continue}}if(a===1){md(t,0),_s(t,e,0,!0);break}t:{switch(i=t,r=a,r){case 0:case 1:throw Error(ot(345));case 4:if((e&4194048)!==e)break;case 6:_s(i,e,Ta,!Os);break t;case 2:Ji=null;break;case 3:case 5:break;default:throw Error(ot(329))}if((e&62914560)===e&&(a=dv+300-Ra(),10<a)){if(_s(i,e,Ta,!Os),tv(i,0,!0)!==0)break t;zo=e,i.timeoutHandle=NL(zz.bind(null,i,n,Ji,jy,Lw,e,Ta,iu,hd,Os,r,"Throttled",-0,0),a);break t}zz(i,n,Ji,jy,Lw,e,Ta,iu,hd,Os,r,null,-0,0)}}break}while(!0);qr(t)}function zz(t,e,n,i,a,r,l,u,f,h,d,m,y,g){if(t.timeoutHandle=-1,m=e.subtreeFlags,m&8192||(m&16785408)===16785408){m={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Ao},oL(e,r,m);var b=(r&62914560)===r?dv-Ra():(r&4194048)===r?cL-Ra():0;if(b=s8(m,b),b!==null){zo=r,t.cancelPendingCommit=b(Nz.bind(null,t,e,r,n,i,a,l,u,f,d,m,null,y,g)),_s(t,r,l,!h);return}}Nz(t,e,r,n,i,a,l,u,f)}function Eq(t){for(var e=t;;){var n=e.tag;if((n===0||n===11||n===15)&&e.flags&16384&&(n=e.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var i=0;i<n.length;i++){var a=n[i],r=a.getSnapshot;a=a.value;try{if(!Ma(r(),a))return!1}catch{return!1}}if(n=e.child,e.subtreeFlags&16384&&n!==null)n.return=e,e=n;else{if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return!0;e=e.return}e.sibling.return=e.return,e=e.sibling}}return!0}function _s(t,e,n,i){e&=~DT,e&=~iu,t.suspendedLanes|=e,t.pingedLanes&=~e,i&&(t.warmLanes|=e),i=t.expirationTimes;for(var a=e;0<a;){var r=31-Ca(a),l=1<<r;i[r]=-1,a&=~l}n!==0&&yI(t,n,e)}function fv(){return Ie&6?!0:(qh(0,!1),!1)}function PT(){if(be!==null){if(Be===0)var t=be.return;else t=be,Mo=hu=null,xT(t),ad=null,Eh=0,t=be;for(;t!==null;)YN(t.alternate,t),t=t.return;be=null}}function md(t,e){var n=t.timeoutHandle;n!==-1&&(t.timeoutHandle=-1,jq(n)),n=t.cancelPendingCommit,n!==null&&(t.cancelPendingCommit=null,n()),zo=0,PT(),Ge=t,be=n=Oo(t.current,null),we=e,Be=0,Sa=null,Os=!1,wd=Dh(t,e),LT=!1,hd=Ta=DT=iu=ks=vn=0,Ji=gh=null,Lw=!1,e&8&&(e|=e&32);var i=t.entangledLanes;if(i!==0)for(t=t.entanglements,i&=e;0<i;){var a=31-Ca(i),r=1<<a;e|=t[a],i&=~r}return Po=e,av(),n}function pL(t,e){le=null,Qt.H=Ah,e===xd||e===ov?(e=uz(),Be=3):e===pT?(e=uz(),Be=4):Be=e===_T?8:e!==null&&typeof e=="object"&&typeof e.then=="function"?6:1,Sa=e,be===null&&(vn=1,Fy(t,Qa(e,t.current)))}function mL(){var t=Oa.current;return t===null?!0:(we&4194048)===we?Za===null:(we&62914560)===we||we&536870912?t===Za:!1}function gL(){var t=Qt.H;return Qt.H=Ah,t===null?Ah:t}function yL(){var t=Qt.A;return Qt.A=Tq,t}function ky(){vn=4,Os||(we&4194048)!==we&&Oa.current!==null||(wd=!0),!(ks&134217727)&&!(iu&134217727)||Ge===null||_s(Ge,we,Ta,!1)}function Xx(t,e,n){var i=Ie;Ie|=2;var a=gL(),r=yL();(Ge!==t||we!==e)&&(jy=null,md(t,e)),e=!1;var l=vn;t:do try{if(Be!==0&&be!==null){var u=be,f=Sa;switch(Be){case 8:PT(),l=6;break t;case 3:case 2:case 9:case 6:Oa.current===null&&(e=!0);var h=Be;if(Be=0,Sa=null,$c(t,u,f,h),n&&wd){l=0;break t}break;default:h=Be,Be=0,Sa=null,$c(t,u,f,h)}}Cq(),l=vn;break}catch(d){pL(t,d)}while(!0);return e&&t.shellSuspendCounter++,Mo=hu=null,Ie=i,Qt.H=a,Qt.A=r,be===null&&(Ge=null,we=0,av()),l}function Cq(){for(;be!==null;)vL(be)}function Aq(t,e){var n=Ie;Ie|=2;var i=gL(),a=yL();Ge!==t||we!==e?(jy=null,qy=Ra()+500,md(t,e)):wd=Dh(t,e);t:do try{if(Be!==0&&be!==null){e=be;var r=Sa;e:switch(Be){case 1:Be=0,Sa=null,$c(t,e,r,1);break;case 2:case 9:if(lz(r)){Be=0,Sa=null,Iz(e);break}e=function(){Be!==2&&Be!==9||Ge!==t||(Be=7),qr(t)},r.then(e,e);break t;case 3:Be=7;break t;case 4:Be=5;break t;case 7:lz(r)?(Be=0,Sa=null,Iz(e)):(Be=0,Sa=null,$c(t,e,r,7));break;case 5:var l=null;switch(be.tag){case 26:l=be.memoizedState;case 5:case 27:var u=be;if(l?HL(l):u.stateNode.complete){Be=0,Sa=null;var f=u.sibling;if(f!==null)be=f;else{var h=u.return;h!==null?(be=h,hv(h)):be=null}break e}}Be=0,Sa=null,$c(t,e,r,5);break;case 6:Be=0,Sa=null,$c(t,e,r,6);break;case 8:PT(),vn=6;break t;default:throw Error(ot(462))}}Mq();break}catch(d){pL(t,d)}while(!0);return Mo=hu=null,Qt.H=i,Qt.A=a,Ie=n,be!==null?0:(Ge=null,we=0,av(),vn)}function Mq(){for(;be!==null&&!WV();)vL(be)}function vL(t){var e=GN(t.alternate,t,Po);t.memoizedProps=t.pendingProps,e===null?hv(t):be=e}function Iz(t){var e=t,n=e.alternate;switch(e.tag){case 15:case 0:e=Ez(n,e,e.pendingProps,e.type,void 0,we);break;case 11:e=Ez(n,e,e.pendingProps,e.type.render,e.ref,we);break;case 5:xT(e);default:YN(n,e),e=be=YI(e,Po),e=GN(n,e,Po)}t.memoizedProps=t.pendingProps,e===null?hv(t):be=e}function $c(t,e,n,i){Mo=hu=null,xT(e),ad=null,Eh=0;var a=e.return;try{if(gq(t,a,e,n,we)){vn=1,Fy(t,Qa(n,t.current)),be=null;return}}catch(r){if(a!==null)throw be=a,r;vn=1,Fy(t,Qa(n,t.current)),be=null;return}e.flags&32768?(Re||i===1?t=!0:wd||we&536870912?t=!1:(Os=t=!0,(i===2||i===9||i===3||i===6)&&(i=Oa.current,i!==null&&i.tag===13&&(i.flags|=16384))),bL(e,t)):hv(e)}function hv(t){var e=t;do{if(e.flags&32768){bL(e,Os);return}t=e.return;var n=bq(e.alternate,e,Po);if(n!==null){be=n;return}if(e=e.sibling,e!==null){be=e;return}be=e=t}while(e!==null);vn===0&&(vn=5)}function bL(t,e){do{var n=Sq(t.alternate,t);if(n!==null){n.flags&=32767,be=n;return}if(n=t.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!e&&(t=t.sibling,t!==null)){be=t;return}be=t=n}while(t!==null);vn=6,be=null}function Nz(t,e,n,i,a,r,l,u,f){t.cancelPendingCommit=null;do pv();while(Yn!==0);if(Ie&6)throw Error(ot(327));if(e!==null){if(e===t.current)throw Error(ot(177));if(r=e.lanes|e.childLanes,r|=sT,sU(t,n,r,l,u,f),t===Ge&&(be=Ge=null,we=0),pd=e,Bs=t,zo=n,Dw=r,Pw=a,dL=i,e.subtreeFlags&10256||e.flags&10256?(t.callbackNode=null,t.callbackPriority=0,Iq(My,function(){return RL(),null})):(t.callbackNode=null,t.callbackPriority=0),i=(e.flags&13878)!==0,e.subtreeFlags&13878||i){i=Qt.T,Qt.T=null,a=Ne.p,Ne.p=2,l=Ie,Ie|=4;try{xq(t,e,n)}finally{Ie=l,Ne.p=a,Qt.T=i}}Yn=1,SL(),xL(),wL()}}function SL(){if(Yn===1){Yn=0;var t=Bs,e=pd,n=(e.flags&13878)!==0;if(e.subtreeFlags&13878||n){n=Qt.T,Qt.T=null;var i=Ne.p;Ne.p=2;var a=Ie;Ie|=4;try{iL(e,t);var r=Uw,l=HI(t.containerInfo),u=r.focusedElem,f=r.selectionRange;if(l!==u&&u&&u.ownerDocument&&BI(u.ownerDocument.documentElement,u)){if(f!==null&&oT(u)){var h=f.start,d=f.end;if(d===void 0&&(d=h),"selectionStart"in u)u.selectionStart=h,u.selectionEnd=Math.min(d,u.value.length);else{var m=u.ownerDocument||document,y=m&&m.defaultView||window;if(y.getSelection){var g=y.getSelection(),b=u.textContent.length,T=Math.min(f.start,b),C=f.end===void 0?T:Math.min(f.end,b);!g.extend&&T>C&&(l=C,C=T,T=l);var x=ez(u,T),w=ez(u,C);if(x&&w&&(g.rangeCount!==1||g.anchorNode!==x.node||g.anchorOffset!==x.offset||g.focusNode!==w.node||g.focusOffset!==w.offset)){var R=m.createRange();R.setStart(x.node,x.offset),g.removeAllRanges(),T>C?(g.addRange(R),g.extend(w.node,w.offset)):(R.setEnd(w.node,w.offset),g.addRange(R))}}}}for(m=[],g=u;g=g.parentNode;)g.nodeType===1&&m.push({element:g,left:g.scrollLeft,top:g.scrollTop});for(typeof u.focus=="function"&&u.focus(),u=0;u<m.length;u++){var E=m[u];E.element.scrollLeft=E.left,E.element.scrollTop=E.top}}Jy=!!Vw,Uw=Vw=null}finally{Ie=a,Ne.p=i,Qt.T=n}}t.current=e,Yn=2}}function xL(){if(Yn===2){Yn=0;var t=Bs,e=pd,n=(e.flags&8772)!==0;if(e.subtreeFlags&8772||n){n=Qt.T,Qt.T=null;var i=Ne.p;Ne.p=2;var a=Ie;Ie|=4;try{JN(t,e.alternate,e)}finally{Ie=a,Ne.p=i,Qt.T=n}}Yn=3}}function wL(){if(Yn===4||Yn===3){Yn=0,JV();var t=Bs,e=pd,n=zo,i=dL;e.subtreeFlags&10256||e.flags&10256?Yn=5:(Yn=0,pd=Bs=null,TL(t,t.pendingLanes));var a=t.pendingLanes;if(a===0&&(Ps=null),$w(n),e=e.stateNode,Ea&&typeof Ea.onCommitFiberRoot=="function")try{Ea.onCommitFiberRoot(Lh,e,void 0,(e.current.flags&128)===128)}catch{}if(i!==null){e=Qt.T,a=Ne.p,Ne.p=2,Qt.T=null;try{for(var r=t.onRecoverableError,l=0;l<i.length;l++){var u=i[l];r(u.value,{componentStack:u.stack})}}finally{Qt.T=e,Ne.p=a}}zo&3&&pv(),qr(t),a=t.pendingLanes,n&261930&&a&42?t===Bw?yh++:(yh=0,Bw=t):yh=0,qh(0,!1)}}function TL(t,e){(t.pooledCacheLanes&=e)===0&&(e=t.pooledCache,e!=null&&(t.pooledCache=null,Fh(e)))}function pv(){return SL(),xL(),wL(),RL()}function RL(){if(Yn!==5)return!1;var t=Bs,e=Dw;Dw=0;var n=$w(zo),i=Qt.T,a=Ne.p;try{Ne.p=32>n?32:n,Qt.T=null,n=Pw,Pw=null;var r=Bs,l=zo;if(Yn=0,pd=Bs=null,zo=0,Ie&6)throw Error(ot(331));var u=Ie;if(Ie|=4,lL(r.current),rL(r,r.current,l,n),Ie=u,qh(0,!1),Ea&&typeof Ea.onPostCommitFiberRoot=="function")try{Ea.onPostCommitFiberRoot(Lh,r)}catch{}return!0}finally{Ne.p=a,Qt.T=i,TL(t,e)}}function Lz(t,e,n){e=Qa(n,e),e=_w(t.stateNode,e,2),t=Ds(t,e,2),t!==null&&(Ph(t,2),qr(t))}function He(t,e,n){if(t.tag===3)Lz(t,t,n);else for(;e!==null;){if(e.tag===3){Lz(e,t,n);break}else if(e.tag===1){var i=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(Ps===null||!Ps.has(i))){t=Qa(n,t),n=FN(2),i=Ds(e,n,2),i!==null&&(VN(n,i,e,t),Ph(i,2),qr(i));break}}e=e.return}}function Qx(t,e,n){var i=t.pingCache;if(i===null){i=t.pingCache=new Rq;var a=new Set;i.set(e,a)}else a=i.get(e),a===void 0&&(a=new Set,i.set(e,a));a.has(n)||(LT=!0,a.add(n),t=Oq.bind(null,t,e,n),e.then(t,t))}function Oq(t,e,n){var i=t.pingCache;i!==null&&i.delete(e),t.pingedLanes|=t.suspendedLanes&n,t.warmLanes&=~n,Ge===t&&(we&n)===n&&(vn===4||vn===3&&(we&62914560)===we&&300>Ra()-dv?!(Ie&2)&&md(t,0):DT|=n,hd===we&&(hd=0)),qr(t)}function EL(t,e){e===0&&(e=gI()),t=fu(t,e),t!==null&&(Ph(t,e),qr(t))}function _q(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),EL(t,n)}function zq(t,e){var n=0;switch(t.tag){case 31:case 13:var i=t.stateNode,a=t.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=t.stateNode;break;case 22:i=t.stateNode._retryCache;break;default:throw Error(ot(314))}i!==null&&i.delete(e),EL(t,n)}function Iq(t,e){return Ww(t,e)}var Gy=null,Uc=null,Hw=!1,Yy=!1,Kx=!1,zs=0;function qr(t){t!==Uc&&t.next===null&&(Uc===null?Gy=Uc=t:Uc=Uc.next=t),Yy=!0,Hw||(Hw=!0,Lq())}function qh(t,e){if(!Kx&&Yy){Kx=!0;do for(var n=!1,i=Gy;i!==null;){if(!e)if(t!==0){var a=i.pendingLanes;if(a===0)var r=0;else{var l=i.suspendedLanes,u=i.pingedLanes;r=(1<<31-Ca(42|t)+1)-1,r&=a&~(l&~u),r=r&201326741?r&201326741|1:r?r|2:0}r!==0&&(n=!0,Dz(i,r))}else r=we,r=tv(i,i===Ge?r:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),!(r&3)||Dh(i,r)||(n=!0,Dz(i,r));i=i.next}while(n);Kx=!1}}function Nq(){CL()}function CL(){Yy=Hw=!1;var t=0;zs!==0&&qq()&&(t=zs);for(var e=Ra(),n=null,i=Gy;i!==null;){var a=i.next,r=AL(i,e);r===0?(i.next=null,n===null?Gy=a:n.next=a,a===null&&(Uc=n)):(n=i,(t!==0||r&3)&&(Yy=!0)),i=a}Yn!==0&&Yn!==5||qh(t,!1),zs!==0&&(zs=0)}function AL(t,e){for(var n=t.suspendedLanes,i=t.pingedLanes,a=t.expirationTimes,r=t.pendingLanes&-62914561;0<r;){var l=31-Ca(r),u=1<<l,f=a[l];f===-1?(!(u&n)||u&i)&&(a[l]=oU(u,e)):f<=e&&(t.expiredLanes|=u),r&=~u}if(e=Ge,n=we,n=tv(t,t===e?n:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),i=t.callbackNode,n===0||t===e&&(Be===2||Be===9)||t.cancelPendingCommit!==null)return i!==null&&i!==null&&Rx(i),t.callbackNode=null,t.callbackPriority=0;if(!(n&3)||Dh(t,n)){if(e=n&-n,e===t.callbackPriority)return e;switch(i!==null&&Rx(i),$w(n)){case 2:case 8:n=pI;break;case 32:n=My;break;case 268435456:n=mI;break;default:n=My}return i=ML.bind(null,t),n=Ww(n,i),t.callbackPriority=e,t.callbackNode=n,e}return i!==null&&i!==null&&Rx(i),t.callbackPriority=2,t.callbackNode=null,2}function ML(t,e){if(Yn!==0&&Yn!==5)return t.callbackNode=null,t.callbackPriority=0,null;var n=t.callbackNode;if(pv()&&t.callbackNode!==n)return null;var i=we;return i=tv(t,t===Ge?i:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),i===0?null:(hL(t,i,e),AL(t,Ra()),t.callbackNode!=null&&t.callbackNode===n?ML.bind(null,t):null)}function Dz(t,e){if(pv())return null;hL(t,e,!0)}function Lq(){kq(function(){Ie&6?Ww(hI,Nq):CL()})}function BT(){if(zs===0){var t=cd;t===0&&(t=Xg,Xg<<=1,!(Xg&261888)&&(Xg=256)),zs=t}return zs}function Pz(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:dy(""+t)}function Bz(t,e){var n=e.ownerDocument.createElement("input");return n.name=e.name,n.value=e.value,t.id&&n.setAttribute("form",t.id),e.parentNode.insertBefore(n,e),t=new FormData(t),n.parentNode.removeChild(n),t}function Dq(t,e,n,i,a){if(e==="submit"&&n&&n.stateNode===a){var r=Pz((a[ta]||null).action),l=i.submitter;l&&(e=(e=l[ta]||null)?Pz(e.formAction):l.getAttribute("formAction"),e!==null&&(r=e,l=null));var u=new ev("action","action",null,i,a);t.push({event:u,listeners:[{instance:null,listener:function(){if(i.defaultPrevented){if(zs!==0){var f=l?Bz(a,l):new FormData(a);Mw(n,{pending:!0,data:f,method:a.method,action:r},null,f)}}else typeof r=="function"&&(u.preventDefault(),f=l?Bz(a,l):new FormData(a),Mw(n,{pending:!0,data:f,method:a.method,action:r},r,f))},currentTarget:a}]})}}for(ry=0;ry<gw.length;ry++)oy=gw[ry],Hz=oy.toLowerCase(),Fz=oy[0].toUpperCase()+oy.slice(1),gr(Hz,"on"+Fz);var oy,Hz,Fz,ry;gr(VI,"onAnimationEnd");gr(UI,"onAnimationIteration");gr(qI,"onAnimationStart");gr("dblclick","onDoubleClick");gr("focusin","onFocus");gr("focusout","onBlur");gr($U,"onTransitionRun");gr(tq,"onTransitionStart");gr(eq,"onTransitionCancel");gr(jI,"onTransitionEnd");ld("onMouseEnter",["mouseout","mouseover"]);ld("onMouseLeave",["mouseout","mouseover"]);ld("onPointerEnter",["pointerout","pointerover"]);ld("onPointerLeave",["pointerout","pointerover"]);uu("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));uu("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));uu("onBeforeInput",["compositionend","keypress","textInput","paste"]);uu("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));uu("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));uu("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Mh="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Pq=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Mh));function OL(t,e){e=(e&4)!==0;for(var n=0;n<t.length;n++){var i=t[n],a=i.event;i=i.listeners;t:{var r=void 0;if(e)for(var l=i.length-1;0<=l;l--){var u=i[l],f=u.instance,h=u.currentTarget;if(u=u.listener,f!==r&&a.isPropagationStopped())break t;r=u,a.currentTarget=h;try{r(a)}catch(d){_y(d)}a.currentTarget=null,r=f}else for(l=0;l<i.length;l++){if(u=i[l],f=u.instance,h=u.currentTarget,u=u.listener,f!==r&&a.isPropagationStopped())break t;r=u,a.currentTarget=h;try{r(a)}catch(d){_y(d)}a.currentTarget=null,r=f}}}}function ve(t,e){var n=e[lw];n===void 0&&(n=e[lw]=new Set);var i=t+"__bubble";n.has(i)||(_L(e,t,2,!1),n.add(i))}function Zx(t,e,n){var i=0;e&&(i|=4),_L(n,t,i,e)}var sy="_reactListening"+Math.random().toString(36).slice(2);function HT(t){if(!t[sy]){t[sy]=!0,xI.forEach(function(n){n!=="selectionchange"&&(Pq.has(n)||Zx(n,!1,t),Zx(n,!0,t))});var e=t.nodeType===9?t:t.ownerDocument;e===null||e[sy]||(e[sy]=!0,Zx("selectionchange",!1,e))}}function _L(t,e,n,i){switch(jL(e)){case 2:var a=c8;break;case 8:a=d8;break;default:a=qT}n=a.bind(null,e,n,t),a=void 0,!hw||e!=="touchstart"&&e!=="touchmove"&&e!=="wheel"||(a=!0),i?a!==void 0?t.addEventListener(e,n,{capture:!0,passive:a}):t.addEventListener(e,n,!0):a!==void 0?t.addEventListener(e,n,{passive:a}):t.addEventListener(e,n,!1)}function Wx(t,e,n,i,a){var r=i;if(!(e&1)&&!(e&2)&&i!==null)t:for(;;){if(i===null)return;var l=i.tag;if(l===3||l===4){var u=i.stateNode.containerInfo;if(u===a)break;if(l===4)for(l=i.return;l!==null;){var f=l.tag;if((f===3||f===4)&&l.stateNode.containerInfo===a)return;l=l.return}for(;u!==null;){if(l=kc(u),l===null)return;if(f=l.tag,f===5||f===6||f===26||f===27){i=r=l;continue t}u=u.parentNode}}i=i.return}OI(function(){var h=r,d=nT(n),m=[];t:{var y=kI.get(t);if(y!==void 0){var g=ev,b=t;switch(t){case"keypress":if(hy(n)===0)break t;case"keydown":case"keyup":g=zU;break;case"focusin":b="focus",g=Ox;break;case"focusout":b="blur",g=Ox;break;case"beforeblur":case"afterblur":g=Ox;break;case"click":if(n.button===2)break t;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":g=Y_;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":g=bU;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":g=LU;break;case VI:case UI:case qI:g=wU;break;case jI:g=PU;break;case"scroll":case"scrollend":g=yU;break;case"wheel":g=HU;break;case"copy":case"cut":case"paste":g=RU;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":g=Q_;break;case"toggle":case"beforetoggle":g=VU}var T=(e&4)!==0,C=!T&&(t==="scroll"||t==="scrollend"),x=T?y!==null?y+"Capture":null:y;T=[];for(var w=h,R;w!==null;){var E=w;if(R=E.stateNode,E=E.tag,E!==5&&E!==26&&E!==27||R===null||x===null||(E=Sh(w,x),E!=null&&T.push(Oh(w,E,R))),C)break;w=w.return}0<T.length&&(y=new g(y,b,null,n,d),m.push({event:y,listeners:T}))}}if(!(e&7)){t:{if(y=t==="mouseover"||t==="pointerover",g=t==="mouseout"||t==="pointerout",y&&n!==fw&&(b=n.relatedTarget||n.fromElement)&&(kc(b)||b[vd]))break t;if((g||y)&&(y=d.window===d?d:(y=d.ownerDocument)?y.defaultView||y.parentWindow:window,g?(b=n.relatedTarget||n.toElement,g=h,b=b?kc(b):null,b!==null&&(C=Nh(b),T=b.tag,b!==C||T!==5&&T!==27&&T!==6)&&(b=null)):(g=null,b=h),g!==b)){if(T=Y_,E="onMouseLeave",x="onMouseEnter",w="mouse",(t==="pointerout"||t==="pointerover")&&(T=Q_,E="onPointerLeave",x="onPointerEnter",w="pointer"),C=g==null?y:ih(g),R=b==null?y:ih(b),y=new T(E,w+"leave",g,n,d),y.target=C,y.relatedTarget=R,E=null,kc(d)===h&&(T=new T(x,w+"enter",b,n,d),T.target=R,T.relatedTarget=C,E=T),C=E,g&&b)e:{for(T=Bq,x=g,w=b,R=0,E=x;E;E=T(E))R++;E=0;for(var M=w;M;M=T(M))E++;for(;0<R-E;)x=T(x),R--;for(;0<E-R;)w=T(w),E--;for(;R--;){if(x===w||w!==null&&x===w.alternate){T=x;break e}x=T(x),w=T(w)}T=null}else T=null;g!==null&&Vz(m,y,g,T,!1),b!==null&&C!==null&&Vz(m,C,b,T,!0)}}t:{if(y=h?ih(h):window,g=y.nodeName&&y.nodeName.toLowerCase(),g==="select"||g==="input"&&y.type==="file")var z=J_;else if(W_(y))if(DI)z=ZU;else{z=QU;var I=XU}else g=y.nodeName,!g||g.toLowerCase()!=="input"||y.type!=="checkbox"&&y.type!=="radio"?h&&eT(h.elementType)&&(z=J_):z=KU;if(z&&(z=z(t,h))){LI(m,z,n,d);break t}I&&I(t,y,h),t==="focusout"&&h&&y.type==="number"&&h.memoizedProps.value!=null&&dw(y,"number",y.value)}switch(I=h?ih(h):window,t){case"focusin":(W_(I)||I.contentEditable==="true")&&(Xc=I,pw=h,lh=null);break;case"focusout":lh=pw=Xc=null;break;case"mousedown":mw=!0;break;case"contextmenu":case"mouseup":case"dragend":mw=!1,nz(m,n,d);break;case"selectionchange":if(JU)break;case"keydown":case"keyup":nz(m,n,d)}var L;if(rT)t:{switch(t){case"compositionstart":var H="onCompositionStart";break t;case"compositionend":H="onCompositionEnd";break t;case"compositionupdate":H="onCompositionUpdate";break t}H=void 0}else Yc?II(t,n)&&(H="onCompositionEnd"):t==="keydown"&&n.keyCode===229&&(H="onCompositionStart");H&&(zI&&n.locale!=="ko"&&(Yc||H!=="onCompositionStart"?H==="onCompositionEnd"&&Yc&&(L=_I()):(Ms=d,iT="value"in Ms?Ms.value:Ms.textContent,Yc=!0)),I=Xy(h,H),0<I.length&&(H=new X_(H,t,null,n,d),m.push({event:H,listeners:I}),L?H.data=L:(L=NI(n),L!==null&&(H.data=L)))),(L=qU?jU(t,n):kU(t,n))&&(H=Xy(h,"onBeforeInput"),0<H.length&&(I=new X_("onBeforeInput","beforeinput",null,n,d),m.push({event:I,listeners:H}),I.data=L)),Dq(m,t,h,n,d)}OL(m,e)})}function Oh(t,e,n){return{instance:t,listener:e,currentTarget:n}}function Xy(t,e){for(var n=e+"Capture",i=[];t!==null;){var a=t,r=a.stateNode;if(a=a.tag,a!==5&&a!==26&&a!==27||r===null||(a=Sh(t,n),a!=null&&i.unshift(Oh(t,a,r)),a=Sh(t,e),a!=null&&i.push(Oh(t,a,r))),t.tag===3)return i;t=t.return}return[]}function Bq(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function Vz(t,e,n,i,a){for(var r=e._reactName,l=[];n!==null&&n!==i;){var u=n,f=u.alternate,h=u.stateNode;if(u=u.tag,f!==null&&f===i)break;u!==5&&u!==26&&u!==27||h===null||(f=h,a?(h=Sh(n,r),h!=null&&l.unshift(Oh(n,h,f))):a||(h=Sh(n,r),h!=null&&l.push(Oh(n,h,f)))),n=n.return}l.length!==0&&t.push({event:e,listeners:l})}var Hq=/\r\n?/g,Fq=/\u0000|\uFFFD/g;function Uz(t){return(typeof t=="string"?t:""+t).replace(Hq,`
20
- `).replace(Fq,"")}function zL(t,e){return e=Uz(e),Uz(t)===e}function Ve(t,e,n,i,a,r){switch(n){case"children":typeof i=="string"?e==="body"||e==="textarea"&&i===""||ud(t,i):(typeof i=="number"||typeof i=="bigint")&&e!=="body"&&ud(t,""+i);break;case"className":Zg(t,"class",i);break;case"tabIndex":Zg(t,"tabindex",i);break;case"dir":case"role":case"viewBox":case"width":case"height":Zg(t,n,i);break;case"style":MI(t,i,r);break;case"data":if(e!=="object"){Zg(t,"data",i);break}case"src":case"href":if(i===""&&(e!=="a"||n!=="href")){t.removeAttribute(n);break}if(i==null||typeof i=="function"||typeof i=="symbol"||typeof i=="boolean"){t.removeAttribute(n);break}i=dy(""+i),t.setAttribute(n,i);break;case"action":case"formAction":if(typeof i=="function"){t.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof r=="function"&&(n==="formAction"?(e!=="input"&&Ve(t,e,"name",a.name,a,null),Ve(t,e,"formEncType",a.formEncType,a,null),Ve(t,e,"formMethod",a.formMethod,a,null),Ve(t,e,"formTarget",a.formTarget,a,null)):(Ve(t,e,"encType",a.encType,a,null),Ve(t,e,"method",a.method,a,null),Ve(t,e,"target",a.target,a,null)));if(i==null||typeof i=="symbol"||typeof i=="boolean"){t.removeAttribute(n);break}i=dy(""+i),t.setAttribute(n,i);break;case"onClick":i!=null&&(t.onclick=Ao);break;case"onScroll":i!=null&&ve("scroll",t);break;case"onScrollEnd":i!=null&&ve("scrollend",t);break;case"dangerouslySetInnerHTML":if(i!=null){if(typeof i!="object"||!("__html"in i))throw Error(ot(61));if(n=i.__html,n!=null){if(a.children!=null)throw Error(ot(60));t.innerHTML=n}}break;case"multiple":t.multiple=i&&typeof i!="function"&&typeof i!="symbol";break;case"muted":t.muted=i&&typeof i!="function"&&typeof i!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(i==null||typeof i=="function"||typeof i=="boolean"||typeof i=="symbol"){t.removeAttribute("xlink:href");break}n=dy(""+i),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":i!=null&&typeof i!="function"&&typeof i!="symbol"?t.setAttribute(n,""+i):t.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":i&&typeof i!="function"&&typeof i!="symbol"?t.setAttribute(n,""):t.removeAttribute(n);break;case"capture":case"download":i===!0?t.setAttribute(n,""):i!==!1&&i!=null&&typeof i!="function"&&typeof i!="symbol"?t.setAttribute(n,i):t.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":i!=null&&typeof i!="function"&&typeof i!="symbol"&&!isNaN(i)&&1<=i?t.setAttribute(n,i):t.removeAttribute(n);break;case"rowSpan":case"start":i==null||typeof i=="function"||typeof i=="symbol"||isNaN(i)?t.removeAttribute(n):t.setAttribute(n,i);break;case"popover":ve("beforetoggle",t),ve("toggle",t),cy(t,"popover",i);break;case"xlinkActuate":bo(t,"http://www.w3.org/1999/xlink","xlink:actuate",i);break;case"xlinkArcrole":bo(t,"http://www.w3.org/1999/xlink","xlink:arcrole",i);break;case"xlinkRole":bo(t,"http://www.w3.org/1999/xlink","xlink:role",i);break;case"xlinkShow":bo(t,"http://www.w3.org/1999/xlink","xlink:show",i);break;case"xlinkTitle":bo(t,"http://www.w3.org/1999/xlink","xlink:title",i);break;case"xlinkType":bo(t,"http://www.w3.org/1999/xlink","xlink:type",i);break;case"xmlBase":bo(t,"http://www.w3.org/XML/1998/namespace","xml:base",i);break;case"xmlLang":bo(t,"http://www.w3.org/XML/1998/namespace","xml:lang",i);break;case"xmlSpace":bo(t,"http://www.w3.org/XML/1998/namespace","xml:space",i);break;case"is":cy(t,"is",i);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=mU.get(n)||n,cy(t,n,i))}}function Fw(t,e,n,i,a,r){switch(n){case"style":MI(t,i,r);break;case"dangerouslySetInnerHTML":if(i!=null){if(typeof i!="object"||!("__html"in i))throw Error(ot(61));if(n=i.__html,n!=null){if(a.children!=null)throw Error(ot(60));t.innerHTML=n}}break;case"children":typeof i=="string"?ud(t,i):(typeof i=="number"||typeof i=="bigint")&&ud(t,""+i);break;case"onScroll":i!=null&&ve("scroll",t);break;case"onScrollEnd":i!=null&&ve("scrollend",t);break;case"onClick":i!=null&&(t.onclick=Ao);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!wI.hasOwnProperty(n))t:{if(n[0]==="o"&&n[1]==="n"&&(a=n.endsWith("Capture"),e=n.slice(2,a?n.length-7:void 0),r=t[ta]||null,r=r!=null?r[n]:null,typeof r=="function"&&t.removeEventListener(e,r,a),typeof i=="function")){typeof r!="function"&&r!==null&&(n in t?t[n]=null:t.hasAttribute(n)&&t.removeAttribute(n)),t.addEventListener(e,i,a);break t}n in t?t[n]=i:i===!0?t.setAttribute(n,""):cy(t,n,i)}}}function gi(t,e,n){switch(e){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ve("error",t),ve("load",t);var i=!1,a=!1,r;for(r in n)if(n.hasOwnProperty(r)){var l=n[r];if(l!=null)switch(r){case"src":i=!0;break;case"srcSet":a=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(ot(137,e));default:Ve(t,e,r,l,n,null)}}a&&Ve(t,e,"srcSet",n.srcSet,n,null),i&&Ve(t,e,"src",n.src,n,null);return;case"input":ve("invalid",t);var u=r=l=a=null,f=null,h=null;for(i in n)if(n.hasOwnProperty(i)){var d=n[i];if(d!=null)switch(i){case"name":a=d;break;case"type":l=d;break;case"checked":f=d;break;case"defaultChecked":h=d;break;case"value":r=d;break;case"defaultValue":u=d;break;case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(ot(137,e));break;default:Ve(t,e,i,d,n,null)}}EI(t,r,u,f,h,l,a,!1);return;case"select":ve("invalid",t),i=l=r=null;for(a in n)if(n.hasOwnProperty(a)&&(u=n[a],u!=null))switch(a){case"value":r=u;break;case"defaultValue":l=u;break;case"multiple":i=u;default:Ve(t,e,a,u,n,null)}e=r,n=l,t.multiple=!!i,e!=null?ed(t,!!i,e,!1):n!=null&&ed(t,!!i,n,!0);return;case"textarea":ve("invalid",t),r=a=i=null;for(l in n)if(n.hasOwnProperty(l)&&(u=n[l],u!=null))switch(l){case"value":i=u;break;case"defaultValue":a=u;break;case"children":r=u;break;case"dangerouslySetInnerHTML":if(u!=null)throw Error(ot(91));break;default:Ve(t,e,l,u,n,null)}AI(t,i,a,r);return;case"option":for(f in n)if(n.hasOwnProperty(f)&&(i=n[f],i!=null))switch(f){case"selected":t.selected=i&&typeof i!="function"&&typeof i!="symbol";break;default:Ve(t,e,f,i,n,null)}return;case"dialog":ve("beforetoggle",t),ve("toggle",t),ve("cancel",t),ve("close",t);break;case"iframe":case"object":ve("load",t);break;case"video":case"audio":for(i=0;i<Mh.length;i++)ve(Mh[i],t);break;case"image":ve("error",t),ve("load",t);break;case"details":ve("toggle",t);break;case"embed":case"source":case"link":ve("error",t),ve("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(h in n)if(n.hasOwnProperty(h)&&(i=n[h],i!=null))switch(h){case"children":case"dangerouslySetInnerHTML":throw Error(ot(137,e));default:Ve(t,e,h,i,n,null)}return;default:if(eT(e)){for(d in n)n.hasOwnProperty(d)&&(i=n[d],i!==void 0&&Fw(t,e,d,i,n,void 0));return}}for(u in n)n.hasOwnProperty(u)&&(i=n[u],i!=null&&Ve(t,e,u,i,n,null))}function Vq(t,e,n,i){switch(e){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var a=null,r=null,l=null,u=null,f=null,h=null,d=null;for(g in n){var m=n[g];if(n.hasOwnProperty(g)&&m!=null)switch(g){case"checked":break;case"value":break;case"defaultValue":f=m;default:i.hasOwnProperty(g)||Ve(t,e,g,null,i,m)}}for(var y in i){var g=i[y];if(m=n[y],i.hasOwnProperty(y)&&(g!=null||m!=null))switch(y){case"type":r=g;break;case"name":a=g;break;case"checked":h=g;break;case"defaultChecked":d=g;break;case"value":l=g;break;case"defaultValue":u=g;break;case"children":case"dangerouslySetInnerHTML":if(g!=null)throw Error(ot(137,e));break;default:g!==m&&Ve(t,e,y,g,i,m)}}cw(t,l,u,f,h,d,r,a);return;case"select":g=l=u=y=null;for(r in n)if(f=n[r],n.hasOwnProperty(r)&&f!=null)switch(r){case"value":break;case"multiple":g=f;default:i.hasOwnProperty(r)||Ve(t,e,r,null,i,f)}for(a in i)if(r=i[a],f=n[a],i.hasOwnProperty(a)&&(r!=null||f!=null))switch(a){case"value":y=r;break;case"defaultValue":u=r;break;case"multiple":l=r;default:r!==f&&Ve(t,e,a,r,i,f)}e=u,n=l,i=g,y!=null?ed(t,!!n,y,!1):!!i!=!!n&&(e!=null?ed(t,!!n,e,!0):ed(t,!!n,n?[]:"",!1));return;case"textarea":g=y=null;for(u in n)if(a=n[u],n.hasOwnProperty(u)&&a!=null&&!i.hasOwnProperty(u))switch(u){case"value":break;case"children":break;default:Ve(t,e,u,null,i,a)}for(l in i)if(a=i[l],r=n[l],i.hasOwnProperty(l)&&(a!=null||r!=null))switch(l){case"value":y=a;break;case"defaultValue":g=a;break;case"children":break;case"dangerouslySetInnerHTML":if(a!=null)throw Error(ot(91));break;default:a!==r&&Ve(t,e,l,a,i,r)}CI(t,y,g);return;case"option":for(var b in n)if(y=n[b],n.hasOwnProperty(b)&&y!=null&&!i.hasOwnProperty(b))switch(b){case"selected":t.selected=!1;break;default:Ve(t,e,b,null,i,y)}for(f in i)if(y=i[f],g=n[f],i.hasOwnProperty(f)&&y!==g&&(y!=null||g!=null))switch(f){case"selected":t.selected=y&&typeof y!="function"&&typeof y!="symbol";break;default:Ve(t,e,f,y,i,g)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var T in n)y=n[T],n.hasOwnProperty(T)&&y!=null&&!i.hasOwnProperty(T)&&Ve(t,e,T,null,i,y);for(h in i)if(y=i[h],g=n[h],i.hasOwnProperty(h)&&y!==g&&(y!=null||g!=null))switch(h){case"children":case"dangerouslySetInnerHTML":if(y!=null)throw Error(ot(137,e));break;default:Ve(t,e,h,y,i,g)}return;default:if(eT(e)){for(var C in n)y=n[C],n.hasOwnProperty(C)&&y!==void 0&&!i.hasOwnProperty(C)&&Fw(t,e,C,void 0,i,y);for(d in i)y=i[d],g=n[d],!i.hasOwnProperty(d)||y===g||y===void 0&&g===void 0||Fw(t,e,d,y,i,g);return}}for(var x in n)y=n[x],n.hasOwnProperty(x)&&y!=null&&!i.hasOwnProperty(x)&&Ve(t,e,x,null,i,y);for(m in i)y=i[m],g=n[m],!i.hasOwnProperty(m)||y===g||y==null&&g==null||Ve(t,e,m,y,i,g)}function qz(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Uq(){if(typeof performance.getEntriesByType=="function"){for(var t=0,e=0,n=performance.getEntriesByType("resource"),i=0;i<n.length;i++){var a=n[i],r=a.transferSize,l=a.initiatorType,u=a.duration;if(r&&u&&qz(l)){for(l=0,u=a.responseEnd,i+=1;i<n.length;i++){var f=n[i],h=f.startTime;if(h>u)break;var d=f.transferSize,m=f.initiatorType;d&&qz(m)&&(f=f.responseEnd,l+=d*(f<u?1:(u-h)/(f-h)))}if(--i,e+=8*(r+l)/(a.duration/1e3),t++,10<t)break}}if(0<t)return e/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var Vw=null,Uw=null;function Qy(t){return t.nodeType===9?t:t.ownerDocument}function jz(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function IL(t,e){if(t===0)switch(e){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&e==="foreignObject"?0:t}function qw(t,e){return t==="textarea"||t==="noscript"||typeof e.children=="string"||typeof e.children=="number"||typeof e.children=="bigint"||typeof e.dangerouslySetInnerHTML=="object"&&e.dangerouslySetInnerHTML!==null&&e.dangerouslySetInnerHTML.__html!=null}var Jx=null;function qq(){var t=window.event;return t&&t.type==="popstate"?t===Jx?!1:(Jx=t,!0):(Jx=null,!1)}var NL=typeof setTimeout=="function"?setTimeout:void 0,jq=typeof clearTimeout=="function"?clearTimeout:void 0,kz=typeof Promise=="function"?Promise:void 0,kq=typeof queueMicrotask=="function"?queueMicrotask:typeof kz<"u"?function(t){return kz.resolve(null).then(t).catch(Gq)}:NL;function Gq(t){setTimeout(function(){throw t})}function Ys(t){return t==="head"}function Gz(t,e){var n=e,i=0;do{var a=n.nextSibling;if(t.removeChild(n),a&&a.nodeType===8)if(n=a.data,n==="/$"||n==="/&"){if(i===0){t.removeChild(a),yd(e);return}i--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")i++;else if(n==="html")vh(t.ownerDocument.documentElement);else if(n==="head"){n=t.ownerDocument.head,vh(n);for(var r=n.firstChild;r;){var l=r.nextSibling,u=r.nodeName;r[Bh]||u==="SCRIPT"||u==="STYLE"||u==="LINK"&&r.rel.toLowerCase()==="stylesheet"||n.removeChild(r),r=l}}else n==="body"&&vh(t.ownerDocument.body);n=a}while(n);yd(e)}function Yz(t,e){var n=t;t=0;do{var i=n.nextSibling;if(n.nodeType===1?e?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(e?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),i&&i.nodeType===8)if(n=i.data,n==="/$"){if(t===0)break;t--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||t++;n=i}while(n)}function jw(t){var e=t.firstChild;for(e&&e.nodeType===10&&(e=e.nextSibling);e;){var n=e;switch(e=e.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":jw(n),tT(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}t.removeChild(n)}}function Yq(t,e,n,i){for(;t.nodeType===1;){var a=n;if(t.nodeName.toLowerCase()!==e.toLowerCase()){if(!i&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(i){if(!t[Bh])switch(e){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(r=t.getAttribute("rel"),r==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(r!==a.rel||t.getAttribute("href")!==(a.href==null||a.href===""?null:a.href)||t.getAttribute("crossorigin")!==(a.crossOrigin==null?null:a.crossOrigin)||t.getAttribute("title")!==(a.title==null?null:a.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(r=t.getAttribute("src"),(r!==(a.src==null?null:a.src)||t.getAttribute("type")!==(a.type==null?null:a.type)||t.getAttribute("crossorigin")!==(a.crossOrigin==null?null:a.crossOrigin))&&r&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(e==="input"&&t.type==="hidden"){var r=a.name==null?null:""+a.name;if(a.type==="hidden"&&t.getAttribute("name")===r)return t}else return t;if(t=Wa(t.nextSibling),t===null)break}return null}function Xq(t,e,n){if(e==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!n||(t=Wa(t.nextSibling),t===null))return null;return t}function LL(t,e){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!e||(t=Wa(t.nextSibling),t===null))return null;return t}function kw(t){return t.data==="$?"||t.data==="$~"}function Gw(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function Qq(t,e){var n=t.ownerDocument;if(t.data==="$~")t._reactRetry=e;else if(t.data!=="$?"||n.readyState!=="loading")e();else{var i=function(){e(),n.removeEventListener("DOMContentLoaded",i)};n.addEventListener("DOMContentLoaded",i),t._reactRetry=i}}function Wa(t){for(;t!=null;t=t.nextSibling){var e=t.nodeType;if(e===1||e===3)break;if(e===8){if(e=t.data,e==="$"||e==="$!"||e==="$?"||e==="$~"||e==="&"||e==="F!"||e==="F")break;if(e==="/$"||e==="/&")return null}}return t}var Yw=null;function Xz(t){t=t.nextSibling;for(var e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="/$"||n==="/&"){if(e===0)return Wa(t.nextSibling);e--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||e++}t=t.nextSibling}return null}function Qz(t){t=t.previousSibling;for(var e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(e===0)return t;e--}else n!=="/$"&&n!=="/&"||e++}t=t.previousSibling}return null}function DL(t,e,n){switch(e=Qy(n),t){case"html":if(t=e.documentElement,!t)throw Error(ot(452));return t;case"head":if(t=e.head,!t)throw Error(ot(453));return t;case"body":if(t=e.body,!t)throw Error(ot(454));return t;default:throw Error(ot(451))}}function vh(t){for(var e=t.attributes;e.length;)t.removeAttributeNode(e[0]);tT(t)}var Ja=new Map,Kz=new Set;function Ky(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var Bo=Ne.d;Ne.d={f:Kq,r:Zq,D:Wq,C:Jq,L:$q,m:t8,X:n8,S:e8,M:i8};function Kq(){var t=Bo.f(),e=fv();return t||e}function Zq(t){var e=bd(t);e!==null&&e.tag===5&&e.type==="form"?MN(e):Bo.r(t)}var Td=typeof document>"u"?null:document;function PL(t,e,n){var i=Td;if(i&&typeof e=="string"&&e){var a=Xa(e);a='link[rel="'+t+'"][href="'+a+'"]',typeof n=="string"&&(a+='[crossorigin="'+n+'"]'),Kz.has(a)||(Kz.add(a),t={rel:t,crossOrigin:n,href:e},i.querySelector(a)===null&&(e=i.createElement("link"),gi(e,"link",t),ei(e),i.head.appendChild(e)))}}function Wq(t){Bo.D(t),PL("dns-prefetch",t,null)}function Jq(t,e){Bo.C(t,e),PL("preconnect",t,e)}function $q(t,e,n){Bo.L(t,e,n);var i=Td;if(i&&t&&e){var a='link[rel="preload"][as="'+Xa(e)+'"]';e==="image"&&n&&n.imageSrcSet?(a+='[imagesrcset="'+Xa(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(a+='[imagesizes="'+Xa(n.imageSizes)+'"]')):a+='[href="'+Xa(t)+'"]';var r=a;switch(e){case"style":r=gd(t);break;case"script":r=Rd(t)}Ja.has(r)||(t=Je({rel:"preload",href:e==="image"&&n&&n.imageSrcSet?void 0:t,as:e},n),Ja.set(r,t),i.querySelector(a)!==null||e==="style"&&i.querySelector(jh(r))||e==="script"&&i.querySelector(kh(r))||(e=i.createElement("link"),gi(e,"link",t),ei(e),i.head.appendChild(e)))}}function t8(t,e){Bo.m(t,e);var n=Td;if(n&&t){var i=e&&typeof e.as=="string"?e.as:"script",a='link[rel="modulepreload"][as="'+Xa(i)+'"][href="'+Xa(t)+'"]',r=a;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":r=Rd(t)}if(!Ja.has(r)&&(t=Je({rel:"modulepreload",href:t},e),Ja.set(r,t),n.querySelector(a)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(kh(r)))return}i=n.createElement("link"),gi(i,"link",t),ei(i),n.head.appendChild(i)}}}function e8(t,e,n){Bo.S(t,e,n);var i=Td;if(i&&t){var a=td(i).hoistableStyles,r=gd(t);e=e||"default";var l=a.get(r);if(!l){var u={loading:0,preload:null};if(l=i.querySelector(jh(r)))u.loading=5;else{t=Je({rel:"stylesheet",href:t,"data-precedence":e},n),(n=Ja.get(r))&&FT(t,n);var f=l=i.createElement("link");ei(f),gi(f,"link",t),f._p=new Promise(function(h,d){f.onload=h,f.onerror=d}),f.addEventListener("load",function(){u.loading|=1}),f.addEventListener("error",function(){u.loading|=2}),u.loading|=4,xy(l,e,i)}l={type:"stylesheet",instance:l,count:1,state:u},a.set(r,l)}}}function n8(t,e){Bo.X(t,e);var n=Td;if(n&&t){var i=td(n).hoistableScripts,a=Rd(t),r=i.get(a);r||(r=n.querySelector(kh(a)),r||(t=Je({src:t,async:!0},e),(e=Ja.get(a))&&VT(t,e),r=n.createElement("script"),ei(r),gi(r,"link",t),n.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},i.set(a,r))}}function i8(t,e){Bo.M(t,e);var n=Td;if(n&&t){var i=td(n).hoistableScripts,a=Rd(t),r=i.get(a);r||(r=n.querySelector(kh(a)),r||(t=Je({src:t,async:!0,type:"module"},e),(e=Ja.get(a))&&VT(t,e),r=n.createElement("script"),ei(r),gi(r,"link",t),n.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},i.set(a,r))}}function Zz(t,e,n,i){var a=(a=Is.current)?Ky(a):null;if(!a)throw Error(ot(446));switch(t){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(e=gd(n.href),n=td(a).hoistableStyles,i=n.get(e),i||(i={type:"style",instance:null,count:0,state:null},n.set(e,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){t=gd(n.href);var r=td(a).hoistableStyles,l=r.get(t);if(l||(a=a.ownerDocument||a,l={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},r.set(t,l),(r=a.querySelector(jh(t)))&&!r._p&&(l.instance=r,l.state.loading=5),Ja.has(t)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Ja.set(t,n),r||a8(a,t,n,l.state))),e&&i===null)throw Error(ot(528,""));return l}if(e&&i!==null)throw Error(ot(529,""));return null;case"script":return e=n.async,n=n.src,typeof n=="string"&&e&&typeof e!="function"&&typeof e!="symbol"?(e=Rd(n),n=td(a).hoistableScripts,i=n.get(e),i||(i={type:"script",instance:null,count:0,state:null},n.set(e,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(ot(444,t))}}function gd(t){return'href="'+Xa(t)+'"'}function jh(t){return'link[rel="stylesheet"]['+t+"]"}function BL(t){return Je({},t,{"data-precedence":t.precedence,precedence:null})}function a8(t,e,n,i){t.querySelector('link[rel="preload"][as="style"]['+e+"]")?i.loading=1:(e=t.createElement("link"),i.preload=e,e.addEventListener("load",function(){return i.loading|=1}),e.addEventListener("error",function(){return i.loading|=2}),gi(e,"link",n),ei(e),t.head.appendChild(e))}function Rd(t){return'[src="'+Xa(t)+'"]'}function kh(t){return"script[async]"+t}function Wz(t,e,n){if(e.count++,e.instance===null)switch(e.type){case"style":var i=t.querySelector('style[data-href~="'+Xa(n.href)+'"]');if(i)return e.instance=i,ei(i),i;var a=Je({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return i=(t.ownerDocument||t).createElement("style"),ei(i),gi(i,"style",a),xy(i,n.precedence,t),e.instance=i;case"stylesheet":a=gd(n.href);var r=t.querySelector(jh(a));if(r)return e.state.loading|=4,e.instance=r,ei(r),r;i=BL(n),(a=Ja.get(a))&&FT(i,a),r=(t.ownerDocument||t).createElement("link"),ei(r);var l=r;return l._p=new Promise(function(u,f){l.onload=u,l.onerror=f}),gi(r,"link",i),e.state.loading|=4,xy(r,n.precedence,t),e.instance=r;case"script":return r=Rd(n.src),(a=t.querySelector(kh(r)))?(e.instance=a,ei(a),a):(i=n,(a=Ja.get(r))&&(i=Je({},n),VT(i,a)),t=t.ownerDocument||t,a=t.createElement("script"),ei(a),gi(a,"link",i),t.head.appendChild(a),e.instance=a);case"void":return null;default:throw Error(ot(443,e.type))}else e.type==="stylesheet"&&!(e.state.loading&4)&&(i=e.instance,e.state.loading|=4,xy(i,n.precedence,t));return e.instance}function xy(t,e,n){for(var i=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=i.length?i[i.length-1]:null,r=a,l=0;l<i.length;l++){var u=i[l];if(u.dataset.precedence===e)r=u;else if(r!==a)break}r?r.parentNode.insertBefore(t,r.nextSibling):(e=n.nodeType===9?n.head:n,e.insertBefore(t,e.firstChild))}function FT(t,e){t.crossOrigin==null&&(t.crossOrigin=e.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=e.referrerPolicy),t.title==null&&(t.title=e.title)}function VT(t,e){t.crossOrigin==null&&(t.crossOrigin=e.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=e.referrerPolicy),t.integrity==null&&(t.integrity=e.integrity)}var wy=null;function Jz(t,e,n){if(wy===null){var i=new Map,a=wy=new Map;a.set(n,i)}else a=wy,i=a.get(n),i||(i=new Map,a.set(n,i));if(i.has(t))return i;for(i.set(t,null),n=n.getElementsByTagName(t),a=0;a<n.length;a++){var r=n[a];if(!(r[Bh]||r[hi]||t==="link"&&r.getAttribute("rel")==="stylesheet")&&r.namespaceURI!=="http://www.w3.org/2000/svg"){var l=r.getAttribute(e)||"";l=t+l;var u=i.get(l);u?u.push(r):i.set(l,[r])}}return i}function $z(t,e,n){t=t.ownerDocument||t,t.head.insertBefore(n,e==="title"?t.querySelector("head > title"):null)}function r8(t,e,n){if(n===1||e.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof e.precedence!="string"||typeof e.href!="string"||e.href==="")break;return!0;case"link":if(typeof e.rel!="string"||typeof e.href!="string"||e.href===""||e.onLoad||e.onError)break;switch(e.rel){case"stylesheet":return t=e.disabled,typeof e.precedence=="string"&&t==null;default:return!0}case"script":if(e.async&&typeof e.async!="function"&&typeof e.async!="symbol"&&!e.onLoad&&!e.onError&&e.src&&typeof e.src=="string")return!0}return!1}function HL(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function o8(t,e,n,i){if(n.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&!(n.state.loading&4)){if(n.instance===null){var a=gd(i.href),r=e.querySelector(jh(a));if(r){e=r._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(t.count++,t=Zy.bind(t),e.then(t,t)),n.state.loading|=4,n.instance=r,ei(r);return}r=e.ownerDocument||e,i=BL(i),(a=Ja.get(a))&&FT(i,a),r=r.createElement("link"),ei(r);var l=r;l._p=new Promise(function(u,f){l.onload=u,l.onerror=f}),gi(r,"link",i),n.instance=r}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(n,e),(e=n.state.preload)&&!(n.state.loading&3)&&(t.count++,n=Zy.bind(t),e.addEventListener("load",n),e.addEventListener("error",n))}}var $x=0;function s8(t,e){return t.stylesheets&&t.count===0&&Ty(t,t.stylesheets),0<t.count||0<t.imgCount?function(n){var i=setTimeout(function(){if(t.stylesheets&&Ty(t,t.stylesheets),t.unsuspend){var r=t.unsuspend;t.unsuspend=null,r()}},6e4+e);0<t.imgBytes&&$x===0&&($x=62500*Uq());var a=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Ty(t,t.stylesheets),t.unsuspend)){var r=t.unsuspend;t.unsuspend=null,r()}},(t.imgBytes>$x?50:800)+e);return t.unsuspend=n,function(){t.unsuspend=null,clearTimeout(i),clearTimeout(a)}}:null}function Zy(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ty(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Wy=null;function Ty(t,e){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Wy=new Map,e.forEach(l8,t),Wy=null,Zy.call(t))}function l8(t,e){if(!(e.state.loading&4)){var n=Wy.get(t);if(n)var i=n.get(null);else{n=new Map,Wy.set(t,n);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),r=0;r<a.length;r++){var l=a[r];(l.nodeName==="LINK"||l.getAttribute("media")!=="not all")&&(n.set(l.dataset.precedence,l),i=l)}i&&n.set(null,i)}a=e.instance,l=a.getAttribute("data-precedence"),r=n.get(l)||i,r===i&&n.set(null,a),n.set(l,a),this.count++,i=Zy.bind(this),a.addEventListener("load",i),a.addEventListener("error",i),r?r.parentNode.insertBefore(a,r.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(a,t.firstChild)),e.state.loading|=4}}var _h={$$typeof:Co,Provider:null,Consumer:null,_currentValue:$l,_currentValue2:$l,_threadCount:0};function u8(t,e,n,i,a,r,l,u,f){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Ex(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ex(0),this.hiddenUpdates=Ex(null),this.identifierPrefix=i,this.onUncaughtError=a,this.onCaughtError=r,this.onRecoverableError=l,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=f,this.incompleteTransitions=new Map}function FL(t,e,n,i,a,r,l,u,f,h,d,m){return t=new u8(t,e,n,l,f,h,d,m,u),e=1,r===!0&&(e|=24),r=wa(3,null,null,e),t.current=r,r.stateNode=t,e=fT(),e.refCount++,t.pooledCache=e,e.refCount++,r.memoizedState={element:i,isDehydrated:n,cache:e},mT(r),t}function VL(t){return t?(t=Zc,t):Zc}function UL(t,e,n,i,a,r){a=VL(a),i.context===null?i.context=a:i.pendingContext=a,i=Ls(e),i.payload={element:n},r=r===void 0?null:r,r!==null&&(i.callback=r),n=Ds(t,i,e),n!==null&&($i(n,t,e),ch(n,t,e))}function tI(t,e){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var n=t.retryLane;t.retryLane=n!==0&&n<e?n:e}}function UT(t,e){tI(t,e),(t=t.alternate)&&tI(t,e)}function qL(t){if(t.tag===13||t.tag===31){var e=fu(t,67108864);e!==null&&$i(e,t,67108864),UT(t,67108864)}}function eI(t){if(t.tag===13||t.tag===31){var e=Aa();e=Jw(e);var n=fu(t,e);n!==null&&$i(n,t,e),UT(t,e)}}var Jy=!0;function c8(t,e,n,i){var a=Qt.T;Qt.T=null;var r=Ne.p;try{Ne.p=2,qT(t,e,n,i)}finally{Ne.p=r,Qt.T=a}}function d8(t,e,n,i){var a=Qt.T;Qt.T=null;var r=Ne.p;try{Ne.p=8,qT(t,e,n,i)}finally{Ne.p=r,Qt.T=a}}function qT(t,e,n,i){if(Jy){var a=Xw(i);if(a===null)Wx(t,e,i,$y,n),nI(t,i);else if(h8(a,t,e,n,i))i.stopPropagation();else if(nI(t,i),e&4&&-1<f8.indexOf(t)){for(;a!==null;){var r=bd(a);if(r!==null)switch(r.tag){case 3:if(r=r.stateNode,r.current.memoizedState.isDehydrated){var l=Zl(r.pendingLanes);if(l!==0){var u=r;for(u.pendingLanes|=2,u.entangledLanes|=2;l;){var f=1<<31-Ca(l);u.entanglements[1]|=f,l&=~f}qr(r),!(Ie&6)&&(qy=Ra()+500,qh(0,!1))}}break;case 31:case 13:u=fu(r,2),u!==null&&$i(u,r,2),fv(),UT(r,2)}if(r=Xw(i),r===null&&Wx(t,e,i,$y,n),r===a)break;a=r}a!==null&&i.stopPropagation()}else Wx(t,e,i,null,n)}}function Xw(t){return t=nT(t),jT(t)}var $y=null;function jT(t){if($y=null,t=kc(t),t!==null){var e=Nh(t);if(e===null)t=null;else{var n=e.tag;if(n===13){if(t=lI(e),t!==null)return t;t=null}else if(n===31){if(t=uI(e),t!==null)return t;t=null}else if(n===3){if(e.stateNode.current.memoizedState.isDehydrated)return e.tag===3?e.stateNode.containerInfo:null;t=null}else e!==t&&(t=null)}}return $y=t,null}function jL(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch($V()){case hI:return 2;case pI:return 8;case My:case tU:return 32;case mI:return 268435456;default:return 32}default:return 32}}var Qw=!1,Hs=null,Fs=null,Vs=null,zh=new Map,Ih=new Map,Cs=[],f8="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function nI(t,e){switch(t){case"focusin":case"focusout":Hs=null;break;case"dragenter":case"dragleave":Fs=null;break;case"mouseover":case"mouseout":Vs=null;break;case"pointerover":case"pointerout":zh.delete(e.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ih.delete(e.pointerId)}}function $f(t,e,n,i,a,r){return t===null||t.nativeEvent!==r?(t={blockedOn:e,domEventName:n,eventSystemFlags:i,nativeEvent:r,targetContainers:[a]},e!==null&&(e=bd(e),e!==null&&qL(e)),t):(t.eventSystemFlags|=i,e=t.targetContainers,a!==null&&e.indexOf(a)===-1&&e.push(a),t)}function h8(t,e,n,i,a){switch(e){case"focusin":return Hs=$f(Hs,t,e,n,i,a),!0;case"dragenter":return Fs=$f(Fs,t,e,n,i,a),!0;case"mouseover":return Vs=$f(Vs,t,e,n,i,a),!0;case"pointerover":var r=a.pointerId;return zh.set(r,$f(zh.get(r)||null,t,e,n,i,a)),!0;case"gotpointercapture":return r=a.pointerId,Ih.set(r,$f(Ih.get(r)||null,t,e,n,i,a)),!0}return!1}function kL(t){var e=kc(t.target);if(e!==null){var n=Nh(e);if(n!==null){if(e=n.tag,e===13){if(e=lI(n),e!==null){t.blockedOn=e,F_(t.priority,function(){eI(n)});return}}else if(e===31){if(e=uI(n),e!==null){t.blockedOn=e,F_(t.priority,function(){eI(n)});return}}else if(e===3&&n.stateNode.current.memoizedState.isDehydrated){t.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}t.blockedOn=null}function Ry(t){if(t.blockedOn!==null)return!1;for(var e=t.targetContainers;0<e.length;){var n=Xw(t.nativeEvent);if(n===null){n=t.nativeEvent;var i=new n.constructor(n.type,n);fw=i,n.target.dispatchEvent(i),fw=null}else return e=bd(n),e!==null&&qL(e),t.blockedOn=n,!1;e.shift()}return!0}function iI(t,e,n){Ry(t)&&n.delete(e)}function p8(){Qw=!1,Hs!==null&&Ry(Hs)&&(Hs=null),Fs!==null&&Ry(Fs)&&(Fs=null),Vs!==null&&Ry(Vs)&&(Vs=null),zh.forEach(iI),Ih.forEach(iI)}function ly(t,e){t.blockedOn===e&&(t.blockedOn=null,Qw||(Qw=!0,Xn.unstable_scheduleCallback(Xn.unstable_NormalPriority,p8)))}var uy=null;function aI(t){uy!==t&&(uy=t,Xn.unstable_scheduleCallback(Xn.unstable_NormalPriority,function(){uy===t&&(uy=null);for(var e=0;e<t.length;e+=3){var n=t[e],i=t[e+1],a=t[e+2];if(typeof i!="function"){if(jT(i||n)===null)continue;break}var r=bd(n);r!==null&&(t.splice(e,3),e-=3,Mw(r,{pending:!0,data:a,method:n.method,action:i},i,a))}}))}function yd(t){function e(f){return ly(f,t)}Hs!==null&&ly(Hs,t),Fs!==null&&ly(Fs,t),Vs!==null&&ly(Vs,t),zh.forEach(e),Ih.forEach(e);for(var n=0;n<Cs.length;n++){var i=Cs[n];i.blockedOn===t&&(i.blockedOn=null)}for(;0<Cs.length&&(n=Cs[0],n.blockedOn===null);)kL(n),n.blockedOn===null&&Cs.shift();if(n=(t.ownerDocument||t).$$reactFormReplay,n!=null)for(i=0;i<n.length;i+=3){var a=n[i],r=n[i+1],l=a[ta]||null;if(typeof r=="function")l||aI(n);else if(l){var u=null;if(r&&r.hasAttribute("formAction")){if(a=r,l=r[ta]||null)u=l.formAction;else if(jT(a)!==null)continue}else u=l.action;typeof u=="function"?n[i+1]=u:(n.splice(i,3),i-=3),aI(n)}}}function GL(){function t(r){r.canIntercept&&r.info==="react-transition"&&r.intercept({handler:function(){return new Promise(function(l){return a=l})},focusReset:"manual",scroll:"manual"})}function e(){a!==null&&(a(),a=null),i||setTimeout(n,20)}function n(){if(!i&&!navigation.transition){var r=navigation.currentEntry;r&&r.url!=null&&navigation.navigate(r.url,{state:r.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var i=!1,a=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",e),navigation.addEventListener("navigateerror",e),setTimeout(n,100),function(){i=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",e),navigation.removeEventListener("navigateerror",e),a!==null&&(a(),a=null)}}}function kT(t){this._internalRoot=t}mv.prototype.render=kT.prototype.render=function(t){var e=this._internalRoot;if(e===null)throw Error(ot(409));var n=e.current,i=Aa();UL(n,i,t,e,null,null)};mv.prototype.unmount=kT.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var e=t.containerInfo;UL(t.current,2,null,t,null,null),fv(),e[vd]=null}};function mv(t){this._internalRoot=t}mv.prototype.unstable_scheduleHydration=function(t){if(t){var e=SI();t={blockedOn:null,target:t,priority:e};for(var n=0;n<Cs.length&&e!==0&&e<Cs[n].priority;n++);Cs.splice(n,0,t),n===0&&kL(t)}};var rI=oI.version;if(rI!=="19.2.0")throw Error(ot(527,rI,"19.2.0"));Ne.findDOMNode=function(t){var e=t._reactInternals;if(e===void 0)throw typeof t.render=="function"?Error(ot(188)):(t=Object.keys(t).join(","),Error(ot(268,t)));return t=YV(e),t=t!==null?cI(t):null,t=t===null?null:t.stateNode,t};var m8={bundleType:0,version:"19.2.0",rendererPackageName:"react-dom",currentDispatcherRef:Qt,reconcilerVersion:"19.2.0"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(th=__REACT_DEVTOOLS_GLOBAL_HOOK__,!th.isDisabled&&th.supportsFiber))try{Lh=th.inject(m8),Ea=th}catch{}var th;gv.createRoot=function(t,e){if(!sI(t))throw Error(ot(299));var n=!1,i="",a=PN,r=BN,l=HN;return e!=null&&(e.unstable_strictMode===!0&&(n=!0),e.identifierPrefix!==void 0&&(i=e.identifierPrefix),e.onUncaughtError!==void 0&&(a=e.onUncaughtError),e.onCaughtError!==void 0&&(r=e.onCaughtError),e.onRecoverableError!==void 0&&(l=e.onRecoverableError)),e=FL(t,1,!1,null,null,n,i,null,a,r,l,GL),t[vd]=e.current,HT(t),new kT(e)};gv.hydrateRoot=function(t,e,n){if(!sI(t))throw Error(ot(299));var i=!1,a="",r=PN,l=BN,u=HN,f=null;return n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(a=n.identifierPrefix),n.onUncaughtError!==void 0&&(r=n.onUncaughtError),n.onCaughtError!==void 0&&(l=n.onCaughtError),n.onRecoverableError!==void 0&&(u=n.onRecoverableError),n.formState!==void 0&&(f=n.formState)),e=FL(t,1,!0,e,n??null,i,a,f,r,l,u,GL),e.context=VL(null),n=e.current,i=Aa(),i=Jw(i),a=Ls(i),a.callback=null,Ds(n,a,i),n=i,e.current.lanes=n,Ph(e,n),qr(e),t[vd]=e.current,HT(t),new mv(e)};gv.version="19.2.0"});var KL=Li((HQ,QL)=>{"use strict";function XL(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(XL)}catch(t){console.error(t)}}XL(),QL.exports=YL()});var X4=Li((Drt,Y4)=>{"use strict";(()=>{var t={296:(a,r,l)=>{var u=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,d=/^0o[0-7]+$/i,m=parseInt,y=typeof l.g=="object"&&l.g&&l.g.Object===Object&&l.g,g=typeof self=="object"&&self&&self.Object===Object&&self,b=y||g||Function("return this")(),T=Object.prototype.toString,C=Math.max,x=Math.min,w=function(){return b.Date.now()};function R(M){var z=typeof M;return!!M&&(z=="object"||z=="function")}function E(M){if(typeof M=="number")return M;if(function(L){return typeof L=="symbol"||function(H){return!!H&&typeof H=="object"}(L)&&T.call(L)=="[object Symbol]"}(M))return NaN;if(R(M)){var z=typeof M.valueOf=="function"?M.valueOf():M;M=R(z)?z+"":z}if(typeof M!="string")return M===0?M:+M;M=M.replace(u,"");var I=h.test(M);return I||d.test(M)?m(M.slice(2),I?2:8):f.test(M)?NaN:+M}a.exports=function(M,z,I){var L,H,q,st,et,gt,it=0,nt=!1,ut=!1,wt=!0;if(typeof M!="function")throw new TypeError("Expected a function");function Y(te){var ue=L,ft=H;return L=H=void 0,it=te,st=M.apply(ft,ue)}function yt(te){var ue=te-gt;return gt===void 0||ue>=z||ue<0||ut&&te-it>=q}function Mt(){var te=w();if(yt(te))return qt(te);et=setTimeout(Mt,function(ue){var ft=z-(ue-gt);return ut?x(ft,q-(ue-it)):ft}(te))}function qt(te){return et=void 0,wt&&L?Y(te):(L=H=void 0,st)}function Kt(){var te=w(),ue=yt(te);if(L=arguments,H=this,gt=te,ue){if(et===void 0)return function(ft){return it=ft,et=setTimeout(Mt,z),nt?Y(ft):st}(gt);if(ut)return et=setTimeout(Mt,z),Y(gt)}return et===void 0&&(et=setTimeout(Mt,z)),st}return z=E(z)||0,R(I)&&(nt=!!I.leading,q=(ut="maxWait"in I)?C(E(I.maxWait)||0,z):q,wt="trailing"in I?!!I.trailing:wt),Kt.cancel=function(){et!==void 0&&clearTimeout(et),it=0,L=gt=H=et=void 0},Kt.flush=function(){return et===void 0?st:qt(w())},Kt}},96:(a,r,l)=>{var u="Expected a function",f=NaN,h="[object Symbol]",d=/^\s+|\s+$/g,m=/^[-+]0x[0-9a-f]+$/i,y=/^0b[01]+$/i,g=/^0o[0-7]+$/i,b=parseInt,T=typeof l.g=="object"&&l.g&&l.g.Object===Object&&l.g,C=typeof self=="object"&&self&&self.Object===Object&&self,x=T||C||Function("return this")(),w=Object.prototype.toString,R=Math.max,E=Math.min,M=function(){return x.Date.now()};function z(L){var H=typeof L;return!!L&&(H=="object"||H=="function")}function I(L){if(typeof L=="number")return L;if(function(st){return typeof st=="symbol"||function(et){return!!et&&typeof et=="object"}(st)&&w.call(st)==h}(L))return f;if(z(L)){var H=typeof L.valueOf=="function"?L.valueOf():L;L=z(H)?H+"":H}if(typeof L!="string")return L===0?L:+L;L=L.replace(d,"");var q=y.test(L);return q||g.test(L)?b(L.slice(2),q?2:8):m.test(L)?f:+L}a.exports=function(L,H,q){var st=!0,et=!0;if(typeof L!="function")throw new TypeError(u);return z(q)&&(st="leading"in q?!!q.leading:st,et="trailing"in q?!!q.trailing:et),function(gt,it,nt){var ut,wt,Y,yt,Mt,qt,Kt=0,te=!1,ue=!1,ft=!0;if(typeof gt!="function")throw new TypeError(u);function Ht(Zt){var fe=ut,Ft=wt;return ut=wt=void 0,Kt=Zt,yt=gt.apply(Ft,fe)}function ee(Zt){var fe=Zt-qt;return qt===void 0||fe>=it||fe<0||ue&&Zt-Kt>=Y}function Gt(){var Zt=M();if(ee(Zt))return re(Zt);Mt=setTimeout(Gt,function(fe){var Ft=it-(fe-qt);return ue?E(Ft,Y-(fe-Kt)):Ft}(Zt))}function re(Zt){return Mt=void 0,ft&&ut?Ht(Zt):(ut=wt=void 0,yt)}function Ce(){var Zt=M(),fe=ee(Zt);if(ut=arguments,wt=this,qt=Zt,fe){if(Mt===void 0)return function(Ft){return Kt=Ft,Mt=setTimeout(Gt,it),te?Ht(Ft):yt}(qt);if(ue)return Mt=setTimeout(Gt,it),Ht(qt)}return Mt===void 0&&(Mt=setTimeout(Gt,it)),yt}return it=I(it)||0,z(nt)&&(te=!!nt.leading,Y=(ue="maxWait"in nt)?R(I(nt.maxWait)||0,it):Y,ft="trailing"in nt?!!nt.trailing:ft),Ce.cancel=function(){Mt!==void 0&&clearTimeout(Mt),Kt=0,ut=qt=wt=Mt=void 0},Ce.flush=function(){return Mt===void 0?yt:re(M())},Ce}(L,H,{leading:st,maxWait:H,trailing:et})}},703:(a,r,l)=>{"use strict";var u=l(414);function f(){}function h(){}h.resetWarningCache=f,a.exports=function(){function d(g,b,T,C,x,w){if(w!==u){var R=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw R.name="Invariant Violation",R}}function m(){return d}d.isRequired=d;var y={array:d,bigint:d,bool:d,func:d,number:d,object:d,string:d,symbol:d,any:d,arrayOf:m,element:d,elementType:d,instanceOf:m,node:d,objectOf:m,oneOf:m,oneOfType:m,shape:m,exact:m,checkPropTypes:h,resetWarningCache:f};return y.PropTypes=y,y}},697:(a,r,l)=>{a.exports=l(703)()},414:a=>{"use strict";a.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},e={};function n(a){var r=e[a];if(r!==void 0)return r.exports;var l=e[a]={exports:{}};return t[a](l,l.exports,n),l.exports}n.n=a=>{var r=a&&a.__esModule?()=>a.default:()=>a;return n.d(r,{a:r}),r},n.d=(a,r)=>{for(var l in r)n.o(r,l)&&!n.o(a,l)&&Object.defineProperty(a,l,{enumerable:!0,get:r[l]})},n.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),n.o=(a,r)=>Object.prototype.hasOwnProperty.call(a,r),n.r=a=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})};var i={};(()=>{"use strict";n.r(i),n.d(i,{LazyLoadComponent:()=>tn,LazyLoadImage:()=>xt,trackWindowScroll:()=>qt});let a=ct();var r=n.n(a),l=n(697);let u=Xl();var f=n.n(u);function h(){return typeof window<"u"&&"IntersectionObserver"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype}function d(U){return d=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(P){return typeof P}:function(P){return P&&typeof Symbol=="function"&&P.constructor===Symbol&&P!==Symbol.prototype?"symbol":typeof P},d(U)}function m(U,P){var W=Object.keys(U);if(Object.getOwnPropertySymbols){var J=Object.getOwnPropertySymbols(U);P&&(J=J.filter(function(Lt){return Object.getOwnPropertyDescriptor(U,Lt).enumerable})),W.push.apply(W,J)}return W}function y(U,P,W){return(P=b(P))in U?Object.defineProperty(U,P,{value:W,enumerable:!0,configurable:!0,writable:!0}):U[P]=W,U}function g(U,P){for(var W=0;W<P.length;W++){var J=P[W];J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J&&(J.writable=!0),Object.defineProperty(U,b(J.key),J)}}function b(U){var P=function(W,J){if(d(W)!=="object"||W===null)return W;var Lt=W[Symbol.toPrimitive];if(Lt!==void 0){var Yt=Lt.call(W,"string");if(d(Yt)!=="object")return Yt;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(W)}(U);return d(P)==="symbol"?P:String(P)}function T(U,P){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(W,J){return W.__proto__=J,W},T(U,P)}function C(U){return C=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(P){return P.__proto__||Object.getPrototypeOf(P)},C(U)}var x=function(U){U.forEach(function(P){P.isIntersecting&&P.target.onVisible()})},w={},R=function(U){(function(X,at){if(typeof at!="function"&&at!==null)throw new TypeError("Super expression must either be null or a function");X.prototype=Object.create(at&&at.prototype,{constructor:{value:X,writable:!0,configurable:!0}}),Object.defineProperty(X,"prototype",{writable:!1}),at&&T(X,at)})(Pt,U);var P,W,J,Lt,Yt=(J=Pt,Lt=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var X,at=C(J);if(Lt){var Ct=C(this).constructor;X=Reflect.construct(at,arguments,Ct)}else X=at.apply(this,arguments);return function(At,Rt){if(Rt&&(d(Rt)==="object"||typeof Rt=="function"))return Rt;if(Rt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Ut){if(Ut===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ut}(At)}(this,X)});function Pt(X){var at;if(function(At,Rt){if(!(At instanceof Rt))throw new TypeError("Cannot call a class as a function")}(this,Pt),(at=Yt.call(this,X)).supportsObserver=!X.scrollPosition&&X.useIntersectionObserver&&h(),at.supportsObserver){var Ct=X.threshold;at.observer=function(At){return w[At]=w[At]||new IntersectionObserver(x,{rootMargin:At+"px"}),w[At]}(Ct)}return at}return P=Pt,W=[{key:"componentDidMount",value:function(){this.placeholder&&this.observer&&(this.placeholder.onVisible=this.props.onVisible,this.observer.observe(this.placeholder)),this.supportsObserver||this.updateVisibility()}},{key:"componentWillUnmount",value:function(){this.observer&&this.placeholder&&this.observer.unobserve(this.placeholder)}},{key:"componentDidUpdate",value:function(){this.supportsObserver||this.updateVisibility()}},{key:"getPlaceholderBoundingBox",value:function(){var X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props.scrollPosition,at=this.placeholder.getBoundingClientRect(),Ct=f().findDOMNode(this.placeholder).style,At=parseInt(Ct.getPropertyValue("margin-left"),10)||0,Rt=parseInt(Ct.getPropertyValue("margin-top"),10)||0;return{bottom:X.y+at.bottom+Rt,left:X.x+at.left+At,right:X.x+at.right+At,top:X.y+at.top+Rt}}},{key:"isPlaceholderInViewport",value:function(){if(typeof window>"u"||!this.placeholder)return!1;var X=this.props,at=X.scrollPosition,Ct=X.threshold,At=this.getPlaceholderBoundingBox(at),Rt=at.y+window.innerHeight,Ut=at.x,G=at.x+window.innerWidth,Bt=at.y;return Bt-Ct<=At.bottom&&Rt+Ct>=At.top&&Ut-Ct<=At.right&&G+Ct>=At.left}},{key:"updateVisibility",value:function(){this.isPlaceholderInViewport()&&this.props.onVisible()}},{key:"render",value:function(){var X=this,at=this.props,Ct=at.className,At=at.height,Rt=at.placeholder,Ut=at.style,G=at.width;if(Rt&&typeof Rt.type!="function")return r().cloneElement(Rt,{ref:function(he){return X.placeholder=he}});var Bt=function(he){for(var qe=1;qe<arguments.length;qe++){var Le=arguments[qe]!=null?arguments[qe]:{};qe%2?m(Object(Le),!0).forEach(function(je){y(he,je,Le[je])}):Object.getOwnPropertyDescriptors?Object.defineProperties(he,Object.getOwnPropertyDescriptors(Le)):m(Object(Le)).forEach(function(je){Object.defineProperty(he,je,Object.getOwnPropertyDescriptor(Le,je))})}return he}({display:"inline-block"},Ut);return G!==void 0&&(Bt.width=G),At!==void 0&&(Bt.height=At),r().createElement("span",{className:Ct,ref:function(he){return X.placeholder=he},style:Bt},Rt)}}],W&&g(P.prototype,W),Object.defineProperty(P,"prototype",{writable:!1}),Pt}(r().Component);R.propTypes={onVisible:l.PropTypes.func.isRequired,className:l.PropTypes.string,height:l.PropTypes.oneOfType([l.PropTypes.number,l.PropTypes.string]),placeholder:l.PropTypes.element,threshold:l.PropTypes.number,useIntersectionObserver:l.PropTypes.bool,scrollPosition:l.PropTypes.shape({x:l.PropTypes.number.isRequired,y:l.PropTypes.number.isRequired}),width:l.PropTypes.oneOfType([l.PropTypes.number,l.PropTypes.string])},R.defaultProps={className:"",placeholder:null,threshold:100,useIntersectionObserver:!0};let E=R;var M=n(296),z=n.n(M),I=n(96),L=n.n(I),H=function(U){var P=getComputedStyle(U,null);return P.getPropertyValue("overflow")+P.getPropertyValue("overflow-y")+P.getPropertyValue("overflow-x")};let q=function(U){if(!(U instanceof HTMLElement))return window;for(var P=U;P&&P instanceof HTMLElement;){if(/(scroll|auto)/.test(H(P)))return P;P=P.parentNode}return window};function st(U){return st=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(P){return typeof P}:function(P){return P&&typeof Symbol=="function"&&P.constructor===Symbol&&P!==Symbol.prototype?"symbol":typeof P},st(U)}var et=["delayMethod","delayTime"];function gt(){return gt=Object.assign?Object.assign.bind():function(U){for(var P=1;P<arguments.length;P++){var W=arguments[P];for(var J in W)Object.prototype.hasOwnProperty.call(W,J)&&(U[J]=W[J])}return U},gt.apply(this,arguments)}function it(U,P){for(var W=0;W<P.length;W++){var J=P[W];J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J&&(J.writable=!0),Object.defineProperty(U,(Lt=function(Yt,Pt){if(st(Yt)!=="object"||Yt===null)return Yt;var X=Yt[Symbol.toPrimitive];if(X!==void 0){var at=X.call(Yt,"string");if(st(at)!=="object")return at;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(Yt)}(J.key),st(Lt)==="symbol"?Lt:String(Lt)),J)}var Lt}function nt(U,P){return nt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(W,J){return W.__proto__=J,W},nt(U,P)}function ut(U,P){if(P&&(st(P)==="object"||typeof P=="function"))return P;if(P!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return wt(U)}function wt(U){if(U===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return U}function Y(U){return Y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(P){return P.__proto__||Object.getPrototypeOf(P)},Y(U)}var yt=function(){return typeof window>"u"?0:window.scrollX||window.pageXOffset},Mt=function(){return typeof window>"u"?0:window.scrollY||window.pageYOffset};let qt=function(U){var P=function(W){(function(Ct,At){if(typeof At!="function"&&At!==null)throw new TypeError("Super expression must either be null or a function");Ct.prototype=Object.create(At&&At.prototype,{constructor:{value:Ct,writable:!0,configurable:!0}}),Object.defineProperty(Ct,"prototype",{writable:!1}),At&&nt(Ct,At)})(at,W);var J,Lt,Yt,Pt,X=(Yt=at,Pt=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var Ct,At=Y(Yt);if(Pt){var Rt=Y(this).constructor;Ct=Reflect.construct(At,arguments,Rt)}else Ct=At.apply(this,arguments);return ut(this,Ct)});function at(Ct){var At;if(function(Ut,G){if(!(Ut instanceof G))throw new TypeError("Cannot call a class as a function")}(this,at),(At=X.call(this,Ct)).useIntersectionObserver=Ct.useIntersectionObserver&&h(),At.useIntersectionObserver)return ut(At);var Rt=At.onChangeScroll.bind(wt(At));return Ct.delayMethod==="debounce"?At.delayedScroll=z()(Rt,Ct.delayTime):Ct.delayMethod==="throttle"&&(At.delayedScroll=L()(Rt,Ct.delayTime)),At.state={scrollPosition:{x:yt(),y:Mt()}},At.baseComponentRef=r().createRef(),At}return J=at,(Lt=[{key:"componentDidMount",value:function(){this.addListeners()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"componentDidUpdate",value:function(){typeof window>"u"||this.useIntersectionObserver||q(f().findDOMNode(this.baseComponentRef.current))!==this.scrollElement&&(this.removeListeners(),this.addListeners())}},{key:"addListeners",value:function(){typeof window>"u"||this.useIntersectionObserver||(this.scrollElement=q(f().findDOMNode(this.baseComponentRef.current)),this.scrollElement.addEventListener("scroll",this.delayedScroll,{passive:!0}),window.addEventListener("resize",this.delayedScroll,{passive:!0}),this.scrollElement!==window&&window.addEventListener("scroll",this.delayedScroll,{passive:!0}))}},{key:"removeListeners",value:function(){typeof window>"u"||this.useIntersectionObserver||(this.scrollElement.removeEventListener("scroll",this.delayedScroll),window.removeEventListener("resize",this.delayedScroll),this.scrollElement!==window&&window.removeEventListener("scroll",this.delayedScroll))}},{key:"onChangeScroll",value:function(){this.useIntersectionObserver||this.setState({scrollPosition:{x:yt(),y:Mt()}})}},{key:"render",value:function(){var Ct=this.props,At=(Ct.delayMethod,Ct.delayTime,function(Ut,G){if(Ut==null)return{};var Bt,he,qe=function(je,Cn){if(je==null)return{};var Kn,Oi,_i={},qi=Object.keys(je);for(Oi=0;Oi<qi.length;Oi++)Kn=qi[Oi],Cn.indexOf(Kn)>=0||(_i[Kn]=je[Kn]);return _i}(Ut,G);if(Object.getOwnPropertySymbols){var Le=Object.getOwnPropertySymbols(Ut);for(he=0;he<Le.length;he++)Bt=Le[he],G.indexOf(Bt)>=0||Object.prototype.propertyIsEnumerable.call(Ut,Bt)&&(qe[Bt]=Ut[Bt])}return qe}(Ct,et)),Rt=this.useIntersectionObserver?null:this.state.scrollPosition;return r().createElement(U,gt({forwardRef:this.baseComponentRef,scrollPosition:Rt},At))}}])&&it(J.prototype,Lt),Object.defineProperty(J,"prototype",{writable:!1}),at}(r().Component);return P.propTypes={delayMethod:l.PropTypes.oneOf(["debounce","throttle"]),delayTime:l.PropTypes.number,useIntersectionObserver:l.PropTypes.bool},P.defaultProps={delayMethod:"throttle",delayTime:300,useIntersectionObserver:!0},P};function Kt(U){return Kt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(P){return typeof P}:function(P){return P&&typeof Symbol=="function"&&P.constructor===Symbol&&P!==Symbol.prototype?"symbol":typeof P},Kt(U)}function te(U,P){for(var W=0;W<P.length;W++){var J=P[W];J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J&&(J.writable=!0),Object.defineProperty(U,(Lt=function(Yt,Pt){if(Kt(Yt)!=="object"||Yt===null)return Yt;var X=Yt[Symbol.toPrimitive];if(X!==void 0){var at=X.call(Yt,"string");if(Kt(at)!=="object")return at;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(Yt)}(J.key),Kt(Lt)==="symbol"?Lt:String(Lt)),J)}var Lt}function ue(U,P){return ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(W,J){return W.__proto__=J,W},ue(U,P)}function ft(U){return ft=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(P){return P.__proto__||Object.getPrototypeOf(P)},ft(U)}var Ht=function(U){(function(X,at){if(typeof at!="function"&&at!==null)throw new TypeError("Super expression must either be null or a function");X.prototype=Object.create(at&&at.prototype,{constructor:{value:X,writable:!0,configurable:!0}}),Object.defineProperty(X,"prototype",{writable:!1}),at&&ue(X,at)})(Pt,U);var P,W,J,Lt,Yt=(J=Pt,Lt=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var X,at=ft(J);if(Lt){var Ct=ft(this).constructor;X=Reflect.construct(at,arguments,Ct)}else X=at.apply(this,arguments);return function(At,Rt){if(Rt&&(Kt(Rt)==="object"||typeof Rt=="function"))return Rt;if(Rt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Ut){if(Ut===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ut}(At)}(this,X)});function Pt(X){return function(at,Ct){if(!(at instanceof Ct))throw new TypeError("Cannot call a class as a function")}(this,Pt),Yt.call(this,X)}return P=Pt,(W=[{key:"render",value:function(){return r().createElement(E,this.props)}}])&&te(P.prototype,W),Object.defineProperty(P,"prototype",{writable:!1}),Pt}(r().Component);let ee=qt(Ht);function Gt(U){return Gt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(P){return typeof P}:function(P){return P&&typeof Symbol=="function"&&P.constructor===Symbol&&P!==Symbol.prototype?"symbol":typeof P},Gt(U)}function re(U,P){for(var W=0;W<P.length;W++){var J=P[W];J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J&&(J.writable=!0),Object.defineProperty(U,(Lt=function(Yt,Pt){if(Gt(Yt)!=="object"||Yt===null)return Yt;var X=Yt[Symbol.toPrimitive];if(X!==void 0){var at=X.call(Yt,"string");if(Gt(at)!=="object")return at;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(Yt)}(J.key),Gt(Lt)==="symbol"?Lt:String(Lt)),J)}var Lt}function Ce(U,P){return Ce=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(W,J){return W.__proto__=J,W},Ce(U,P)}function Zt(U){if(U===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return U}function fe(U){return fe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(P){return P.__proto__||Object.getPrototypeOf(P)},fe(U)}var Ft=function(U){(function(X,at){if(typeof at!="function"&&at!==null)throw new TypeError("Super expression must either be null or a function");X.prototype=Object.create(at&&at.prototype,{constructor:{value:X,writable:!0,configurable:!0}}),Object.defineProperty(X,"prototype",{writable:!1}),at&&Ce(X,at)})(Pt,U);var P,W,J,Lt,Yt=(J=Pt,Lt=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var X,at=fe(J);if(Lt){var Ct=fe(this).constructor;X=Reflect.construct(at,arguments,Ct)}else X=at.apply(this,arguments);return function(At,Rt){if(Rt&&(Gt(Rt)==="object"||typeof Rt=="function"))return Rt;if(Rt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Zt(At)}(this,X)});function Pt(X){var at;(function(G,Bt){if(!(G instanceof Bt))throw new TypeError("Cannot call a class as a function")})(this,Pt),at=Yt.call(this,X);var Ct=X.afterLoad,At=X.beforeLoad,Rt=X.scrollPosition,Ut=X.visibleByDefault;return at.state={visible:Ut},Ut&&(At(),Ct()),at.onVisible=at.onVisible.bind(Zt(at)),at.isScrollTracked=!!(Rt&&Number.isFinite(Rt.x)&&Rt.x>=0&&Number.isFinite(Rt.y)&&Rt.y>=0),at}return P=Pt,(W=[{key:"componentDidUpdate",value:function(X,at){at.visible!==this.state.visible&&this.props.afterLoad()}},{key:"onVisible",value:function(){this.props.beforeLoad(),this.setState({visible:!0})}},{key:"render",value:function(){if(this.state.visible)return this.props.children;var X=this.props,at=X.className,Ct=X.delayMethod,At=X.delayTime,Rt=X.height,Ut=X.placeholder,G=X.scrollPosition,Bt=X.style,he=X.threshold,qe=X.useIntersectionObserver,Le=X.width;return this.isScrollTracked||qe&&h()?r().createElement(E,{className:at,height:Rt,onVisible:this.onVisible,placeholder:Ut,scrollPosition:G,style:Bt,threshold:he,useIntersectionObserver:qe,width:Le}):r().createElement(ee,{className:at,delayMethod:Ct,delayTime:At,height:Rt,onVisible:this.onVisible,placeholder:Ut,style:Bt,threshold:he,width:Le})}}])&&re(P.prototype,W),Object.defineProperty(P,"prototype",{writable:!1}),Pt}(r().Component);Ft.propTypes={afterLoad:l.PropTypes.func,beforeLoad:l.PropTypes.func,useIntersectionObserver:l.PropTypes.bool,visibleByDefault:l.PropTypes.bool},Ft.defaultProps={afterLoad:function(){return{}},beforeLoad:function(){return{}},useIntersectionObserver:!0,visibleByDefault:!1};let tn=Ft;function Jt(U){return Jt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(P){return typeof P}:function(P){return P&&typeof Symbol=="function"&&P.constructor===Symbol&&P!==Symbol.prototype?"symbol":typeof P},Jt(U)}var ze=["afterLoad","beforeLoad","delayMethod","delayTime","effect","placeholder","placeholderSrc","scrollPosition","threshold","useIntersectionObserver","visibleByDefault","wrapperClassName","wrapperProps"];function oi(U,P){var W=Object.keys(U);if(Object.getOwnPropertySymbols){var J=Object.getOwnPropertySymbols(U);P&&(J=J.filter(function(Lt){return Object.getOwnPropertyDescriptor(U,Lt).enumerable})),W.push.apply(W,J)}return W}function Un(U){for(var P=1;P<arguments.length;P++){var W=arguments[P]!=null?arguments[P]:{};P%2?oi(Object(W),!0).forEach(function(J){lt(U,J,W[J])}):Object.getOwnPropertyDescriptors?Object.defineProperties(U,Object.getOwnPropertyDescriptors(W)):oi(Object(W)).forEach(function(J){Object.defineProperty(U,J,Object.getOwnPropertyDescriptor(W,J))})}return U}function lt(U,P,W){return(P=_(P))in U?Object.defineProperty(U,P,{value:W,enumerable:!0,configurable:!0,writable:!0}):U[P]=W,U}function Tt(){return Tt=Object.assign?Object.assign.bind():function(U){for(var P=1;P<arguments.length;P++){var W=arguments[P];for(var J in W)Object.prototype.hasOwnProperty.call(W,J)&&(U[J]=W[J])}return U},Tt.apply(this,arguments)}function Vt(U,P){for(var W=0;W<P.length;W++){var J=P[W];J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J&&(J.writable=!0),Object.defineProperty(U,_(J.key),J)}}function _(U){var P=function(W,J){if(Jt(W)!=="object"||W===null)return W;var Lt=W[Symbol.toPrimitive];if(Lt!==void 0){var Yt=Lt.call(W,"string");if(Jt(Yt)!=="object")return Yt;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(W)}(U);return Jt(P)==="symbol"?P:String(P)}function B(U,P){return B=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(W,J){return W.__proto__=J,W},B(U,P)}function rt(U){return rt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(P){return P.__proto__||Object.getPrototypeOf(P)},rt(U)}var ht=function(U){(function(X,at){if(typeof at!="function"&&at!==null)throw new TypeError("Super expression must either be null or a function");X.prototype=Object.create(at&&at.prototype,{constructor:{value:X,writable:!0,configurable:!0}}),Object.defineProperty(X,"prototype",{writable:!1}),at&&B(X,at)})(Pt,U);var P,W,J,Lt,Yt=(J=Pt,Lt=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var X,at=rt(J);if(Lt){var Ct=rt(this).constructor;X=Reflect.construct(at,arguments,Ct)}else X=at.apply(this,arguments);return function(At,Rt){if(Rt&&(Jt(Rt)==="object"||typeof Rt=="function"))return Rt;if(Rt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Ut){if(Ut===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ut}(At)}(this,X)});function Pt(X){var at;return function(Ct,At){if(!(Ct instanceof At))throw new TypeError("Cannot call a class as a function")}(this,Pt),(at=Yt.call(this,X)).state={loaded:!1},at}return P=Pt,(W=[{key:"onImageLoad",value:function(){var X=this;return this.state.loaded?null:function(at){X.props.onLoad(at),X.props.afterLoad(),X.setState({loaded:!0})}}},{key:"getImg",value:function(){var X=this.props,at=(X.afterLoad,X.beforeLoad,X.delayMethod,X.delayTime,X.effect,X.placeholder,X.placeholderSrc,X.scrollPosition,X.threshold,X.useIntersectionObserver,X.visibleByDefault,X.wrapperClassName,X.wrapperProps,function(Ct,At){if(Ct==null)return{};var Rt,Ut,G=function(he,qe){if(he==null)return{};var Le,je,Cn={},Kn=Object.keys(he);for(je=0;je<Kn.length;je++)Le=Kn[je],qe.indexOf(Le)>=0||(Cn[Le]=he[Le]);return Cn}(Ct,At);if(Object.getOwnPropertySymbols){var Bt=Object.getOwnPropertySymbols(Ct);for(Ut=0;Ut<Bt.length;Ut++)Rt=Bt[Ut],At.indexOf(Rt)>=0||Object.prototype.propertyIsEnumerable.call(Ct,Rt)&&(G[Rt]=Ct[Rt])}return G}(X,ze));return r().createElement("img",Tt({},at,{onLoad:this.onImageLoad()}))}},{key:"getLazyLoadImage",value:function(){var X=this.props,at=X.beforeLoad,Ct=X.className,At=X.delayMethod,Rt=X.delayTime,Ut=X.height,G=X.placeholder,Bt=X.scrollPosition,he=X.style,qe=X.threshold,Le=X.useIntersectionObserver,je=X.visibleByDefault,Cn=X.width;return r().createElement(tn,{beforeLoad:at,className:Ct,delayMethod:At,delayTime:Rt,height:Ut,placeholder:G,scrollPosition:Bt,style:he,threshold:qe,useIntersectionObserver:Le,visibleByDefault:je,width:Cn},this.getImg())}},{key:"getWrappedLazyLoadImage",value:function(X){var at=this.props,Ct=at.effect,At=at.height,Rt=at.placeholderSrc,Ut=at.width,G=at.wrapperClassName,Bt=at.wrapperProps,he=this.state.loaded,qe=he?" lazy-load-image-loaded":"",Le=he||!Rt?{}:{backgroundImage:"url(".concat(Rt,")"),backgroundSize:"100% 100%"};return r().createElement("span",Tt({className:G+" lazy-load-image-background "+Ct+qe,style:Un(Un({},Le),{},{color:"transparent",display:"inline-block",height:At,width:Ut})},Bt),X)}},{key:"render",value:function(){var X=this.props,at=X.effect,Ct=X.placeholderSrc,At=X.visibleByDefault,Rt=X.wrapperClassName,Ut=X.wrapperProps,G=this.getLazyLoadImage();return(at||Ct)&&!At||Rt||Ut?this.getWrappedLazyLoadImage(G):G}}])&&Vt(P.prototype,W),Object.defineProperty(P,"prototype",{writable:!1}),Pt}(r().Component);ht.propTypes={onLoad:l.PropTypes.func,afterLoad:l.PropTypes.func,beforeLoad:l.PropTypes.func,delayMethod:l.PropTypes.string,delayTime:l.PropTypes.number,effect:l.PropTypes.string,placeholderSrc:l.PropTypes.string,threshold:l.PropTypes.number,useIntersectionObserver:l.PropTypes.bool,visibleByDefault:l.PropTypes.bool,wrapperClassName:l.PropTypes.string,wrapperProps:l.PropTypes.object},ht.defaultProps={onLoad:function(){},afterLoad:function(){return{}},beforeLoad:function(){return{}},delayMethod:"throttle",delayTime:300,effect:"",placeholderSrc:null,threshold:100,useIntersectionObserver:!0,visibleByDefault:!1,wrapperClassName:""};let xt=ht})(),Y4.exports=i})()});var cG={};w6(cG,{AnnotationContext:()=>jk,AnnotationPageContext:()=>kk,AnnotationStyleProvider:()=>k7,AtlasStoreProvider:()=>zd,AtlasStoreReactContext:()=>bu,Auth:()=>$1,AuthProvider:()=>W1,AuthRContext:()=>ql,AuthReactContext:()=>bO,AuthReactContextActions:()=>SO,CanvasAnnotations:()=>Ik,CanvasContext:()=>Va,CanvasPanel:()=>Qn,CanvasStrategyProvider:()=>HE,CanvasWorldObject:()=>VE,CollectionContext:()=>Gk,CombinedMetadata:()=>Nk,ComplexTimelineProvider:()=>XR,ContextBridge:()=>Vp,ControlsReactContext:()=>vp,CreateCustomShape:()=>kE,CustomContextBridge:()=>w4,CustomContextBridgeProvider:()=>dk,DEFAULT_BEZIER:()=>Sp,DEFAULT_POLL_INTERVAL:()=>QR,DefaultEditingTools:()=>O4,EASING_PRESETS:()=>rl,EventEmitterProvider:()=>e7,EventsProvider:()=>ck,Image:()=>k4,ImageService:()=>Dk,ImageServiceLoaderContext:()=>tP,InnerViewerProvider:()=>CO,LanguageProvider:()=>$7,LanguageString:()=>pP,LocaleString:()=>za,ManifestContext:()=>V1,ManifestMetadata:()=>Bk,MediaPlayerProvider:()=>gp,Metadata:()=>tm,PolygonSelector:()=>zk,RangeContext:()=>U1,ReactEmitterContext:()=>yu,ReactEventContext:()=>Iu,ReactVaultContext:()=>gs,RegionHighlight:()=>AR,Render3DModelStrategy:()=>PR,RenderAccompanyingCanvas:()=>BR,RenderAnnotation:()=>xu,RenderAnnotationEditing:()=>CE,RenderAnnotationPage:()=>tl,RenderAnnotationStrategy:()=>qR,RenderAudioStrategy:()=>GR,RenderComplexTimelineStrategy:()=>eE,RenderEmptyStrategy:()=>nE,RenderImageStrategy:()=>iE,RenderSvgEditorControls:()=>qk,RenderTextualContentStrategy:()=>aE,RenderVideoStrategy:()=>oE,RenderYouTubeStrategy:()=>sE,ResizeWorldItem:()=>ER,ResourceProvider:()=>Di,ResourceReactContext:()=>Cf,SelectorControllerProvider:()=>Mk,SequenceThumbnails:()=>Vk,SimpleViewerProvider:()=>ex,SimpleViewerReactContext:()=>Oc,SingleCanvasThumbnail:()=>KE,StrategyReactContext:()=>nl,ThumbnailFallbackImage:()=>Cu,TranslationProvider:()=>J7,TransliterationProvider:()=>t9,VaultProvider:()=>po,ViewerPresetContext:()=>Tr,VirtualAnnotationProvider:()=>UR,VisibleCanvasReactContext:()=>Vl,annotationResponseToSelector:()=>uG,authDetailsForResource:()=>Q1,buildTransitions:()=>ZR,cachedParseCssToBoxStyleMap:()=>OS,convertBoxStyleToSelectorStyle:()=>L2,convertSelectorStyleToBoxStyle:()=>Gm,createAtlasStore:()=>yR,createAuthStateStore:()=>Y1,createProbe:()=>X1,cubicBezierEasing:()=>br,defaultEmitter:()=>v4,defaultSvgTheme:()=>EP,emptyActions:()=>AE,emptyStrategy:()=>ME,expandTarget:()=>wn,findAllCanvasesInRange:()=>Mg,findFirstCanvasFromRange:()=>eO,findManifestSelectedRange:()=>mF,findSelectedRange:()=>q1,flattenAnnotationPageIds:()=>OE,formatTime:()=>n0,get3dStrategy:()=>IE,getAtlasStoreByName:()=>SR,getComplexTimelineStrategy:()=>LE,getCroppedThumbnail:()=>eP,getDefaultAnnotationStyles:()=>xR,getImageStrategy:()=>Qp,getManifestSequence:()=>Og,getParsedTargetSelector:()=>jp,getRenderingStrategy:()=>Wp,getSelectorTransformAttributes:()=>cs,getStepFromProgress:()=>WR,getTextualContentStrategy:()=>Kp,getVideoStrategy:()=>Zp,getVisibleCanvasesFromCanvasId:()=>gF,hasAuth:()=>BF,interpolateRect:()=>KR,isBoxSelector:()=>q7,isImageApiSelector:()=>Ym,isRectangle:()=>Od,isSvgSelector:()=>_D,isValidCanvasFragment:()=>Xm,makeAccessServiceRequest:()=>G1,makeAccessTokenRequest:()=>Ng,parseCssToBoxStyleMap:()=>ES,parseCssTransform:()=>AS,parseCssTransformOrigin:()=>CS,parseCssTransformStyle:()=>MS,parseRotation:()=>Qm,parseSelector:()=>co,parseSpecificResource:()=>mk,polygonToTarget:()=>_d,requestToAnnotationResponse:()=>dp,resolveSelectorStyle:()=>ds,seraliseSupportedSelector:()=>$v,splitCanvasFragment:()=>_l,svgThemes:()=>Ak,targetIntersects:()=>sG,unknownResponse:()=>kp,unsupportedStrategy:()=>on,useAnnotation:()=>hp,useAnnotationPage:()=>MR,useAnnotationPageManager:()=>Yp,useAnnotationStyles:()=>fp,useAnnotationsAtTime:()=>Yk,useAtlasContextMenu:()=>qp,useAtlasStore:()=>$e,useAuthActions:()=>xO,useAuthService:()=>wO,useAuthStore:()=>Ac,useAuthToken:()=>FF,useAuthTokens:()=>K1,useCanvas:()=>Wt,useCanvasChoices:()=>Xk,useCanvasClock:()=>Qk,useCanvasSequence:()=>j1,useCanvasStartTime:()=>yp,useCanvasSubset:()=>Kk,useClosestLanguage:()=>gP,useCollection:()=>Zk,useComplexTimeline:()=>W7,useContextBridge:()=>Fp,useContextMenuStore:()=>M4,useCreateLocaleString:()=>e9,useCurrentAnnotationActions:()=>Wk,useCurrentAnnotationMetadata:()=>Jk,useCurrentAnnotationRequest:()=>EE,useCurrentAnnotationTransition:()=>$k,useCurrentAuth:()=>HF,useCustomContextBridge:()=>Hp,useDispatch:()=>HR,useEmitter:()=>mR,useEvent:()=>vu,useEventEmitter:()=>Dp,useEventListener:()=>tG,useExistingVault:()=>mo,useExternalCollection:()=>eG,useExternalManifest:()=>F1,useExternalResource:()=>Bf,useIIIFLanguage:()=>h0,useImage:()=>G0,useImageService:()=>WE,useImageServiceLoader:()=>bp,useImageTile:()=>nG,useIsAuthEnabled:()=>J1,useLoadImageService:()=>Xp,useLocaleString:()=>yP,useManifest:()=>Tn,useMediaActions:()=>Y7,useMediaElements:()=>X7,useMediaState:()=>G7,usePaintables:()=>zE,usePaintingAnnotations:()=>Qo,usePolygonHelper:()=>lE,useRange:()=>Hf,useRemoteStylesheet:()=>TR,useRenderControls:()=>Hi,useRenderingStrategy:()=>PE,useRequestAnnotation:()=>jE,useResourceContext:()=>Ti,useResourceEvents:()=>mp,useResources:()=>_E,useSearchService:()=>tx,useSelectorController:()=>YE,useSelectorEmitter:()=>Ok,useSelectorEvents:()=>GE,useSelectorHelper:()=>_k,useSimpleMediaPlayer:()=>wu,useSimpleViewer:()=>jl,useStaticRenderingStrategy:()=>iG,useStrategy:()=>fn,useStyleHelper:()=>aG,useStyles:()=>Su,useStylesheetStore:()=>ID,useSvgEditor:()=>uE,useSvgEditorControls:()=>ZE,useThumbnail:()=>jo,useTranslations:()=>$R,useTransliteration:()=>JR,useVault:()=>ce,useVaultEffect:()=>jR,useVaultSelector:()=>_e,useViewerPreset:()=>xp,useViewportScroll:()=>oG,useViewportTour:()=>rG,useVirtualAnnotationPage:()=>FR,useVirtualAnnotationPageContext:()=>VR,useVisibleCanvases:()=>Ul});function Tf(t){"@babel/helpers - typeof";return Tf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tf(t)}function R6(t,e){if(Tf(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var i=n.call(t,e||"default");if(Tf(i)!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function E6(t){var e=R6(t,"string");return Tf(e)=="symbol"?e:e+""}function Gn(t,e,n){return(e=E6(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var C6=Object.create,z2=Object.defineProperty,A6=Object.getOwnPropertyDescriptor,M6=Object.getOwnPropertyNames,O6=Object.getPrototypeOf,_6=Object.prototype.hasOwnProperty,wS=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var z6=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(var a=M6(e),r=0,l=a.length,u;r<l;r++)u=a[r],!_6.call(t,u)&&u!==n&&z2(t,u,{get:(f=>e[f]).bind(null,u),enumerable:!(i=A6(e,u))||i.enumerable});return t},TS=(t,e,n)=>(n=t==null?{}:C6(O6(t)),z6(e||!t||!t.__esModule?z2(n,"default",{value:t,enumerable:!0}):n,t));var I6=/^(-?(?:\d+|\d*\.\d+))(px|%)?$/,N6=/^(-?(?:\d+|\d*\.\d+))(deg|rad|turn)?$/,I2=/([a-zA-Z0-9]+)\(([^)]*)\)/g;function L6(t){if(t==="%")return"percent";if(!t||t==="px")return"pixel"}function lc(t){let e=I6.exec(t.trim());if(e)return{value:Number.parseFloat(e[1]),unit:L6(e[2])}}function D6(t){let[e,n=e]=t.trim().split(/\s+/),i=lc(e),a=lc(n);if(!i||!a)return;let r={x:i.value,y:a.value};return i.unit&&i.unit===a.unit?r.unit=i.unit:(i.unit&&(r.xUnit=i.unit),a.unit&&(r.yUnit=a.unit)),r}function P6(t){let e=N6.exec(t.trim());if(!e)return;let n=Number.parseFloat(e[1]),i=e[2]||"deg";return i==="rad"?n*180/Math.PI:i==="turn"?n*360:n}function RS(t,e){return t?{x:t.x+e.x,y:t.y+e.y,...t.unit&&t.unit===e.unit?{unit:t.unit}:{}}:e}function ES(t){let e={},n=t.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").trim(),i=/([^{]+)\{([^}]+)\}/g,a;for(;(a=i.exec(n))!==null;){let r=a[1].trim(),l=a[2].trim(),u=r.match(/\.([a-zA-Z0-9_-]+)/);if(!u)continue;let f=u[1],h=l.split(";").filter(m=>m.trim()),d={};for(let m of h){let[y,g]=m.split(":").map(b=>b.trim());if(!(!y||!g))switch(y){case"background-color":d.backgroundColor=g;break;case"opacity":d.opacity=parseFloat(g);break;case"box-shadow":d.boxShadow=g;break;case"border-color":d.borderColor=g;break;case"border-width":d.borderWidth=g;break;case"border-style":d.borderStyle=g;break;case"outline-color":d.outlineColor=g;break;case"outline-width":d.outlineWidth=g;break;case"outline-offset":d.outlineOffset=g;break;case"outline-style":d.outlineStyle=g;break;case"border":d.border=g;break;case"outline":d.outline=g;break;case"background":d.background=g;break;case"transform":d.transform=g;break;case"transform-origin":d.transformOrigin=g;break}}e[f]=d}return e}function Gm(t){let e={};return t&&(t.fill&&(e.backgroundColor=t.fill,t.fillOpacity),t.stroke&&(e.borderColor=t.stroke),t.strokeWidth&&(e.borderWidth=t.strokeWidth)),e}function L2(t){let e={};if(t.backgroundColor&&(e.fill=t.backgroundColor),!e.fill&&t.background&&(e.fill=t.background),t.opacity!==void 0&&(e.fillOpacity=t.opacity),t.borderColor&&(e.stroke=t.borderColor),!e.stroke&&t.border){let n=t.border.split(" ").find(i=>i.startsWith("#")||i.startsWith("rgb")||i.match(/^[a-z]+$/i));n&&(e.stroke=n)}if(t.borderWidth&&(e.strokeWidth=t.borderWidth),!e.strokeWidth&&t.border){let n=t.border.split(" ").find(i=>i.match(/^\d+(?:px|em|rem|%)?$/));n&&(e.strokeWidth=n)}return e}function CS(t){if(t)return D6(t)}function AS(t){let e={};if(!t)return e;e.transform=t;let n;for(I2.lastIndex=0;(n=I2.exec(t))!==null;){let i=n[1].toLowerCase(),a=n[2].split(",").flatMap(r=>r.trim().split(/\s+/)).filter(Boolean);if(i==="rotate"){let r=P6(a[0]||"");r!==void 0&&(e.rotation=r);continue}if(i==="translatex"){let r=lc(a[0]||"");r&&(e.translate=RS(e.translate,{x:r.value,y:0,...r.unit?{unit:r.unit}:{}}));continue}if(i==="translatey"){let r=lc(a[0]||"");r&&(e.translate=RS(e.translate,{x:0,y:r.value,...r.unit?{unit:r.unit}:{}}));continue}if(i==="translate"){let r=lc(a[0]||""),l=lc(a[1]||"0");if(r&&l){let u={x:r.value,y:l.value};r.unit&&r.unit===l.unit?u.unit=r.unit:(r.unit&&(u.xUnit=r.unit),l.unit&&(u.yUnit=l.unit)),e.translate=RS(e.translate,u)}}}return e}function MS(t){let e=AS(t?.transform),n=CS(t?.transformOrigin);return t?.transformOrigin&&(e.transformOrigin=t.transformOrigin),n&&(e.rotationOrigin=n),e}function cs(t){let e=MS(t),n={};return e.rotation!==void 0&&(n.rotation=e.rotation),e.rotationOrigin&&(n.rotationOrigin=e.rotationOrigin),e.translate&&(n.translate=e.translate),(e.rotation!==void 0||e.rotationOrigin||e.translate||e.transform||e.transformOrigin)&&(n.transform=e),n}var N2=new Map;function OS(t,e){let n=N2.get(t);if(n?.css===e)return n.styleMap;let i=ES(e);return N2.set(t,{css:e,styleMap:Object.fromEntries(Object.entries(i).map(([a,r])=>[a,r]))}),i}function ds(t,e,n={}){if(!t||!e)return Gm(n||{});let i=Gm(n||{}),a=Object.entries(e);for(let[r,l]of a){if(!l)continue;let u=OS(r,l),f=Object.entries(u);for(let[h,d]of f)h===t&&Object.assign(i,d)}return i}function B6(t,e,n,i=1){return new H2(t,e,n).subdivide(i)}function H6(t,e,n,i,a=1){return new V6(new Float64Array([t.x,t.y,e.x,e.y,n.x,n.y,i.x,i.y])).subdivide(a)}function F6(t){return t.x*t.x+t.y*t.y}function Rf(t){let e=.67;return t/(1-e+(e**4+.25*t*t)**.25)}function uc(t){let e=.39;return t*(1-e+Math.sqrt(e*e+.25*t*t))}var H2=class{constructor(t,e,n){Gn(this,"start",void 0),Gn(this,"control",void 0),Gn(this,"end",void 0),this.start=t,this.control=e,this.end=n}eval(t){let e=1-t;return{x:this.start.x*e*e+2*this.control.x*e*t+this.end.x*t*t,y:this.start.y*e*e+2*this.control.y*e*t+this.end.y*t*t}}mapToBasic(){let{x:t,y:e}=this.start,{x:n,y:i}=this.control,{x:a,y:r}=this.end,l=2*n-t-a,u=2*i-e-r,f=(n-t)*l+(i-e)*u,h=(a-n)*l+(r-i)*u,d=(a-t)*u-(r-e)*l,m=f/d,y=h/d;return{x0:t,x2:a,scale:Math.abs(d)/(Math.hypot(l,u)*Math.abs(y-m)),cross:d}}subdivide(t){let e=this.mapToBasic(),n=Rf(e.x0),i=Rf(e.x2),a=.5*Math.abs(i-n)*Math.sqrt(e.scale/t),r=Math.ceil(a),l=uc(n),u=uc(i),f=[0];for(let h=1;h<r;h++){let d=(uc(n+(i-n)*h/r)-l)/(u-l);f.push(d)}return f.push(1),f.map(h=>this.eval(h))}},V6=class F2{constructor(e){Gn(this,"c",void 0),this.c=e}weightsum(e,n,i,a){return{x:e*this.c[0]+n*this.c[2]+i*this.c[4]+a*this.c[6],y:e*this.c[1]+n*this.c[3]+i*this.c[5]+a*this.c[7]}}eval(e){let n=1-e,i=n*n*n,a=3*n*n*e,r=3*n*e*e,l=e*e*e;return this.weightsum(i,a,r,l)}deriv(e){let n=1-e,i=-3*n*n,a=3*e*e,r=-6*e*n-i,l=6*e*n-a;return this.weightsum(i,r,l,a)}midpoint_quadbez(){let e=this.weightsum(-.25,.75,.75,-.25);return new H2({x:this.c[0],y:this.c[1]},e,{x:this.c[6],y:this.c[7]})}subsegment(e,n){let i=new Float64Array(8),a=this.eval(e),r=this.eval(n);i[0]=a.x,i[1]=a.y;let l=(n-e)/3,u=this.deriv(e);i[2]=a.x+l*u.x,i[3]=a.y+l*u.y;let f=this.deriv(n);return i[4]=r.x-l*f.x,i[5]=r.y-l*f.y,i[6]=r.x,i[7]=r.y,new F2(i)}subdivide(e){let n=.1*e,i=e-n,a=Math.sqrt(i),r=F6(this.weightsum(1,-3,3,-1)),l=Math.ceil((r/(432*n*n))**(1/6)),u=[],f=0;for(let b=0;b<l;b++){let T=b/l,C=(b+1)/l,x=this.subsegment(T,C).midpoint_quadbez(),w=x.mapToBasic(),R=Rf(w.x0),E=Rf(w.x2),M=Math.sqrt(w.scale),z=Math.abs(E-R)*M;if(Math.sign(w.x0)!=Math.sign(w.x2)){let I=a/M,L=a*Math.abs(E-R)/Rf(I);z=Math.max(z,L)}u.push({quad:x,a0:R,a2:E,val:z}),f+=z}let h=.5*f/a,d=Math.ceil(h),m=[{x:this.c[0],y:this.c[1]}],y=0,g=0;for(let b=1;b<d;b++){let T=f*b/d;for(;y+u[g].val<T;)y+=u[g].val,g++;let C=u[g].a0,x=u[g].a2,w=uc(C),R=uc(x),E=(uc(C+(x-C)*(T-y)/u[g].val)-w)/(R-w);m.push(u[g].quad.eval(E))}return m.push({x:this.c[6],y:this.c[7]}),m}},U6=function(){function t(e,n){var i=[],a=!0,r=!1,l=void 0;try{for(var u=e[Symbol.iterator](),f;!(a=(f=u.next()).done)&&(i.push(f.value),!(n&&i.length===n));a=!0);}catch(h){r=!0,l=h}finally{try{!a&&u.return&&u.return()}finally{if(r)throw l}}return i}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw TypeError("Invalid attempt to destructure non-iterable instance")}}(),Ef=Math.PI*2,_S=function(t,e,n,i,a,r,l){var u=t.x,f=t.y;u*=e,f*=n;var h=i*u-a*f,d=a*u+i*f;return{x:h+r,y:d+l}},q6=function(t,e){var n=e===1.5707963267948966?.551915024494:e===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(e/4),i=Math.cos(t),a=Math.sin(t),r=Math.cos(t+e),l=Math.sin(t+e);return[{x:i-a*n,y:a+i*n},{x:r+l*n,y:l-r*n},{x:r,y:l}]},D2=function(t,e,n,i){var a=t*i-e*n<0?-1:1,r=t*n+e*i;return r>1&&(r=1),r<-1&&(r=-1),a*Math.acos(r)},j6=function(t,e,n,i,a,r,l,u,f,h,d,m){var y=a**2,g=r**2,b=d**2,T=m**2,C=y*g-y*T-g*b;C<0&&(C=0),C/=y*T+g*b,C=Math.sqrt(C)*(l===u?-1:1);var x=C*a/r*m,w=C*-r/a*d,R=h*x-f*w+(t+n)/2,E=f*x+h*w+(e+i)/2,M=(d-x)/a,z=(m-w)/r,I=(-d-x)/a,L=(-m-w)/r,H=D2(1,0,M,z),q=D2(M,z,I,L);return u===0&&q>0&&(q-=Ef),u===1&&q<0&&(q+=Ef),[R,E,H,q]},k6=function(t){var e=t.px,n=t.py,i=t.cx,a=t.cy,r=t.rx,l=t.ry,u=t.xAxisRotation,f=u===void 0?0:u,h=t.largeArcFlag,d=h===void 0?0:h,m=t.sweepFlag,y=m===void 0?0:m,g=[];if(r===0||l===0)return[];var b=Math.sin(f*Ef/360),T=Math.cos(f*Ef/360),C=T*(e-i)/2+b*(n-a)/2,x=-b*(e-i)/2+T*(n-a)/2;if(C===0&&x===0)return[];r=Math.abs(r),l=Math.abs(l);var w=C**2/r**2+x**2/l**2;w>1&&(r*=Math.sqrt(w),l*=Math.sqrt(w));var R=U6(j6(e,n,i,a,r,l,d,y,b,T,C,x),4),E=R[0],M=R[1],z=R[2],I=R[3],L=Math.abs(I)/(Ef/4);Math.abs(1-L)<1e-7&&(L=1);var H=Math.max(Math.ceil(L),1);I/=H;for(var q=0;q<H;q++)g.push(q6(z,I)),z+=I;return g.map(function(st){var et=_S(st[0],r,l,T,b,E,M),gt=et.x,it=et.y,nt=_S(st[1],r,l,T,b,E,M),ut=nt.x,wt=nt.y,Y=_S(st[2],r,l,T,b,E,M);return{x1:gt,y1:it,x2:ut,y2:wt,x:Y.x,y:Y.y}})},G6=wS((t,e)=>{e.exports=a;var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;function a(u){var f=[];return u.replace(i,function(h,d,m){var y=d.toLowerCase();for(m=l(m),y=="m"&&m.length>2&&(f.push([d].concat(m.splice(0,2))),y="l",d=d=="m"?"l":"L");;){if(m.length==n[y])return m.unshift(d),f.push(m);if(m.length<n[y])throw Error("malformed path data");f.push([d].concat(m.splice(0,n[y])))}}),f}var r=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi;function l(u){var f=u.match(r);return f?f.map(Number):[]}}),Y6=wS((t,e)=>{e.exports=n;function n(i){var a=0,r=0,l=0,u=0;return i.map(function(f){f=f.slice();var h=f[0],d=h.toUpperCase();if(h!=d)switch(f[0]=d,h){case"a":f[6]+=l,f[7]+=u;break;case"v":f[1]+=u;break;case"h":f[1]+=l;break;default:for(var m=1;m<f.length;)f[m++]+=l,f[m++]+=u}switch(d){case"Z":l=a,u=r;break;case"H":l=f[1];break;case"V":u=f[1];break;case"M":l=a=f[1],u=r=f[2];break;default:l=f[f.length-2],u=f[f.length-1]}return f})}}),X6=TS(G6(),1),Q6=TS(Y6(),1);function K6(t){let e=(0,Q6.default)((0,X6.default)(t)),n,i=0,a=0,r=0,l=0,u,f,h=0,d=0,m=[];for(let y=0;y<e.length;y++){let g=e[y],b=g[0];switch(b){case"M":i=g[1],a=g[2];break;case"H":g=["L",g[1],a];break;case"V":g=["L",i,g[1]];break;case"S":{let T=h,C=d;(n==="C"||n=="S")&&(T+=T-r,C+=C-l),g=["C",T,C,g[1],g[2],g[3],g[4]]}break;case"T":n==="Q"||n=="T"?(u=h*2-u,f=d*2-f):(u=h,f=d),g=["Q",u,f,g[1],g[2]];break;case"Q":u=g[1],f=g[2];break;case"A":{let T=k6({px:h,py:d,cx:g[6],cy:g[7],rx:g[1],ry:g[2],xAxisRotation:g[3],largeArcFlag:g[4],sweepFlag:g[5]});if(!T.length)continue;for(let[C,x]of T.entries())g=["C",x.x1,x.y1,x.x2,x.y2,x.x,x.y],C<T.length-1&&m.push(g);g=g}break;case"Z":g=["L",i,a];break}n=b,h=g[g.length-2],d=g[g.length-1],["C","Q","A"].indexOf(b)>-1?(r=g[g.length-4],l=g[g.length-3]):(r=h,l=d),m.push(g)}return m}var Z6=/&?(xywh=)?(pixel:|percent:|pct:)?([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?)/,P2=/&?(t=)(npt:)?([0-9]+(\.[0-9]+)?)?(,([0-9]+(\.[0-9]+)?))?/,B2=/^rgba\((\d+),(\d+),(\d+),([0-9.]+)\)$/;function co(t,{domParser:e,svgPreprocessor:n,iiifRenderingHints:i,loadedStylesheets:a}={},{styleClass:r}={}){if(Array.isArray(t))return Fa(t.reduce((l,u)=>{let{selector:f,selectors:h,iiifRenderingHints:d}=co(u,{domParser:e,svgPreprocessor:n,iiifRenderingHints:i,loadedStylesheets:a},{styleClass:r});return f&&(l.selector?(!l.selector.temporal&&f.temporal&&(l.selector.temporal=f.temporal),!l.selector.spatial&&f.spatial&&(l.selector.spatial=f.spatial),!l.selector.svg&&f.svg&&(l.selector.svg=f.svg),!l.selector.svgShape&&f.svgShape&&(l.selector.svgShape=f.svgShape)):l.selector=f,l.selectors.push(...h)),d&&(l.iiifRenderingHints=l.iiifRenderingHints||{type:"ImageApiSelector"},Object.assign(l.iiifRenderingHints,d)),l},{selector:null,selectors:[],iiifRenderingHints:i}));if(!t)return Fa({selector:null,selectors:[],iiifRenderingHints:i});if(typeof t=="string"){let[l,u]=_l(t);return u?co({type:"FragmentSelector",value:u},{svgPreprocessor:n,iiifRenderingHints:i,domParser:e,loadedStylesheets:a},{styleClass:r}):Fa({selector:null,selectors:[],iiifRenderingHints:i})}if(t.type){if(t.type==="PointSelector"&&(t.t||t.t===0)){let l={type:"TemporalSelector",temporal:{startTime:t.t}};return Fa({selector:l,selectors:[l],iiifRenderingHints:i})}if(t.type==="PointSelector"&&t.x&&t.y){let l={type:"PointSelector",spatial:{x:t.x,y:t.y}};return Fa({selector:l,selectors:[l],iiifRenderingHints:i})}}if(Ym(t)){let l=[];if(t.region){let u=co({type:"FragmentSelector",value:"xywh="+t.region},{domParser:e,svgPreprocessor:n,iiifRenderingHints:i,loadedStylesheets:a},{styleClass:r});l.push(...u.selectors)}return Fa({selector:l[0],selectors:l,iiifRenderingHints:i?{...i,...t}:t})}if(t.type==="FragmentSelector"){let l=Z6.exec(t.value);if(l){let f=ds(r,a),h={type:"BoxSelector",spatial:{unit:l[2]==="percent:"||l[2]==="pct:"?"percent":"pixel",x:Number.parseFloat(l[3]),y:Number.parseFloat(l[4]),width:Number.parseFloat(l[5]),height:Number.parseFloat(l[6])},boxStyle:f,...cs(f)},d=t.value.match(P2);if(d){let m=ds(r,a);h={type:"TemporalBoxSelector",spatial:h.spatial,temporal:{startTime:d[3]?Number.parseFloat(d[3]):0,endTime:d[6]?Number.parseFloat(d[6]):void 0},boxStyle:m,...cs(m)}}return Fa({selector:h,selectors:[h],iiifRenderingHints:i})}let u=t.value.match(P2);if(u){let f={type:"TemporalSelector",temporal:{startTime:u[3]?Number.parseFloat(u[3]):0,endTime:u[6]?Number.parseFloat(u[6]):void 0}};return Fa({selector:f,selectors:[f],iiifRenderingHints:i})}return Fa({selector:null,selectors:[],iiifRenderingHints:i})}if(t.type==="SvgSelector"&&"value"in t){e||(typeof window<"u"?e=new window.DOMParser:console.warn("No DOMParser available, cannot parse SVG selector, `points`, `spatial` and `style` will be unavailable and the SVG will not be normalized."));let l=[],u,f,h=n?.(t.value)??t.value,d;if(e){let g=e.parseFromString(t.value,"image/svg+xml").querySelector("svg");if(!g)return console.warn(`Illegal SVG selector: ${t.value}`),Fa({selector:null,selectors:[],iiifRenderingHints:i});let b=V2(g);b&&(l=b.points,d=b.shapeType,u=[Math.min(...l.map(T=>T[0])),Math.min(...l.map(T=>T[1])),Math.max(...l.map(T=>T[0])),Math.max(...l.map(T=>T[1]))],{style:f,svg:h}=$6(b.element)??{svg:h})}let m=ds(r,a,f),y={type:"SvgSelector",svg:h,svgShape:d,style:f,boxStyle:m,...cs(m),points:l.length?l:void 0,spatial:u?{unit:"pixel",x:u[0],y:u[1],width:u[2]-u[0],height:u[3]-u[1]}:void 0};return Fa({selector:y,selectors:[y],iiifRenderingHints:i})}return Fa({selector:null,selectors:[],iiifRenderingHints:i})}function W6(t){let e=t.map(i=>i[0]).reduce((i,a)=>(i[a]+=1,i),{C:0,Q:0,L:0,M:0}),n=new Set(t.map(i=>i[0]));if(e.C>0||e.Q>0)return"path";if(e.L>0&&(n.size===1||n.size===2&&n.has("M"))){if(e.L===4)return"rect";let i=t.slice(-1)[0];return t[0][0]==="M"&&i[0]==="L"&&i[1]==t[0][1]&&i[2]===t[0][2]||i[1]===0&&i[2]===0?"polygon":"polyline"}return"path"}function V2(t){for(let e of Array.from(t.children))switch(e?.tagName.toLowerCase()){case"g":{let n=V2(e);if(n)return n}continue;case"path":{let n=e.getAttribute("d");if(!n)continue;let i=K6(n);return{element:e,points:J6(i),shapeType:W6(i)}}case"circle":{let n=Number.parseFloat(e.getAttribute("cx")??"0"),i=Number.parseFloat(e.getAttribute("cy")??"0"),a=Number.parseFloat(e.getAttribute("r")??"0");if(!a)continue;let r=[];for(let l=0;l<=360;l+=12){let u=l*Math.PI/180;r.push([n+a*Math.cos(u),i+a*Math.sin(u)])}return{element:e,points:r,shapeType:"circle"}}case"ellipse":{let n=Number.parseFloat(e.getAttribute("cx")??"0"),i=Number.parseFloat(e.getAttribute("cy")??"0"),a=Number.parseFloat(e.getAttribute("rx")??"0"),r=Number.parseFloat(e.getAttribute("ry")??"0");if(!a&&!r)continue;let l=[];for(let u=0;u<=360;u+=12){let f=Math.tan(u/360*Math.PI),h=a*(1-f**2)/(1+f**2),d=r*2*f/(1+f**2);l.push([n+h,i+d])}return{element:e,points:l,shapeType:"ellipse"}}case"line":{let n=Number.parseFloat(e.getAttribute("x0")??"0"),i=Number.parseFloat(e.getAttribute("y0")??"0"),a=Number.parseFloat(e.getAttribute("x1")??"0"),r=Number.parseFloat(e.getAttribute("y1")??"0");if(n===a&&i===r)continue;return{element:e,points:[[n,i],[a,r]],shapeType:"polyline"}}case"polygon":case"polyline":{let n=e.getAttribute("points")?.split(" ").map(a=>a.split(",").map(Number.parseFloat))??[];if(!n.length)continue;let i="polyline";return e.tagName.toLowerCase()==="polygon"&&(n.push(n[0]),i="polygon"),{element:e,points:n,shapeType:i}}case"rect":{let n=Number.parseFloat(e.getAttribute("x")??"0"),i=Number.parseFloat(e.getAttribute("y")??"0"),a=Number.parseFloat(e.getAttribute("width")??"0"),r=Number.parseFloat(e.getAttribute("height")??"0");if(!a||!r)continue;return{element:e,points:[[n,i],[n+a,i],[n+a,i+r],[n,i+r],[n,i]],shapeType:"rect"}}default:continue}return null}function J6(t){let e=[];for(let n=0;n<t.length;n++){let i=e[e.length-1]??[0,0],a=t[n];switch(a[0]){case"M":case"L":e.push([a[1],a[2]]);continue;case"C":e.push(...H6({x:i[0],y:i[1]},{x:a[1],y:a[2]},{x:a[3],y:a[4]},{x:a[5],y:a[6]}).map(r=>[r.x,r.y]).slice(1));continue;case"Q":e.push(...B6({x:i[0],y:i[1]},{x:a[1],y:a[2]},{x:a[3],y:a[4]}).map(r=>[r.x,r.y]).slice(1));continue}}return e}function $6(t){let e={};if(t.hasAttribute("fill")?(e.fill=t.getAttribute("fill"),t.removeAttribute("fill")):t.style&&t.style.fill&&(e.fill=t.style.fill),e.fill){let i=B2.exec(e.fill);i&&(e.fillOpacity=Number.parseFloat(i[4]),e.fill=`rgb(${i[1]}, ${i[2]}, ${i[3]})`)}if(t.hasAttribute("fill-opacity")?(e.fillOpacity=Number.parseFloat(t.getAttribute("fill-opacity")),t.removeAttribute("fill-opacity")):t.style&&t.style.fillOpacity&&(e.fillOpacity=Number.parseFloat(t.style.fillOpacity)),t.hasAttribute("stroke")?(e.stroke=t.getAttribute("stroke"),t.removeAttribute("stroke")):t.style&&t.style.stroke&&(e.stroke=t.style.stroke),e.stroke){let i=B2.exec(e.stroke);i&&(e.strokeOpacity=Number.parseFloat(i[4]),e.stroke=`rgb(${i[1]}, ${i[2]}, ${i[3]})`)}t.hasAttribute("stroke-opacity")?(e.strokeOpacity=Number.parseFloat(t.getAttribute("stroke-opacity")),t.removeAttribute("stroke-opacity")):t.style&&t.style.strokeOpacity&&(e.strokeOpacity=Number.parseFloat(t.style.strokeOpacity)),t.hasAttribute("stroke-width")?(e.strokeWidth=t.getAttribute("stroke-width"),t.removeAttribute("stroke-width")):t.style&&t.style.strokeWidth&&(e.strokeWidth=t.style.strokeWidth),t.hasAttribute("stroke-dasharray")?(e.strokeDasharray=t.getAttribute("stroke-dasharray"),t.removeAttribute("stroke-dasharray")):t.style&&t.style.strokeDasharray&&(e.strokeDasharray=t.style.strokeDasharray);let n=t;for(;n.tagName.toLowerCase()!=="svg";)if(n=n.parentElement,n===null)throw Error("Could not find root SVG element");return{svg:n.outerHTML,style:Object.keys(e).length>0?e:void 0}}function Ym(t){if(!t)return!1;let e=t.type||t["@type"];return e==="iiif:ImageApiSelector"||e==="ImageApiSelector"}function _l(t){let[e,n]=t.split("#");return!n||!Xm(n)?[t,""]:[e,n]}function Xm(t){return t.includes("xywh=")||t.includes("t=")}function Fa(t){if(t.iiifRenderingHints){let e=t.iiifRenderingHints;if(e.rotation){let n=Qm(`${e.rotation}`);if(n)if(t.selectors.length)for(let i of t.selectors)i.rotation=n;else t.selectors.push({type:"RotationSelector",rotation:n})}}else delete t.iiifRenderingHints;return t}function Qm(t){let e=Number.parseFloat(t);return e&&t.startsWith("!")&&(e=360-e),e&&(e%=360),e===e&&e||0}function wn(t,e={}){if(Array.isArray(t))return wn(t[0],e);if(typeof t=="string"){let[n,i]=_l(t);return i?wn({type:"SpecificResource",source:{id:n,type:e.typeMap&&e.typeMap[n]||e.defaultType||"Canvas"},selector:{type:"FragmentSelector",value:i}},e):{type:"SpecificResource",source:{id:n,type:e.typeMap&&e.typeMap[n]||e.defaultType||"Canvas"},selector:null,selectors:[]}}if(t.type==="Choice"||t.type==="List"||t.type==="Composite"||t.type==="Independents")return wn(t.items[0],e);if(!t.type&&"source"in t&&(t.type="SpecificResource"),t.type==="SpecificResource"){t.source.type==="Canvas"&&t.source.partOf&&typeof t.source.partOf=="string"&&(t.source.partOf=[{id:t.source.partOf,type:"Manifest"}]);let n=t.styleClass||e.styleClass,i={selector:null,selectors:[]};if(typeof t.source=="string"){let[,l]=_l(t.source);if(l){let u=wn(t.source,{...e,styleClass:n});t.source=u.source,i={selector:u.selector,selectors:u.selectors}}}let{selector:a,selectors:r}=t.selector?co(t.selector,e,{styleClass:n}):i;return{type:"SpecificResource",source:t.source,selector:a,selectors:r}}if(t.id){t.type==="Canvas"&&t.partOf&&typeof t.partOf=="string"&&(t.partOf=[{id:t.partOf,type:"Manifest"}]);let[n,i]=_l(t.id);return i?wn({type:"SpecificResource",source:{...t,id:n},selector:{type:"FragmentSelector",value:i}},e):{type:"SpecificResource",source:{...t,id:n},selector:null,selectors:[]}}return{type:"SpecificResource",source:t,selector:null,selectors:[]}}var Lu=N(ct(),1);var cc=N(ct(),1),G2=N(K(),1),nH={collection:void 0,manifest:void 0,range:void 0,canvas:void 0,annotation:void 0,annotationPage:void 0},Cf=cc.default.createContext(nH),Ti=()=>(0,cc.useContext)(Cf);function Di({value:t,children:e}){let n=Ti(),i=(0,cc.useMemo)(()=>({...n,...t}),[t,n]);return(0,G2.jsx)(Cf.Provider,{value:i,children:e})}var Y2=N(K(),1);function Va({canvas:t,children:e}){return(0,Y2.jsx)(Di,{value:{canvas:t},children:e})}var Cg=N(ct(),1);var Q2={},X2=t=>{let e,n=new Set,i=(u,f)=>{let h=typeof u=="function"?u(e):u;if(!Object.is(h,e)){let d=e;e=f??(typeof h!="object"||!h)?h:Object.assign({},e,h),n.forEach(m=>m(e,d))}},a=()=>e,r={setState:i,getState:a,getInitialState:()=>l,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(Q2.env?Q2.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},l=e=t(i,a,r);return r},Zm=t=>t?X2(t):X2;function Wm(t){return{all:t=t||new Map,on:function(e,n){var i=t.get(e);i?i.push(n):t.set(e,[n])},off:function(e,n){var i=t.get(e);i&&(n?i.splice(i.indexOf(n)>>>0,1):t.set(e,[]))},emit:function(e,n){var i=t.get(e);i&&i.slice().map(function(a){a(n)}),(i=t.get("*"))&&i.slice().map(function(a){a(e,n)})}}}function Af(t){"@babel/helpers - typeof";return Af=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Af(t)}function iH(t,e){if(Af(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var i=n.call(t,e||"default");if(Af(i)!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function aH(t){var e=iH(t,"string");return Af(e)=="symbol"?e:e+""}function Lr(t,e,n){return(e=aH(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function lr(t){return Array.isArray(t)?t:t?[t]:[]}function ur(t){for(let e in t)(t[e]===void 0||t[e]===null)&&delete t[e];return t}function ga(t){return typeof t=="string"?!1:t&&!t.type&&"source"in t?(t.type="SpecificResource",!0):!!t&&t.type==="SpecificResource"}function Jm(...t){return e=>t.reduce((n,i)=>i(n),e)}var zS=["Collection","Manifest","Canvas","AnnotationPage","AnnotationCollection","Annotation","ContentResource","Range","Service","Selector","Agent"];function K2(t,e){if(t==null)throw Error("Null or undefined is not a valid entity.");if(Array.isArray(t))throw Error("Array is not a valid entity");if(typeof t!="object"){if(e)return e;throw Error(`${typeof t} is not a valid entity`)}if(typeof t.type=="string"){let n=zS.indexOf(t.type);if(n!==-1)return zS[n]}if(t.profile)return"Service";throw Error("Resource type is not known")}var IS=class Z2{constructor(e,n={}){Lr(this,"traversals",void 0),Lr(this,"options",void 0),Lr(this,"_traverseManifest",Jm(this.traverseManifestItems.bind(this),this.traverseNavPlace.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this),this.traverseManifestStructures.bind(this),this.traverseInlineAnnotationPages.bind(this))),Lr(this,"_traverseCanvas",Jm(this.traverseCanvasItems.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this),this.traverseInlineAnnotationPages.bind(this))),Lr(this,"_traverseAnnotationPage",Jm(this.traverseAnnotationPageItems.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this))),Lr(this,"_traverseRange",Jm(this.traverseRangeRanges.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this))),this.traversals={collection:[],manifest:[],canvas:[],annotationCollection:[],annotationPage:[],annotation:[],contentResource:[],choice:[],range:[],service:[],agent:[],specificResource:[],geoJson:[],...e},this.options={allowUndefinedReturn:!1,...n}}static all(e){return new Z2({collection:[e],manifest:[e],canvas:[e],annotationCollection:[e],annotationPage:[e],annotation:[e],contentResource:[e],choice:[e],range:[e],service:[e],geoJson:[e],specificResource:[e],agent:[e]})}traverseDescriptive(e){return e.thumbnail&&(e.thumbnail=lr(e.thumbnail).map(n=>this.traverseType(n,{parent:e},this.traversals.contentResource))),e.provider&&(e.provider=e.provider.map(n=>this.traverseAgent(n,e))),e}traverseLinking(e){return e.seeAlso&&(e.seeAlso=lr(e.seeAlso).map(n=>this.traverseType(n,{parent:e},this.traversals.contentResource))),e.service&&(e.service=lr(e.service).map(n=>this.traverseService(n))),e.services&&(e.services=lr(e.services).map(n=>this.traverseService(n,e))),e.logo&&(e.logo=lr(e.logo).map(n=>this.traverseType(n,{parent:e},this.traversals.contentResource))),e.homepage&&(e.homepage=lr(e.homepage).map(n=>this.traverseType(n,{parent:e},this.traversals.contentResource))),e.partOf&&(e.partOf=e.partOf.map(n=>typeof n=="string"||!n.type?this.traverseType(n,{parent:e},this.traversals.contentResource):n.type==="Canvas"?this.traverseType(n,{parent:e},this.traversals.canvas):n.type==="AnnotationCollection"?this.traverseType(n,{parent:e},this.traversals.annotationCollection):n.type==="Collection"?this.traverseType(n,{parent:e},this.traversals.collection):this.traverseType(n,{parent:e},this.traversals.contentResource))),e.start&&(ga(e.start)?e.start=this.traverseSpecificResource(e.start,"Canvas",e):e.start=this.traverseType(e.start,{parent:e},this.traversals.canvas)),e.rendering&&(e.rendering=e.rendering.map(n=>this.traverseType(n,{parent:e},this.traversals.contentResource))),e.supplementary&&(e.supplementary=e.supplementary.map(n=>this.traverseType(n,{parent:e},this.traversals.contentResource))),e}traverseCollectionItems(e){return e.items&&e.items.map(n=>n.type==="Collection"?this.traverseCollection(n):this.traverseManifest(n)),e}traverseCollection(e,n){return this.traverseType(this.traverseDescriptive(this.traverseNavPlace(this.traverseInlineAnnotationPages(this.traverseLinking(this.traverseLinkedCanvases(this.traverseCollectionItems(e)))))),{parent:n},this.traversals.collection)}traverseGeoJson(e,n){return this.traverseType(e,{parent:n},this.traversals.geoJson)}traverseNavPlace(e){return e.navPlace&&(e.navPlace=this.traverseGeoJson(e.navPlace,e)),e}traverseManifestItems(e){return e.items&&(e.items=e.items.map(n=>this.traverseCanvas(n))),e}traverseManifestStructures(e){return e.structures&&(e.structures=e.structures.map(n=>this.traverseRange(n))),e}traverseManifest(e,n){return this.traverseType(this._traverseManifest(e),{parent:n},this.traversals.manifest)}traverseCanvasItems(e){return e.items=(e.items||[]).map(n=>this.traverseAnnotationPage(n,e)),e}traverseInlineAnnotationPages(e){return typeof e=="string"||!e||e.annotations&&(e.annotations=e.annotations.map(n=>this.traverseAnnotationPage(n,e))),e}traverseCanvas(e,n){return this.traverseType(this._traverseCanvas(e),{parent:n},this.traversals.canvas)}traverseAnnotationPageItems(e){return e.items&&(e.items=e.items.map(n=>this.traverseAnnotation(n,e))),e}traverseAnnotationPage(e,n){return this.traverseType(this._traverseAnnotationPage(e),{parent:n},this.traversals.annotationPage)}traverseAnnotationBody(e){return Array.isArray(e.body)?e.body=e.body.map(n=>this.traverseContentResource(n,e)):e.body&&(e.body=this.traverseContentResource(e.body,e)),e}traverseLinkedCanvases(e){return e.placeholderCanvas&&(e.placeholderCanvas=this.traverseCanvas(e.placeholderCanvas)),e.accompanyingCanvas&&(e.accompanyingCanvas=this.traverseCanvas(e.accompanyingCanvas)),e}traverseAnnotation(e,n){return this.traverseType(this.traverseLinking(this.traverseAnnotationBody(this.traverseDescriptive(e))),{parent:n},this.traversals.annotation)}traverseContentResourceLinking(e){return typeof e=="string"||!e||e&&e.service&&(e.service=lr(e.service||[]).map(n=>this.traverseService(n,e))),e}traverseContentResource(e,n){return e.type==="Choice"&&(e.items=e.items.map(i=>this.traverseContentResource(i,e))),ga(e)?this.traverseSpecificResource(e,"ContentResource"):this.traverseType(this.traverseInlineAnnotationPages(this.traverseContentResourceLinking(e)),{parent:n},this.traversals.contentResource)}traverseSpecificResource(e,n,i){let a=e.source;return typeof e.source=="string"&&(a={id:e.source,type:n||"unknown"}),this.traverseType({...e,source:n==="Canvas"||a.type==="Canvas"?this.traverseType(a,{parent:i},this.traversals.canvas):n==="ContentResource"?this.traverseContentResource(a,{parent:i}):this.traverseUnknown(a,{parent:i,typeHint:n})},{parent:i},this.traversals.specificResource)}traverseRangeRanges(e){return e.items&&(e.items=e.items.map(n=>typeof n=="string"?this.traverseCanvas({id:n,type:"Canvas"},e):ga(n)?this.traverseSpecificResource(n,"Canvas",e):n.type==="Manifest"?this.traverseManifest(n,e):this.traverseRange(n,e))),e}traverseRange(e,n){return this.traverseType(this._traverseRange(e),{parent:n},this.traversals.range)}traverseAgent(e,n){return this.traverseType(this.traverseDescriptive(this.traverseLinking(e)),{parent:n},this.traversals.agent)}traverseType(e,n,i){return i.reduce((a,r)=>{let l=r(a,n);return l===void 0&&!this.options.allowUndefinedReturn?a:l},e)}traverseService(e,n){let i=Object.assign({},e);return i&&i.service&&(i.service=lr(i.service).map(a=>this.traverseService(a))),this.traverseType(i,{parent:n},this.traversals.service)}traverseUnknown(e,{parent:n,typeHint:i}={}){let a=K2(e,i);switch(a){case"Collection":return this.traverseCollection(e,n);case"Manifest":return this.traverseManifest(e,n);case"Canvas":return this.traverseCanvas(e,n);case"AnnotationPage":return this.traverseAnnotationPage(e,n);case"Annotation":return this.traverseAnnotation(e,n);case"ContentResource":return this.traverseContentResource(e,n);case"Range":return this.traverseRange(e,n);case"Service":return this.traverseService(e,n);case"Agent":return this.traverseAgent(e,n);default:throw Error(`Unknown or unsupported resource type of ${a}`)}}};var NS="http://library.stanford.edu/iiif/image-api/compliance.html#level0",LS="http://library.stanford.edu/iiif/image-api/compliance.html#level1",DS="http://library.stanford.edu/iiif/image-api/compliance.html#level2",PS="http://library.stanford.edu/iiif/image-api/conformance.html#level0",BS="http://library.stanford.edu/iiif/image-api/conformance.html#level1",HS="http://library.stanford.edu/iiif/image-api/conformance.html#level2",FS="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0",VS="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1",US="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",qS="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level0",jS="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1",kS="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2",GS="http://iiif.io/api/image/1/level0.json",YS="http://iiif.io/api/image/1/profiles/level0.json",XS="http://iiif.io/api/image/1/level1.json",QS="http://iiif.io/api/image/1/profiles/level1.json",KS="http://iiif.io/api/image/1/level2.json",ZS="http://iiif.io/api/image/1/profiles/level2.json",WS="http://iiif.io/api/image/2/level0.json",JS="http://iiif.io/api/image/2/profiles/level0.json",$S="http://iiif.io/api/image/2/level1.json",t1="http://iiif.io/api/image/2/profiles/level1.json",e1="http://iiif.io/api/image/2/level2.json",n1="http://iiif.io/api/image/2/profiles/level2.json",i1="level0",a1="level1",r1="level2",o1="http://iiif.io/api/image/2/level0",s1="http://iiif.io/api/image/2/level1",l1="http://iiif.io/api/image/2/level2",dc=[l1,DS,HS,US,kS,KS,ZS,e1,n1,r1],$m=[...dc,s1,LS,BS,VS,jS,XS,QS,$S,t1,a1],u1=[o1,s1,l1,NS,LS,DS,PS,BS,HS,FS,VS,US,qS,jS,kS,GS,YS,XS,QS,KS,ZS,WS,JS,$S,t1,e1,n1,i1,a1,r1],c1=u1,d1=[o1,NS,PS,FS,qS,GS,YS,WS,JS,i1],W2={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["sizeByWhListed"]},J2={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPx","regionSquare","sizeByWhListed","sizeByH","sizeByW","sizeByWh"]},$2={extraFormats:["jpg","png"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPct","regionByPx","regionSquare","rotationBy90s","sizeByWhListed","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"]};var tM=["sc:Collection","sc:Manifest","sc:Canvas","sc:AnnotationList","oa:Annotation","sc:Range","sc:Layer","sc:Sequence","oa:Choice","Service","ContentResource"];function rH(t){if(t==null)throw Error("Null or undefined is not a valid entity.");if(Array.isArray(t))throw Error("Array is not a valid entity");if(typeof t!="object")throw Error(`${typeof t} is not a valid entity`);if(typeof t["@type"]=="string"){let e=tM.indexOf(t["@type"]);if(e!==-1)return tM[e]}if(t.profile)return"Service";if(t.format||t["@type"])return"ContentResource";throw Error("Resource type is not known")}var oH=class aM{constructor(e,n={}){Lr(this,"traversals",void 0),Lr(this,"options",void 0),this.traversals={collection:[],manifest:[],canvas:[],annotationList:[],sequence:[],annotation:[],contentResource:[],choice:[],range:[],service:[],layer:[],...e},this.options={convertPropsToArray:!0,mergeMemberProperties:!0,allowUndefinedReturn:!1,...n}}static all(e){return new aM({collection:[e],manifest:[e],canvas:[e],annotationList:[e],sequence:[e],annotation:[e],contentResource:[e],choice:[e],range:[e],service:[e],layer:[e]})}traverseCollection(e){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseCollectionItems(e))),this.traversals.collection)}traverseCollectionItems(e){if(this.options.mergeMemberProperties){let n=[...(e.manifests||[]).map(r=>typeof r=="string"?{"@id":r,"@type":"sc:Manifest"}:(r["@type"]||(r["@type"]="sc:Manifest"),r)),...(e.collections||[]).map(r=>typeof r=="string"?{"@id":r,"@type":"sc:Collection"}:r),...e.members||[]],i=[],a=n.filter(r=>i.includes(r["@id"])?!1:(i.push(r["@id"]),!0));delete e.collections,delete e.manifests,e.members=a}return e.manifests&&(e.manifests=e.manifests.map(n=>{let i=n;return typeof n=="string"&&(i={"@id":n,"@type":"sc:Manifest"}),i["@type"]||(i["@type"]="sc:Manifest"),this.traverseManifest(i)})),e.collections&&(e.collections=e.collections.map(n=>this.traverseCollection(typeof n=="string"?{"@id":n,"@type":"sc:Collection"}:n))),e.members&&(e.members=e.members.map(n=>typeof n=="string"?n:n["@type"]==="sc:Collection"?this.traverseCollection(n):n["@type"]==="sc:Manifest"?this.traverseManifest(n):this.traverseUnknown(n))),e}traverseManifest(e){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseManifestItems(e))),this.traversals.manifest)}traverseManifestItems(e){return e.sequences&&(e.sequences=e.sequences.map(n=>this.traverseSequence(n))),e.structures&&(e.structures=e.structures.map(n=>this.traverseRange(n))),e}traverseSequence(e){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseSequenceItems(e))),this.traversals.sequence)}traverseSequenceItems(e){return e.canvases&&(e.canvases=e.canvases.map(n=>this.traverseCanvas(n))),e}traverseCanvas(e){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseCanvasItems(e))),this.traversals.canvas)}traverseCanvasItems(e){return e.images&&(e.images=e.images.map(n=>(n.on&&n["@type"]!=="oa:Annotation"&&n["@type"]!=="Annotation"&&(n["@type"]="oa:Annotation"),this.traverseAnnotation(n)))),e.otherContent&&(e.otherContent=e.otherContent.map(n=>this.traverseAnnotationList(n))),e}traverseRange(e){return e["@type"]!=="sc:Range"&&(e["@type"]="sc:Range"),this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseRangeItems(e))),this.traversals.range)}traverseRangeItems(e){if(this.options.mergeMemberProperties){let n=[...(e.ranges||[]).map(i=>typeof i=="string"?{"@id":i,"@type":"sc:Range"}:i),...(e.canvases||[]).map(i=>typeof i=="string"?{"@id":i,"@type":"sc:Canvas"}:i),...e.members||[]];delete e.ranges,delete e.canvases,e.members=n.length?n.map(i=>this.traverseUnknown(i)):void 0}return e}traverseAnnotationList(e){let n=typeof e=="string"?{"@id":e,"@type":"sc:AnnotationList"}:e;return this.traverseType(this.traverseDescriptive(this.traverseAnnotationListItems(n)),this.traversals.annotationList)}traverseAnnotationListItems(e){return e.resources&&(e.resources=e.resources.map(n=>this.traverseAnnotation(n))),e}traverseAnnotation(e){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseAnnotationItems(e))),this.traversals.annotation)}traverseAnnotationItems(e){return e.resource&&(Array.isArray(e.resource)?e.resource=e.resource.map(n=>this.traverseContentResource(n)):e.resource=this.traverseContentResource(e.resource)),e.on,e}traverseLayer(e){return this.traverseType(this.traverseLinking(this.traverseLayerItems(e)),this.traversals.layer)}traverseLayerItems(e){return e.otherContent&&(e.otherContent=e.otherContent.map(n=>this.traverseAnnotationList(n))),e}traverseChoice(e){return this.traverseType(this.traverseChoiceItems(e),this.traversals.choice)}traverseChoiceItems(e){return e.default&&e.default!=="rdf:nil"&&(e.default=this.traverseContentResource(e.default)),e.item&&e.item!=="rdf:nil"&&(e.item=e.item.map(n=>this.traverseContentResource(n))),e}traverseService(e){return this.traverseType(this.traverseLinking(e),this.traversals.service)}traverseContentResource(e){return e["@type"]==="oa:Choice"?this.traverseChoice(e):this.traverseType(this.traverseDescriptive(this.traverseLinking(e)),this.traversals.contentResource)}traverseUnknown(e){if(!e["@type"]||typeof e=="string")return e;switch(rH(e)){case"sc:Collection":return this.traverseCollection(e);case"sc:Manifest":return this.traverseManifest(e);case"sc:Canvas":return this.traverseCanvas(e);case"sc:Sequence":return this.traverseSequence(e);case"sc:Range":return this.traverseRange(e);case"oa:Annotation":return this.traverseAnnotation(e);case"sc:AnnotationList":return this.traverseAnnotationList(e);case"sc:Layer":return this.traverseLayer(e);case"Service":return this.traverseService(e);case"oa:Choice":return this.traverseChoice(e);case"ContentResource":return this.traverseContentResource(e)}return e.profile?this.traverseService(e):e}traverseImageResource(e){let n=Array.isArray(e),i=Array.isArray(e)?e:[e],a=[];for(let r of i)typeof r=="string"?a.push(this.traverseContentResource({"@id":r,"@type":"dctypes:Image"})):a.push(this.traverseContentResource(r));return!n&&!this.options.convertPropsToArray?a[0]:a}traverseDescriptive(e){return e.thumbnail&&(e.thumbnail=this.traverseImageResource(e.thumbnail)),e.logo&&(e.logo=this.traverseImageResource(e.logo)),e}traverseOneOrMoreServices(e){let n=Array.isArray(e),i=Array.isArray(e)?e:[e],a=[];for(let r of i)a.push(this.traverseService(r));return!n&&!this.options.convertPropsToArray?a[0]:a}traverseLinking(e){return e.related&&(e.related=this.traverseOneOrManyType(e.related,this.traversals.contentResource)),e.rendering&&(e.rendering=this.traverseOneOrManyType(e.rendering,this.traversals.contentResource)),e.service&&(e.service=this.traverseOneOrMoreServices(e.service)),e.seeAlso&&(e.seeAlso=this.traverseOneOrManyType(e.seeAlso,this.traversals.contentResource)),e.within&&(typeof e.within=="string"||(e.within=this.traverseOneOrManyType(e.within,this.traversals.contentResource))),e.startCanvas&&(typeof e.startCanvas=="string"?e.startCanvas=this.traverseType({"@id":e.startCanvas,"@type":"sc:Canvas"},this.traversals.canvas):e.startCanvas&&this.traverseType(e.startCanvas,this.traversals.canvas)),e.contentLayer&&(typeof e.contentLayer=="string"?e.contentLayer=this.traverseLayer({"@id":e.contentLayer,"@type":"sc:Layer"}):e.contentLayer=this.traverseLayer(e.contentLayer)),e}traverseOneOrManyType(e,n){if(!Array.isArray(e))if(this.options.convertPropsToArray)e=[e];else return this.traverseType(e,n);return e.map(i=>this.traverseType(i,n))}traverseType(e,n){return n.reduce((i,a)=>{let r=a(i);return r===void 0&&!this.options.allowUndefinedReturn?i:r},e)}},sH=["http://iiif.io/api/image/2/level1","http://iiif.io/api/image/2/level2","http://library.stanford.edu/iiif/image-api/compliance.html#level1","http://library.stanford.edu/iiif/image-api/compliance.html#level2","http://library.stanford.edu/iiif/image-api/conformance.html#level1","http://library.stanford.edu/iiif/image-api/conformance.html#level2","http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1","http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2","http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1","http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2","http://iiif.io/api/image/1/level1.json","http://iiif.io/api/image/1/profiles/level1.json","http://iiif.io/api/image/1/level2.json","http://iiif.io/api/image/1/profiles/level2.json","http://iiif.io/api/image/2/level1.json","http://iiif.io/api/image/2/profiles/level1.json","http://iiif.io/api/image/2/level2.json","http://iiif.io/api/image/2/profiles/level2.json","level1","level2"],h1={attributionLabel:"Attribution",lang:"none",providerId:"http://example.org/provider",providerName:""};function lH(t){if(typeof t=="string")return[t];if(!t)return[];let e=Array.isArray(t)?t:[t],n=[];for(let i of e){if(typeof i=="string"){n.push(i);continue}n.push({"@language":i["@language"]||i.language,"@value":i["@value"]||i.value})}return n}function zl(t,e="none"){if(!t)return{none:[""]};let n=lH(t),i={};for(let a of n){if(typeof a=="string"){i[e]=i[e]?i[e]:[],i[e].push(a||"");continue}if(!a["@language"]){i[e]=i[e]?i[e]:[],i[e].push(a["@value"]||"");continue}let r=a["@language"];i[r]=i[r]?i[r]:[],i[r].push(a["@value"]||"")}return Object.keys(i).length===0?{none:[""]}:i}function rM(t){if(Array.isArray(t))return rM(t.find(e=>typeof e=="string"));if(dc.indexOf(t)!==-1)return"level2";if(sH.indexOf(t)!==-1)return"level1";if(c1.indexOf(t)!==-1)return"level0";if(typeof t=="string")return t}function uH(t){let e=Array.isArray(t)?t:[t];for(let n of e)switch(n){case"http://iiif.io/api/image/2/context.json":case"http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2":return"ImageService2";case"http://iiif.io/api/image/1/context.json":case"http://library.stanford.edu/iiif/image-api/1.1/context.json":return"ImageService1";case"http://iiif.io/api/annex/openannotation/context.json":return"ImageApiSelector"}}function cH(t){switch(t){case"http://iiif.io/api/image/2/level0.json":case"http://iiif.io/api/image/2/level1.json":case"http://iiif.io/api/image/2/level2.json":return"ImageService2";case"http://iiif.io/api/auth/1/kiosk":case"http://iiif.io/api/auth/1/login":case"http://iiif.io/api/auth/1/clickthrough":case"http://iiif.io/api/auth/1/external":case"http://iiif.io/api/auth/0/kiosk":case"http://iiif.io/api/auth/0/login":case"http://iiif.io/api/auth/0/clickthrough":case"http://iiif.io/api/auth/0/external":return"AuthCookieService1";case"http://iiif.io/api/auth/1/token":case"http://iiif.io/api/auth/0/token":return"AuthTokenService1";case"http://iiif.io/api/auth/1/logout":case"http://iiif.io/api/auth/0/logout":return"AuthLogoutService1";case"http://iiif.io/api/search/1/search":case"http://iiif.io/api/search/0/search":return"SearchService1";case"http://iiif.io/api/search/1/autocomplete":case"http://iiif.io/api/search/0/autocomplete":return"AutoCompleteService1"}}function eM(t){for(let e of["sc","oa","dcterms","dctypes","iiif"])if(t.startsWith(`${e}:`))return t.slice(e.length+1);return t}var dH=["Collection","Manifest","Annotation","AnnotationPage","Range","Service"];function m1(t){let e=t["@id"]||t.id,n=t["@type"]||t.type,i=t.profile||void 0,a=t["@context"]||void 0;if(i){let r=cH(i);if(r)return r}if(a){let r=uH(a);if(r)return r}if(n){if(Array.isArray(n)){if(n.indexOf("oa:CssStylesheet")!==-1)return"CssStylesheet";if(n.indexOf("cnt:ContentAsText")!==-1)return"TextualBody";n=n[0]}for(let r of["sc","oa","dcterms","dctypes","iiif"])if(n.startsWith(`${r}:`)){n=n.slice(r.length+1);break}switch(n){case"Layer":return"AnnotationCollection";case"AnnotationList":return"AnnotationPage";case"cnt:ContentAsText":return"TextualBody"}}if(n&&dH.indexOf(n)!==-1)return n;if(t.format){if(t.format.startsWith("image/"))return"Image";if(t.format.startsWith("text/")||t.format==="application/pdf")return"Text";if(t.format.startsWith("application/"))return"Dataset"}return e&&(e.endsWith(".jpg")||e.endsWith(".png")||e.endsWith(".jpeg"))?"Image":n||"unknown"}var fH=/^|["'\\>]http(s)?:\/\/(creativecommons.org|rightsstatements.org)\/[^"'\\<\n]+/gm;function hH(t){let e=t.match(fH);return e?e[0]:t}function pH(t,e="Rights/License",n="none"){let i=null,a=[],r=Array.isArray(t)?t:[t];for(let l of r){let u=l?hH(l):void 0;if(u&&(u.indexOf("creativecommons.org")!==-1||u.indexOf("rightsstatements.org")!==-1)){i=u.startsWith("https://")?`http://${u.slice(8)}`:u;continue}u&&a.push({label:{[n]:[e]},value:{[n]:[u]}})}return[i,a]}var mH=["http://iiif.io/api/presentation/2/context.json","http://iiif.io/api/image/2/context.json","http://iiif.io/api/image/1/context.json","http://library.stanford.edu/iiif/image-api/1.1/context.json","http://iiif.io/api/search/1/context.json","http://iiif.io/api/search/0/context.json","http://iiif.io/api/auth/1/context.json","http://iiif.io/api/auth/0/context.json","http://iiif.io/api/annex/openannotation/context.json"];function gH(t){if(t){let e=Array.isArray(t)?t:[t],n=[];for(let i of e)i==="http://iiif.io/api/presentation/2/context.json"&&n.push("http://iiif.io/api/presentation/3/context.json"),mH.indexOf(i)===-1&&n.push(i);if(e.length)return n.length===1?n[0]:n}}function yH(t){return t?t.map(e=>({label:zl(e.label),value:zl(e.value)})):[]}var nM=0;function oM(t,e){let n=encodeURI(t.id||t["@id"]||"").trim();return n&&e?`${n}/${e}`:n||(nM++,`http://example.org/${t["@type"]}${e?`/${e}`:""}/${nM}`)}function fo(t){let e=[...t.behavior||[]];t.viewingHint&&e.push(t.viewingHint);let n;return Array.isArray(t.motivation)?n=t.motivation.map(eM):t.motivation&&(n=eM(t.motivation)),{"@context":t["@context"]?gH(t["@context"]):void 0,id:(t["@id"]||oM(t)).trim(),type:m1(t),behavior:e.length?e:void 0,height:t.height?t.height:void 0,width:t.width?t.width:void 0,motivation:n,viewingDirection:t.viewingDirection,profile:t.profile,format:t.format?t.format:void 0,duration:void 0,timeMode:void 0}}function ho(t){let[e,n]=pH(t.license),i=[...t.metadata?yH(t.metadata):[],...n];return{rights:e,metadata:i.length?i:void 0,label:t.label?zl(t.label):void 0,requiredStatement:t.attribution?{label:zl(h1.attributionLabel),value:zl(t.attribution)}:void 0,navDate:t.navDate,summary:t.description?zl(t.description):void 0,thumbnail:vH(t.thumbnail)}}function vH(t){return t&&(Array.isArray(t)?t:[t]).map(n=>typeof n=="string"?{id:n,type:"Image"}:(n.type==="unknown"&&(n.type="Image"),n))}function bH(t){if(!t.within)return;let e=Array.isArray(t.within)?t.within:[t.within],n=[];for(let i of e)if(typeof i=="string"){if(i)switch(t["@type"]){case"sc:Manifest":n.push({id:i,type:"Collection"});break}}else i["@id"]&&n.push({id:i["@id"],type:m1(i)});return n.length?n:void 0}function fs(t){let e=t.related?Array.isArray(t.related)?t.related:[t.related]:[],n=t.contentLayer;return{provider:t.logo||e.length?[{id:h1.providerId,type:"Agent",homepage:e.length?[e[0]]:void 0,logo:t.logo?Array.isArray(t.logo)?t.logo:[t.logo]:void 0,label:zl(h1.providerName)}]:void 0,partOf:bH(t),rendering:t.rendering,seeAlso:t.seeAlso,start:t.startCanvas,service:t.service?lr(t.service):void 0,supplementary:n?[n]:void 0}}function SH(t){return{chars:t.chars,format:t.format?t.format:void 0,language:t.language}}function f1(t,e){return t?typeof t=="string"?{id:t,type:e}:typeof t?.["@id"]=="string"?{id:t["@id"],type:e}:typeof t.id=="string"?{id:t.id,type:e}:null:null}function xH(t){let e={};if(t.first){let n=f1(t.first,"Collection");n&&(e.first=n)}if((t.total||t.total===0)&&(e.total=t.total),t.prev){let n=f1(t.prev,"Collection");n&&(e.prev=n)}if(t.next){let n=f1(t.next,"Collection");n&&(e.next=n)}return e}function wH(t){let e=[];for(let n of t){let i={...n};i.items&&i.items.length===0&&delete i.items,e.push(i)}return e}function TH(t){return ur({...fo(t),...ho(t),...fs(t),...xH(t),items:wH(t.members)})}function RH(t){let e=[],n=[],i,a;for(let l of t.sequences||[])l.canvases.length&&e.push(...l.canvases),l.behavior&&n.push(...l.behavior),l.viewingDirection&&(a=l.viewingDirection),l.startCanvas&&(i=l.startCanvas);let r=fo(t);return n.length&&(r.behavior?r.behavior.push(...n):r.behavior=n),ur({...r,...ho(t),...fs(t),viewingDirection:a,start:i,items:e,structures:EH(t.structures)})}function EH(t){if(!t)return t;let e=new Map;for(let i of t)e.set(i.id,i);let n=[];for(let i of t)if(i.items){let a=i.items.map(r=>typeof r=="string"?(n.push(r),e.get(r)||r):r&&r.id?(n.push(r.id),e.get(r.id)||r):r);i.items=a}return t.filter(i=>n.indexOf(i.id)===-1)}function CH(t){return ur({...fo(t),...ho(t),...fs(t),annotations:t.otherContent&&t.otherContent.length?t.otherContent:void 0,items:t.images&&t.images.length?[{id:oM(t,"annotation-page"),type:"AnnotationPage",items:t.images}]:void 0})}function AH(t){return ur({...fo(t),...ho(t),...fs(t),items:t.resources&&t.resources.length?t.resources:void 0})}function MH(t){return!t.canvases||t.canvases.length===0?{canvases:[],behavior:[]}:{canvases:t.canvases,behavior:t.viewingHint?[t.viewingHint]:[],viewingDirection:t.viewingDirection,startCanvas:t.startCanvas}}function OH(t){function e(n){if(Array.isArray(n)){if(n.length>1)return{type:"List",items:n.map(e)};n=n[0]}if(typeof n=="string")return encodeURI(n).trim();if("@type"in n){let i;if(typeof n.full=="string")i=n.full;else if(n.full["@type"]==="dctypes:Image")i={id:n.full["@id"],type:"Image"};else if(n.full["@type"]==="sc:Canvas")i={id:n.full["@id"],type:"Canvas"};else throw Error(`Unsupported source type on annotation: ${n.full["@type"]}`);return{type:"SpecificResource",source:i,selector:p1(n.selector)}}else return encodeURI(n["@id"]).trim()}return ur({...fo(t),...ho(t),...fs(t),target:e(t.on),body:Array.isArray(t.resource)?t.resource.map(iM):iM(t.resource)})}function iM(t){return t.type==="Choice"?t:sM(t)}function sM(t){let e=t;return ur({...fo(e),...ho(e),...fs(e),...SH(e)})}function _H(t){let e=[];return t.default&&t.default!=="rdf:nil"&&e.push(t.default),t.item&&t.item!=="rdf:nil"&&e.push(...t.item),ur({...fo(t),...ho(t),items:e})}function zH(t){return ur({...fo(t),...ho(t),...fs(t),items:t.members})}function IH(t){let{"@id":e,"@type":n,"@context":i,profile:a,...r}=t,l={};return e&&(l["@id"]=e),l["@type"]=m1(t),l["@type"]==="unknown"&&(i&&i.length&&(l["@context"]=i),l["@type"]="Service"),a&&(l.profile=rM(a)),ur({...l,...r})}function NH(t){return ur({...fo(t),...ho(t),...fs(t)})}var LH=new oH({collection:[TH],manifest:[RH],canvas:[CH],annotationList:[AH],sequence:[MH],annotation:[OH],contentResource:[sM],choice:[_H],range:[zH],service:[IH],layer:[NH]});function lM(t){return t&&t["@context"]&&(t["@context"]==="http://iiif.io/api/presentation/2/context.json"||Array.isArray(t["@context"])&&t["@context"].indexOf("http://iiif.io/api/presentation/2/context.json")!==-1||t["@context"]==="http://www.shared-canvas.org/ns/context.json")||t["@context"]==="http://iiif.io/api/image/2/context.json"||t["@id"]&&t["@type"]==="sc:Collection"||t["@id"]&&t["@type"]==="sc:Manifest"?(t["@context"]||(t["@context"]="http://iiif.io/api/presentation/2/context.json"),LH.traverseUnknown(t)):t}function p1(t){if((Array.isArray(t["@type"])&&t["@type"].includes("oa:SvgSelector")||t["@type"]=="oa:SvgSelector")&&("chars"in t||"value"in t))return{type:"SvgSelector",value:"chars"in t?t.chars:t.value};if(t["@type"]==="oa:FragmentSelector")return{type:"FragmentSelector",value:t.value};if(t["@type"]==="oa:Choice")return[p1(t.default),...(Array.isArray(t.item)?t.item:[t.item]).map(p1)];if(t["@type"]=="iiif:ImageApiSelector")return{type:"ImageApiSelector",region:"region"in t?t.region:void 0,rotation:"rotation"in t?t.rotation:void 0};throw Error(`Unsupported selector type: ${t["@type"]}`)}function gc(t,e){let n=e||"unknown";if(!t)return;if(typeof t=="string")return{id:t,type:n};if(ga(t))return gc(t.source,e);let i=n&&n!=="unknown"?n:t.type||t["@type"],a=t.id||t["@id"];if(i&&i.indexOf(":")!==-1&&(i=i.split(":").pop()),a&&i)return{id:a,type:i}}var hc={},mn="iiif-parser:hasPart",ya="iiif-parser:partOf",pc="iiif-parser:isExternal",Ua="__$UNSET$__",y1="__$UNWRAP$__",Nt=[];Object.freeze(Nt),Object.freeze(hc);function dM(t){if(t===hc||Object.keys(t).length===0)return!0;for(let e in t)return!1;return!0}function yc(t,e){if(e&&e["@explicit"]){let n={},i=Object.keys(e);for(let a of i)a===ya||a==="@explicit"||(dM(e[a])?n[a]=t[a]:n[a]=e[a]);return n}return t}function v1(t,e,n){let i=gc(e);if(!i)return[void 0,void 0];let a=t.requests[i.id],r=i.type||t.mapping[i.id];if(!r||a&&a.resourceUri&&(!t.entities[r]||!t.entities[r][a.resourceUri]))return[void 0,void 0];let l=t.entities[r][a?a.resourceUri:i.id];if(i.type&&!l)return v1(t,{id:i.id},n);if(l&&l[mn]){let u=l[mn].find(h=>n?h[ya]===n.id:h[ya]===l.id);return[yc(l,u),l]}return[l,l]}var fM={id:"https://iiif-parser/annotation-page",type:"AnnotationPage",behavior:Nt,label:null,thumbnail:Nt,summary:null,requiredStatement:null,metadata:Nt,rights:null,provider:Nt,items:Nt,seeAlso:Nt,homepage:Nt,rendering:Nt,service:Nt},hM={id:"https://iiif-parser/empty-canvas",type:"Canvas",label:null,behavior:Nt,thumbnail:Nt,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:Nt,rights:null,navDate:null,provider:Nt,items:Nt,annotations:Nt,seeAlso:Nt,homepage:Nt,partOf:Nt,rendering:Nt,service:Nt,duration:0,height:0,width:0},pM={id:"https://iiif-parser/empty-collection",type:"Collection",label:null,viewingDirection:"left-to-right",behavior:Nt,thumbnail:Nt,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:Nt,rights:null,navDate:null,provider:Nt,items:Nt,annotations:Nt,seeAlso:Nt,homepage:Nt,partOf:Nt,rendering:Nt,service:Nt,services:Nt},mM={id:"https://iiif-parser/empty-manifest",type:"Manifest",annotations:Nt,behavior:Nt,homepage:Nt,items:Nt,label:null,metadata:Nt,navDate:null,provider:Nt,partOf:Nt,accompanyingCanvas:null,placeholderCanvas:null,rendering:Nt,requiredStatement:null,rights:null,seeAlso:Nt,service:Nt,services:Nt,start:null,structures:Nt,summary:null,thumbnail:Nt,viewingDirection:"left-to-right"},gM={id:"https://iiif-parser/empty-canvas",type:"Range",label:null,behavior:Nt,thumbnail:Nt,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:Nt,rights:null,navDate:null,provider:Nt,items:Nt,annotations:Nt,seeAlso:Nt,homepage:Nt,partOf:Nt,rendering:Nt,service:Nt,start:null,supplementary:null,viewingDirection:"left-to-right"},yM={id:"https://iiif-parser/empty-agent",type:"Agent",label:{},logo:Nt,seeAlso:Nt,homepage:Nt},vM={id:"https://iiif-parser/empty-service",type:"UnknownService"};function tg(t){let[e,n]=(t||"").split("#");return!n||!DH(n)?[t||"",""]:[e,n]}function DH(t){return t.includes("xywh=")||t.includes("t=")}function eg(t,e={}){if(Array.isArray(t))return eg(t[0]);if(typeof t=="string"){let[n,i]=tg(t);return i?{type:"SpecificResource",source:{id:n,type:e.typeHint||"Unknown"},selector:{type:"FragmentSelector",value:i}}:{type:"SpecificResource",source:{id:n,type:e.typeMap&&e.typeMap[n]||e.typeHint||"Unknown"}}}if(t.type==="Choice"||t.type==="List"||t.type==="Composite"||t.type==="Independents")return eg(t.items[0]);if(!t.type&&"source"in t&&(t.type="SpecificResource"),t.type==="SpecificResource"){t.source.type==="Canvas"&&t.source.partOf&&typeof t.source.partOf=="string"&&(t.source.partOf=[{id:t.source.partOf,type:"Manifest"}]);let n=typeof t.source=="string"?t.source:t.source.id,[,i]=tg(n);if(i){let a=eg(n,e);a&&(t.selector=a.selector,t.source=a.source)}return t.selector?{...t,type:"SpecificResource",source:t.source,selector:t.selector}:{...t,type:"SpecificResource",source:t.source}}if(t.id){t.type==="Canvas"&&t.partOf&&typeof t.partOf=="string"&&(t.partOf=[{id:t.partOf,type:"Manifest"}]);let[n,i]=tg(t.id);return i?{type:"SpecificResource",source:{...t,id:n},selector:{type:"FragmentSelector",value:i}}:{type:"SpecificResource",source:{...t,id:n}}}return{type:"SpecificResource",source:t}}function bM(){return{Collection:{},Manifest:{},Canvas:{},AnnotationPage:{},AnnotationCollection:{},Annotation:{},ContentResource:{},Range:{},Service:{},Selector:{},Agent:{}}}function SM(t,e){if(typeof t=="string")return{id:t,type:e};if(!t.id)throw Error(`Invalid resource does not have an ID (${JSON.stringify(t)}, ${e})`);return t}function PH(t,e){return(n,i)=>{let a=t[n]?t[n]:{};return(r,l)=>{let u=SM(r,i||n);return u&&u.id&&n?(a[u.id]=a[u.id]?ag(a[u.id],u,{parent:l.parent,isTopLevel:e.id===u.id}):ag({id:u.id,type:u.type},u,{parent:l.parent,isTopLevel:e.id===u.id}),{id:u.id,type:n==="ContentResource"?n:u.type}):u}}}function ig(t,e,n){if(!e)return t;if(Array.isArray(t)){if(!Array.isArray(e))throw Error("Cannot merge array with non-array");let i=[...t];for(let a of e)if(a["@id"]&&!a.id&&(a.id=a["@id"]),a["@type"]&&!a.type&&(a.type=a["@type"]),a!=null)if(Array.isArray(a))i.push(a);else if(typeof a=="object"&&a.id&&a.type){let r=i.findIndex(l=>l.id===a.id&&l.type===a.type);r>=0&&(i[r]=ig(i[r],a))}else t.indexOf(a)===-1&&i.push(a);return i}else if(typeof t=="object"){if(Array.isArray(e)||typeof e!="object")throw Error("Cannot merge object with non-object");let i={...t},a=[],r=[],l=Object.keys(t).filter(h=>h!==mn&&h!=="id"&&h!=="type"),u={},f={};for(let[h,d]of Object.entries(e)){if(h===mn||h==="id"||h==="type")continue;let m=i[h];m===d?r.push(h):m===Nt||!m?(a.push(h),i[h]=d):(m&&d&&(u[h]=m,f[h]=d),i[h]=ig(m,d),i[h]===u[h]&&(r.push(h),delete u[h]))}if(n&&(n.parent&&n.parent.id||n.isTopLevel)){let h=[],d={};if(n.parent?d[ya]=n.parent.id:n.isTopLevel&&(d[ya]=t.id),i[mn]&&i[mn].length){let m=!(i[mn]||[]).find(g=>g["@explicit"]),y=a.length>0||r.length!==l.length;if(m&&y)for(let g of i[mn]){let b={...g},T=Object.keys(u);if(b){b["@explicit"]=!0;for(let C of l)C!==mn&&(b[C]=hc);for(let C of T)b[C]=u[C]}h.push(b)}else h.push(...i[mn]);if(y){let g=Object.keys(f);d["@explicit"]=!0;for(let b of a)d[b]=hc;for(let b of r)d[b]=hc;for(let b of g)d[b]=f[b]}}d.id=i.id,d.type=i.type,h.push(d),i[mn]=h}return i}else if(t)return t;return e}function ag(t,e,n){if(typeof t=="string")return t;if(e.id!==t.id||e.type!==t.type){if(e.type==="ImageService3")return e;if(t.type==="ImageService3")return t;throw Error(`Can only merge entities with identical identifiers and type! ${e.type}(${e.id}) => ${t.type}(${t.id})`)}return ig({...t},e,n)}function BH(t){return(e,n)=>i=>{let{id:a,type:r}=SM(i,n||e);if(a===void 0)throw Error("Found invalid entity without an ID.");return e==="ContentResource"||e==="Service"?t[a]=e:t[a]=r,i}}function HH(t){let e=Object.assign({},t);if(e["@id"]&&(e.id=e["@id"]),e["@type"]&&(e.type=e["@type"]),e.service){let n=[];e.service=Array.isArray(e.service)?e.service:[e.service];for(let i of e.service)n.push({id:i["@id"]||i.id,type:i["@type"]||i.type});e.service=n}return Object.assign({},vM,e)}function FH(t){return e=>{t.Service=t.Service?t.Service:{};let n=e.id||e["@id"],i=HH(e);return i&&i.id&&(t.Service[i.id]?t.Service[n]=ag(t.Service[n],i):t.Service[n]=i),e}}function VH(t){let e=JSON.stringify(t),n=5381,i=e.length;for(;i;)n=n*33^e.charCodeAt(--i);let a=n>>>0,r=a.toString(16);return r.length%2?"0"+r:r}function g1(t){return e=>typeof e=="string"?{id:e,type:t}:e.id?e.type?e:{type:t,...e}:{id:`vault://${VH(e)}`,type:t,...e}}function fc(t){return e=>({...t,...e})}function Mf(t){return Array.isArray(t)?t:[t]}function UH(t){return t.body&&(t.body=Mf(t.body)),t.seeAlso&&(t.seeAlso=Mf(t.seeAlso)),t.audience&&(t.audience=Mf(t.audience)),t.accessibility&&(t.accessibility=Mf(t.accessibility)),t.motivation&&(t.motivation=Mf(t.motivation)),t}function xM(t,{typeHint:e,partOfTypeHint:n}={}){if(typeof t=="string"&&(t={id:t,type:e||"unknown"}),ga(t))return typeof t.source=="string"&&(t.source={id:t.source,type:e||"unknown"}),t.source.type==="Canvas"&&t.source.partOf&&typeof t.source.partOf=="string"&&(t.source.partOf=[{id:t.source.partOf,type:n||"Manifest"}]),t;let i,[a,r]=tg(t.id);return t.id=a,r&&r&&(i={type:"FragmentSelector",value:r}),{type:"SpecificResource",source:t,selector:i}}function qH(t){let e=Object.assign({},t);return t&&t.items&&(e.items=t.items.map(n=>typeof n=="string"||n.type==="Canvas"?xM(n):n)),e}function jH(t){let e=Object.assign({},t);return e.start?(e.start=xM(e.start,{typeHint:"Canvas"}),e):t}function kH(t){let e=Object.assign({},t);return e.target?(e.target=eg(e.target,{typeHint:"Canvas"}),e):t}function wM(t){return t}function ng(t){return t.items===void 0&&(t[pc]=!0),t}function b1(t){let e=lM(t),n=bM(),i={},a=PH(n,e),r=BH(i),l=new IS({collection:[ng,fc(pM),r("Collection"),a("Collection")],manifest:[ng,fc(mM),jH,r("Manifest"),a("Manifest")],canvas:[fc(hM),r("Canvas"),a("Canvas")],annotationPage:[ng,g1("AnnotationPage"),fc(fM),r("AnnotationPage"),a("AnnotationPage")],annotation:[g1("Annotation"),UH,kH,r("Annotation"),a("Annotation")],contentResource:[g1("ContentResource"),r("ContentResource"),a("ContentResource")],range:[fc(gM),qH,r("Range","Canvas"),a("Range","Canvas")],agent:[fc(yM),r("Agent"),a("Agent")],specificResource:[wM],service:[FH(n)]}),u=l.traverseUnknown(e);return{entities:n,resource:u,mapping:i}}function TM(t){let e={};for(let[n,i]of t){if(n===y1&&i!==Ua)return i;i!==Ua&&i!=null&&(e[n]=i)}return e}function S1(t,e,n){if(!e.type||!e.id)throw Error("Unknown entity");if(!n[e.type])throw Error(`Serializer not found for ${e.type}`);function i(a,r,l=0){let u=n[a.type];if(!u)return Ua;if(l>20)throw Error("Circular reference: "+a.id+" "+a.type);let[f,h]=v1(t,a.type?a:a.id,r)||(a.id&&a.type?a:null);if(!f)return Ua;let d=u(f,t,{parent:r,isTopLevel:e.id===a.id,fullResource:h}),m=d.next();for(;!m.done;){let y=m.value,g=Ua;if(y)if(Array.isArray(y)){let b=[];for(let T of y)b.push(i(T,a,l+1));g=b}else g=i(y,a,l+1);m=d.next(g)}return m.value===Ua?Ua:TM(m.value)}return i(e)}function mc(t,{allowSourceString:e=!0,allowString:n=!1,allowedStringType:i}={}){let a=r=>{if(e&&r&&r.source&&typeof r.source!="string"){let l=Object.keys(r.source);if(r.source.id&&r.source.type&&l.length===2)return{...r,source:r.source.id}}return r};if(t){if(t.source&&t.source.partOf)return a(t);let r=Object.keys(t);if(r.length===2&&t.type&&t.source||r.length===3&&t.type&&t.source&&r.indexOf("selector")!==-1&&!t.selector)return n&&(!i||i===t.source.type)?t.source.id:t.source.type==="ContentResource"?{type:"SpecificResource",source:t.source.id}:t.source;if(t.selector&&!Array.isArray(t.selector)&&typeof t.selector!="string"&&t.selector.type==="FragmentSelector"){let l=`${t.source.id}#${t.selector.value}`;return n?l:{id:l,type:t.source.type}}}return a(t)}function Dl(t){if(!t)return;let e=Object.keys(t);if(e.length!==0){if(e.length===1){let n=e[0];if(!n)return"";let i=(t[n]||[]).join("");return n==="@none"||n==="none"||n==="en"?i:{"@language":n,"@value":i}}return e.map(n=>({"@language":n,"@value":(t[n]||[]).join("")}))}}function RM(t){return Array.isArray(t)?t.map(e=>RM(e)):typeof t=="string"?t:t.type&&t.type==="Canvas"?t.id:t}function ms(t,e=!1){if(t)return t.length>1&&!e?t:t[0]||void 0}function GH(t){if(t){if(typeof t=="string")return{"@id":t};if("@id"in t){let e={...t};return delete e["@type"],e}return{"@context":"http://iiif.io/api/image/2/context.json","@id":t.id,profile:`http://iiif.io/api/image/2/profiles/${t.profile}.json`}}}function Il(t,e){return[["@id",t.id],["@type",e],["format",t.format],["height",t.height],["width",t.width],["viewingDirection",t.viewingDirection==="left-to-right"?void 0:t.viewingDirection],["license",t.license?t.license:void 0]]}function*Nl(t){let e=t.provider?yield t.provider[0]:void 0;return[["label",Dl(t.label)],["metadata",t.metadata&&t.metadata.length?t.metadata.map(n=>({label:Dl(n.label)||"",value:Dl(n.value)||""})):void 0],["description",Dl(t.summary)],["thumbnail",ms(yield t.thumbnail)],["navDate",t.navDate],["logo",e?ms(e.logo):void 0],["homepage",e?e.homepage:void 0],["attribution",t.requiredStatement?Dl(t.requiredStatement.value):void 0]]}function*Of(t){let e=t.start&&t.start.type&&t.start.type==="SpecificResource"?mc(t.start):t.start;return[["seeAlso",ms(yield t.seeAlso)],["service",ms((t.service||[]).map(GH))],["rendering",ms(yield t.rendering)],["startCanvas",e?e.id:void 0]]}function YH(t){return t.type==="SpecificResource"}function XH(t){return t&&t.type==="FragmentSelector"}function QH(t){if(t&&YH(t)){let e=t.id,n=t.selector?Array.isArray(t.selector)?t.selector[0]:t.selector:void 0;return XH(n)&&(e+="#"+n.value),e}return t?.id}var x1={Manifest:function*(t,e,{isTopLevel:n}){return[...n?[["@context","http://iiif.io/api/presentation/2/context.json"]]:[],...Il(t,"sc:Manifest"),...yield*Nl(t),...yield*Of(t),["sequences",[{"@id":`${t.id}/sequence0`,"@type":"sc:Sequence",canvases:yield t.items}]],["structures",yield t.structures]]},Canvas:function*(t){let e=yield t.items,n=e[0];return[...Il(t,"sc:Canvas"),...yield*Nl(t),...yield*Of(t),["images",n?[n.resources]:void 0],["annotations",t.annotations&&t.annotations.length?ms(yield t.annotations):void 0]]},AnnotationPage:function*(t){return[...Il(t,"sc:AnnotationList"),...yield*Nl(t),["resources",t.items&&t.items.length?ms(yield t.items):void 0]]},Annotation:function*(t){return[["@id",t.id],["@type","oa:Annotation"],["motivation","sc:painting"],["on",RM(t.target)],["resource",ms(yield t.body,!0)]]},ContentResource:function*(t){switch(t.type){case"Image":return[...Il(t,"dctypes:Image"),...yield*Nl(t),...yield*Of(t)];case"Text":case"Dataset":default:return[...Il(t,void 0),...yield*Nl(t)]}},AnnotationCollection:function*(t){return[["@id",t.id],["@type","sc:Layer"],["label",Dl(t.label)]]},Collection:function*(t){return[...Il(t,"sc:Collection"),...yield*Nl(t),...yield*Of(t),["members",yield*t.items]]},Range:function*(t){let e=[],n=[];if(t.items)for(let i of t.items){let a=i.type==="SpecificResource"?i.source:i;if(a){let r=yield a;e.push({"@id":QH(i),"@type":a.type,label:r?r.label:void 0,within:t.id}),a.type==="Canvas"&&n.push(a.id)}}return[...Il(t,"sc:Range"),...yield*Nl(t),...yield*Of(t),["canvases",n.length===e.length?n:void 0],["members",n.length===e.length?void 0:e]]}};function Ll(t){return[["id",t.id?.startsWith("vault://")?void 0:t.id],["type",t.type],["format",t.format],["profile",t.profile],["height",t.height||void 0],["width",t.width||void 0],["duration",t.duration||void 0],["viewingDirection",t.viewingDirection==="left-to-right"?void 0:t.viewingDirection],["behavior",t.behavior&&t.behavior.length?t.behavior:void 0],["timeMode",t.timeMode],["motivation",Array.isArray(t.motivation)?t.motivation[0]:t.motivation],[mn,Ua]]}function In(t){if(t===Ua||!t||t.length===0)return;let e=t.filter(n=>n!==Ua);if(e.length!==0)return e}function EM(t){if(t&&t.type&&t.type==="ImageService2"){let{id:e,type:n,profile:i,...a}=t,r=typeof i=="string"?i:Array.isArray(i)?i.find(l=>typeof l=="string"):"";return{"@id":e,"@type":n,profile:r?r.startsWith("http")?r:`http://iiif.io/api/image/2/${r}.json`:"http://iiif.io/api/image/2/level0.json",...a}}return t}function uM(t){if(Array.isArray(t)||(t=t?[t]:[]),!(!t||t.length===0))return t.map(EM)}function*hs(t){return[["label",t.label],["metadata",In(t.metadata)],["summary",t.summary],["requiredStatement",t.requiredStatement],["rights",Array.isArray(t.rights)?t.rights[0]||void 0:t.rights||void 0],["navDate",t.navDate],["language",t.language],["thumbnail",In(yield t.thumbnail)],["placeholderCanvas",yield t.placeholderCanvas],["accompanyingCanvas",yield t.accompanyingCanvas],["provider",In(yield t.provider)]]}function*ps(t,e){let n=[];for(let i of t.partOf||[])i.type==="Manifest"&&e.type==="Manifest"||n.push(yield i);return[["seeAlso",In(yield t.seeAlso)],["service",In(uM(t.service))],["services",In(uM(t.services))],["rendering",In(yield t.rendering)],["supplementary",In(yield t.supplementary)],["homepage",In(yield t.homepage)],["logo",In(yield t.logo)],["partOf",In(n)],["start",t.start?mc(t.start):t.start]]}var w1={Manifest:function*(t,e,{isTopLevel:n}){if(!n)return[...Ll(t),...yield*hs(t),["navPlace",t.navPlace]];let i="http://iiif.io/api/presentation/3/context.json";return(t.navPlace||cM(t))&&(i=["http://iiif.io/api/presentation/3/context.json","http://iiif.io/api/extension/navplace/context.json"]),[["@context",t["@context"]?t["@context"]:i],...Ll(t),...yield*hs(t),...yield*ps(t),["items",yield t.items],["structures",In(yield t.structures)],["annotations",In(yield t.annotations)],["navPlace",t.navPlace]]},Canvas:function*(t,e,{parent:n}){return n&&n.type!=="Manifest"&&n.type!=="Canvas"?[["id",t.id]]:[...Ll(t),...yield*hs(t),...yield*ps(t,n),["items",yield t.items],["annotations",In(yield t.annotations)],["navPlace",t.navPlace]]},Agent:function*(t){return[["id",t.id],["type","Agent"],["label",t.label],...yield*ps(t)]},AnnotationPage:function*(t){let e=Object.entries(t).map(([i,a])=>[i,Array.isArray(a)?In(a):a]).filter(([i,a])=>i!=="items"&&i!=="id"&&i!==mn&&i!==ya&&i!==pc),n=yield t.items;return[["id",t.id?.startsWith("vault://")?void 0:t.id],...e,...yield*ps(t),["items",n.length||t[pc]===!1?n:Ua]]},Service:function*(t){return[[y1,EM(t)]]},Annotation:function*(t){let e=Object.entries(t).map(([i,a])=>i==="motivation"?[i,Array.isArray(a)?a[0]:a]:i==="target"?[i,mc(a,{allowString:!0,allowSourceString:!0,allowedStringType:"Canvas"})]:[i,Array.isArray(a)?In(a):a]).filter(([i])=>i!=="body"&&i!==mn&&i!==pc),n;if(Array.isArray(t.body)){let i=[];for(let a of t.body)if(a&&ga(a)){let r={...a};a.source.type==="Canvas"?r.source=a.source:r.source=yield a.source,i.push(mc(r,{allowSourceString:!0}))}else i.push(yield a);n=i}else t.body&&ga(t.body)?(n={...t.body},n.source=yield t.body.source):n=yield t.body;return[...e,...yield*hs(t),...yield*ps(t),["body",n.length===1?n[0]:n]]},ContentResource:function*(t){return KH([...Ll(t),...yield*hs(t),...yield*ps(t),["annotations",In(yield t.annotations)],["items",In(yield t.items)]],t)},AnnotationCollection:function*(t){return[["id",t.id],["type","AnnotationCollection"],["label",t.label]]},Collection:function*(t,e,{isTopLevel:n}){if(n){let i="http://iiif.io/api/presentation/3/context.json";return(t.navPlace||cM(t))&&(i=["http://iiif.io/api/extension/navplace/context.json","http://iiif.io/api/presentation/3/context.json"]),[["@context",i],...Ll(t),...yield*hs(t),...yield*ps(t),["items",In(yield t.items)],["navPlace",t.navPlace]]}return[...Ll(t),...yield*hs(t),["navPlace",t.navPlace]]},Range:function*(t){let e=[];for(let n of t.items)n.type==="Range"?e.push(yield n):n&&n.type==="SpecificResource"?e.push(mc(n)):e.push(n);return[...Ll(t),...yield*hs(t),...yield*ps(t),["items",e],["annotations",In(yield t.annotations)],["navPlace",t.navPlace]]}};function KH(t,e){let n=Object.keys(e),i=t.map(([a])=>a);for(let a of n)a===mn||a===pc||i.indexOf(a)===-1&&e[a]!==void 0&&t.push([a,e[a]]);return t}function cM(t){if(!t.items||!Array.isArray(t.items))return!1;for(let e of t.items)if(e.navPlace)return!0;return!1}function CM(t,e){return ga(t)?typeof t.source=="string"?{...t,source:e}:{...t,source:{...t.source||{},id:e}}:{...t,id:e}}var Xe=function(t){return function(){let e={type:t,getType:()=>t,toString:()=>t};return(n,i)=>({...e,...n!==void 0&&{payload:n},...i!==void 0&&{meta:i}})}},rg="@iiif/IMPORT_ENTITIES",og="@iiif/MODIFY_ENTITY_FIELD",sg="@iiif/REORDER_ENTITY_FIELD",lg="@iiif/MOVE_ENTITY",_f="@iiif/MOVE_ENTITIES",ug="@iiif/ADD_REFERENCE",zf="@iiif/UPDATE_REFERENCE",cg="@iiif/CHANGE_REFERENCE_IDENTIFIER",dg="@iiif/REMOVE_REFERENCE",fg="@iiif/ADD_METADATA",hg="@iiif/REMOVE_METADATA",If="@iiif/UPDATE_METADATA",pg="@iiif/REORDER_METADATA",mg=Xe(rg)(),AM=Xe(og)(),MM=Xe(sg)(),OM=Xe(lg)(),_M=Xe(_f)(),zM=Xe(ug)(),IM=Xe(dg)(),NM=Xe(zf)(),LM=Xe(cg)(),DM=Xe(fg)(),PM=Xe(If)(),BM=Xe(hg)(),HM=Xe(pg)(),Pl={importEntities:mg,modifyEntityField:AM,reorderEntityField:MM,addReference:zM,removeReference:IM,updateReference:NM,changeReferenceIdentifier:LM,addMetadata:DM,removeMetadata:BM,updateMetadata:PM,reorderMetadata:HM,moveEntity:OM,moveEntities:_M},gg="@iiif/ADD_MAPPING",yg="@iiif/ADD_MAPPINGS",T1=Xe(gg)(),R1=Xe(yg)();var vc="RESOURCE_ERROR",Nf="RESOURCE_LOADING",bc="RESOURCE_READY",vg="@iiif/REQUEST_RESOURCE",bg="@iiif/REQUEST_ERROR",Sg="@iiif/REQUEST_MISMATCH",xg="@iiif/REQUEST_COMPLETE",wg="@iiif/REQUEST_OFFLINE_RESOURCE",E1=Xe(vg)(),Lf=Xe(bg)(),C1=Xe(Sg)(),A1=Xe(xg)(),ZH=Xe(wg)();var Sc="@iiif/BATCH",Tg="@iiif/BATCH_IMPORT",xc=Xe(Sc)(),WH=Xe(Tg)();var M1="@iiif/SET_META_VALUE",O1="@iiif/SET_META_VALUE_DYNAMIC",_1="@iiif/UNSET_META_VALUE",z1={setMetaValue:Xe(M1)(),setMetaValueDynamic:Xe(O1)(),unsetMetaValue:Xe(_1)()};var JH=(t,e)=>{let{entities:n,resource:i,mapping:a}=b1(e);if(i.id===void 0)return[Lf({id:t,message:"ID is not defined in resource."})];let r=[mg({entities:n}),R1({mapping:a})];return i.id!==t&&(r.push(T1({id:t,type:i.type})),r.push(C1({requestId:t,actualId:i.id}))),r.push(A1({id:t})),r},FM=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function $H(t,e){return!!(t===e||FM(t)&&FM(e))}function N1(t,e){if(!Array.isArray(t)||!Array.isArray(e))return t===e;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(!$H(t[n],e[n]))return!1;return!0}function I1(t,e,n){let i=t.iiif.requests[e],a=t.iiif.mapping[e];if(!a||!t.iiif.entities[a][i.resourceUri])return;let r=t.iiif.entities[a][i.resourceUri];return r&&r[mn]?yc(r,r[mn].find(l=>n?l[ya]===n.id:l[ya]===r.id)):r}function tF(t){return t&&typeof t.then=="function"}function L1(t,e,{waitTimeout:n=30}={}){return(i,a,r)=>{let l=t.getStore(),u=l.getState(),f=u.iiif.requests[i];if(f){if(f.loadingState===bc){let d=I1(u,i);if(d)return d}switch(f.loadingState){case vc:break;case Nf:return(async()=>{let d,m=!1;try{let y=await Promise.race([new Promise((g,b)=>{m||(d=l.subscribe(()=>{let T=l.getState();if(T.iiif.requests[i].loadingState===vc){b();return}if(T.iiif.requests[i].loadingState===bc){let C=I1(T,i);C?g(C):b()}}))}),new Promise((g,b)=>setTimeout(()=>{m=!0,b()},n*60*1e3))]);if(d&&d(),y)return y}catch{d&&d()}})()}}t.dispatch(E1({id:i}));let h=d=>{if(!d)return;!d.id&&!d["@id"]&&(d["@type"]&&(d["@id"]=i),d.id=i);let m=JH(i,d);return t.dispatch(xc({actions:m})),I1(l.getState(),i)};try{let d=e(i,a);return tF(d)?(async()=>{try{let m=await d;return r&&(m=r(m)),h(m)}catch(m){throw t.dispatch(Lf({id:i,message:m.toString()})),m}})():h(r?r(d):d)}catch(d){throw t.dispatch(Lf({id:i,message:d.toString()})),d}}}function D1(){return{Collection:{},Manifest:{},Canvas:{},AnnotationPage:{},AnnotationCollection:{},Annotation:{},ContentResource:{},Range:{},Service:{},Selector:{},Agent:{}}}var wc={},eF=(t,e)=>(n,i,a)=>(a.dispatch=r=>(n(l=>t(l,r),!1,r),r),a.dispatchFromDevtools=!0,{dispatch:(...r)=>a.dispatch(...r),...e}),B1=new Map,Rg=t=>{let e=B1.get(t);return e?Object.fromEntries(Object.entries(e.stores).map(([n,i])=>[n,i.getState()])):{}},nF=(t,e,n)=>{if(t===void 0)return{type:"untracked",connection:e.connect(n)};let i=B1.get(n.name);if(i)return{type:"tracked",store:t,...i};let a={connection:e.connect(n),stores:{}};return B1.set(n.name,a),{type:"tracked",store:t,...a}},iF=(t,e={})=>(n,i,a)=>{let{enabled:r,anonymousActionType:l,store:u,...f}=e,h;try{h=(r??(wc.env?wc.env.MODE:void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!h)return(wc.env?wc.env.MODE:void 0)!=="production"&&r&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),t(n,i,a);let{connection:d,...m}=nF(u,h,f),y=!0;a.setState=(T,C,x)=>{let w=n(T,C);if(!y)return w;let R=x===void 0?{type:l||"anonymous"}:typeof x=="string"?{type:x}:x;return u===void 0?(d?.send(R,i()),w):(d?.send({...R,type:`${u}/${R.type}`},{...Rg(f.name),[u]:a.getState()}),w)};let g=(...T)=>{let C=y;y=!1,n(...T),y=C},b=t(a.setState,i,a);if(m.type==="untracked"?d?.init(b):(m.stores[m.store]=a,d?.init(Object.fromEntries(Object.entries(m.stores).map(([T,C])=>[T,T===m.store?b:C.getState()])))),a.dispatchFromDevtools&&typeof a.dispatch=="function"){let T=!1,C=a.dispatch;a.dispatch=(...x)=>{(wc.env?wc.env.MODE:void 0)!=="production"&&x[0].type==="__setState"&&!T&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),T=!0),C(...x)}}return d.subscribe(T=>{switch(T.type){case"ACTION":if(typeof T.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return P1(T.payload,C=>{if(C.type==="__setState"){if(u===void 0){g(C.state);return}Object.keys(C.state).length!==1&&console.error(`
1
+ "use strict";var ReactIIIFVault=(()=>{var uR=Object.create;var Cc=Object.defineProperty;var dR=Object.getOwnPropertyDescriptor;var hR=Object.getOwnPropertyNames;var fR=Object.getPrototypeOf,pR=Object.prototype.hasOwnProperty;var Yi=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),mR=(e,t)=>{for(var i in t)Cc(e,i,{get:t[i],enumerable:!0})},uy=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of hR(t))!pR.call(e,r)&&r!==i&&Cc(e,r,{get:()=>t[r],enumerable:!(n=dR(t,r))||n.enumerable});return e};var P=(e,t,i)=>(i=e!=null?uR(fR(e)):{},uy(t||!e||!e.__esModule?Cc(i,"default",{value:e,enumerable:!0}):i,e)),gR=e=>uy(Cc({},"__esModule",{value:!0}),e);var Z=Yi((UO,Ay)=>{"use strict";Ay.exports=React});var Ey=Yi(Lc=>{"use strict";var QR=Symbol.for("react.transitional.element"),JR=Symbol.for("react.fragment");function Iy(e,t,i){var n=null;if(i!==void 0&&(n=""+i),t.key!==void 0&&(n=""+t.key),"key"in t){i={};for(var r in t)r!=="key"&&(i[r]=t[r])}else i=t;return t=i.ref,{$$typeof:QR,type:e,key:n,ref:t!==void 0?t:null,props:i}}Lc.Fragment=JR;Lc.jsx=Iy;Lc.jsxs=Iy});var D=Yi((GO,My)=>{"use strict";My.exports=Ey()});var Pb=Yi(Tb=>{"use strict";var ys=Z();function mP(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var gP=typeof Object.is=="function"?Object.is:mP,yP=ys.useState,vP=ys.useEffect,bP=ys.useLayoutEffect,xP=ys.useDebugValue;function wP(e,t){var i=t(),n=yP({inst:{value:i,getSnapshot:t}}),r=n[0].inst,o=n[1];return bP(function(){r.value=i,r.getSnapshot=t,yp(r)&&o({inst:r})},[e,i,t]),vP(function(){return yp(r)&&o({inst:r}),e(function(){yp(r)&&o({inst:r})})},[e]),xP(i),i}function yp(e){var t=e.getSnapshot;e=e.value;try{var i=t();return!gP(e,i)}catch{return!0}}function SP(e,t){return t()}var RP=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?SP:wP;Tb.useSyncExternalStore=ys.useSyncExternalStore!==void 0?ys.useSyncExternalStore:RP});var Ib=Yi((A_,Ab)=>{"use strict";Ab.exports=Pb()});var Mb=Yi(Eb=>{"use strict";var Ou=Z(),CP=Ib();function TP(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var PP=typeof Object.is=="function"?Object.is:TP,AP=CP.useSyncExternalStore,IP=Ou.useRef,EP=Ou.useEffect,MP=Ou.useMemo,kP=Ou.useDebugValue;Eb.useSyncExternalStoreWithSelector=function(e,t,i,n,r){var o=IP(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=MP(function(){function c(p){if(!u){if(u=!0,l=p,p=n(p),r!==void 0&&s.hasValue){var f=s.value;if(r(f,p))return d=f}return d=p}if(f=d,PP(l,p))return f;var m=n(p);return r!==void 0&&r(f,m)?f:(l=p,d=m)}var u=!1,l,d,h=i===void 0?null:i;return[function(){return c(t())},h===null?void 0:function(){return c(h())}]},[t,i,n,r]);var a=AP(e,o[0],o[1]);return EP(function(){s.hasValue=!0,s.value=a},[a]),kP(a),a}});var Ob=Yi((E_,kb)=>{"use strict";kb.exports=Mb()});var y0=Yi((cN,g0)=>{"use strict";g0.exports=ReactReconciler});var B0=Yi((SN,z0)=>{"use strict";z0.exports=ReactDOM});var zs=Yi((RN,V0)=>{"use strict";V0.exports=ReactDOM});var Z1=Yi((h4,X1)=>{"use strict";(()=>{var e={296:(r,o,s)=>{var a=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,l=/^0o[0-7]+$/i,d=parseInt,h=typeof s.g=="object"&&s.g&&s.g.Object===Object&&s.g,p=typeof self=="object"&&self&&self.Object===Object&&self,f=h||p||Function("return this")(),m=Object.prototype.toString,g=Math.max,y=Math.min,x=function(){return f.Date.now()};function w(v){var S=typeof v;return!!v&&(S=="object"||S=="function")}function R(v){if(typeof v=="number")return v;if(function(T){return typeof T=="symbol"||function(I){return!!I&&typeof I=="object"}(T)&&m.call(T)=="[object Symbol]"}(v))return NaN;if(w(v)){var S=typeof v.valueOf=="function"?v.valueOf():v;v=w(S)?S+"":S}if(typeof v!="string")return v===0?v:+v;v=v.replace(a,"");var C=u.test(v);return C||l.test(v)?d(v.slice(2),C?2:8):c.test(v)?NaN:+v}r.exports=function(v,S,C){var T,I,E,V,Y,Q,z=0,O=!1,G=!1,ee=!0;if(typeof v!="function")throw new TypeError("Expected a function");function K(_e){var ze=T,ie=I;return T=I=void 0,z=_e,V=v.apply(ie,ze)}function ne(_e){var ze=_e-Q;return Q===void 0||ze>=S||ze<0||G&&_e-z>=E}function oe(){var _e=x();if(ne(_e))return we(_e);Y=setTimeout(oe,function(ze){var ie=S-(ze-Q);return G?y(ie,E-(ze-z)):ie}(_e))}function we(_e){return Y=void 0,ee&&T?K(_e):(T=I=void 0,V)}function ae(){var _e=x(),ze=ne(_e);if(T=arguments,I=this,Q=_e,ze){if(Y===void 0)return function(ie){return z=ie,Y=setTimeout(oe,S),O?K(ie):V}(Q);if(G)return Y=setTimeout(oe,S),K(Q)}return Y===void 0&&(Y=setTimeout(oe,S)),V}return S=R(S)||0,w(C)&&(O=!!C.leading,E=(G="maxWait"in C)?g(R(C.maxWait)||0,S):E,ee="trailing"in C?!!C.trailing:ee),ae.cancel=function(){Y!==void 0&&clearTimeout(Y),z=0,T=Q=I=Y=void 0},ae.flush=function(){return Y===void 0?V:we(x())},ae}},96:(r,o,s)=>{var a="Expected a function",c=NaN,u="[object Symbol]",l=/^\s+|\s+$/g,d=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,p=/^0o[0-7]+$/i,f=parseInt,m=typeof s.g=="object"&&s.g&&s.g.Object===Object&&s.g,g=typeof self=="object"&&self&&self.Object===Object&&self,y=m||g||Function("return this")(),x=Object.prototype.toString,w=Math.max,R=Math.min,v=function(){return y.Date.now()};function S(T){var I=typeof T;return!!T&&(I=="object"||I=="function")}function C(T){if(typeof T=="number")return T;if(function(V){return typeof V=="symbol"||function(Y){return!!Y&&typeof Y=="object"}(V)&&x.call(V)==u}(T))return c;if(S(T)){var I=typeof T.valueOf=="function"?T.valueOf():T;T=S(I)?I+"":I}if(typeof T!="string")return T===0?T:+T;T=T.replace(l,"");var E=h.test(T);return E||p.test(T)?f(T.slice(2),E?2:8):d.test(T)?c:+T}r.exports=function(T,I,E){var V=!0,Y=!0;if(typeof T!="function")throw new TypeError(a);return S(E)&&(V="leading"in E?!!E.leading:V,Y="trailing"in E?!!E.trailing:Y),function(Q,z,O){var G,ee,K,ne,oe,we,ae=0,_e=!1,ze=!1,ie=!0;if(typeof Q!="function")throw new TypeError(a);function Re(Me){var it=G,Pe=ee;return G=ee=void 0,ae=Me,ne=Q.apply(Pe,it)}function Be(Me){var it=Me-we;return we===void 0||it>=z||it<0||ze&&Me-ae>=K}function Le(){var Me=v();if(Be(Me))return Qe(Me);oe=setTimeout(Le,function(it){var Pe=z-(it-we);return ze?R(Pe,K-(it-ae)):Pe}(Me))}function Qe(Me){return oe=void 0,ie&&G?Re(Me):(G=ee=void 0,ne)}function Ge(){var Me=v(),it=Be(Me);if(G=arguments,ee=this,we=Me,it){if(oe===void 0)return function(Pe){return ae=Pe,oe=setTimeout(Le,z),_e?Re(Pe):ne}(we);if(ze)return oe=setTimeout(Le,z),Re(we)}return oe===void 0&&(oe=setTimeout(Le,z)),ne}return z=C(z)||0,S(O)&&(_e=!!O.leading,K=(ze="maxWait"in O)?w(C(O.maxWait)||0,z):K,ie="trailing"in O?!!O.trailing:ie),Ge.cancel=function(){oe!==void 0&&clearTimeout(oe),ae=0,G=we=ee=oe=void 0},Ge.flush=function(){return oe===void 0?ne:Qe(v())},Ge}(T,I,{leading:V,maxWait:I,trailing:Y})}},703:(r,o,s)=>{"use strict";var a=s(414);function c(){}function u(){}u.resetWarningCache=c,r.exports=function(){function l(p,f,m,g,y,x){if(x!==a){var w=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw w.name="Invariant Violation",w}}function d(){return l}l.isRequired=l;var h={array:l,bigint:l,bool:l,func:l,number:l,object:l,string:l,symbol:l,any:l,arrayOf:d,element:l,elementType:l,instanceOf:d,node:l,objectOf:d,oneOf:d,oneOfType:d,shape:d,exact:d,checkPropTypes:u,resetWarningCache:c};return h.PropTypes=h,h}},697:(r,o,s)=>{r.exports=s(703)()},414:r=>{"use strict";r.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},t={};function i(r){var o=t[r];if(o!==void 0)return o.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,i),s.exports}i.n=r=>{var o=r&&r.__esModule?()=>r.default:()=>r;return i.d(o,{a:o}),o},i.d=(r,o)=>{for(var s in o)i.o(o,s)&&!i.o(r,s)&&Object.defineProperty(r,s,{enumerable:!0,get:o[s]})},i.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),i.o=(r,o)=>Object.prototype.hasOwnProperty.call(r,o),i.r=r=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})};var n={};(()=>{"use strict";i.r(n),i.d(n,{LazyLoadComponent:()=>vt,LazyLoadImage:()=>ue,trackWindowScroll:()=>we});let r=Z();var o=i.n(r),s=i(697);let a=zs();var c=i.n(a);function u(){return typeof window<"u"&&"IntersectionObserver"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype}function l(N){return l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},l(N)}function d(N,k){var H=Object.keys(N);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(N);k&&(X=X.filter(function(ge){return Object.getOwnPropertyDescriptor(N,ge).enumerable})),H.push.apply(H,X)}return H}function h(N,k,H){return(k=f(k))in N?Object.defineProperty(N,k,{value:H,enumerable:!0,configurable:!0,writable:!0}):N[k]=H,N}function p(N,k){for(var H=0;H<k.length;H++){var X=k[H];X.enumerable=X.enumerable||!1,X.configurable=!0,"value"in X&&(X.writable=!0),Object.defineProperty(N,f(X.key),X)}}function f(N){var k=function(H,X){if(l(H)!=="object"||H===null)return H;var ge=H[Symbol.toPrimitive];if(ge!==void 0){var Ee=ge.call(H,"string");if(l(Ee)!=="object")return Ee;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(H)}(N);return l(k)==="symbol"?k:String(k)}function m(N,k){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(H,X){return H.__proto__=X,H},m(N,k)}function g(N){return g=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},g(N)}var y=function(N){N.forEach(function(k){k.isIntersecting&&k.target.onVisible()})},x={},w=function(N){(function(_,j){if(typeof j!="function"&&j!==null)throw new TypeError("Super expression must either be null or a function");_.prototype=Object.create(j&&j.prototype,{constructor:{value:_,writable:!0,configurable:!0}}),Object.defineProperty(_,"prototype",{writable:!1}),j&&m(_,j)})(Ie,N);var k,H,X,ge,Ee=(X=Ie,ge=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var _,j=g(X);if(ge){var pe=g(this).constructor;_=Reflect.construct(j,arguments,pe)}else _=j.apply(this,arguments);return function(se,de){if(de&&(l(de)==="object"||typeof de=="function"))return de;if(de!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Ce){if(Ce===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ce}(se)}(this,_)});function Ie(_){var j;if(function(se,de){if(!(se instanceof de))throw new TypeError("Cannot call a class as a function")}(this,Ie),(j=Ee.call(this,_)).supportsObserver=!_.scrollPosition&&_.useIntersectionObserver&&u(),j.supportsObserver){var pe=_.threshold;j.observer=function(se){return x[se]=x[se]||new IntersectionObserver(y,{rootMargin:se+"px"}),x[se]}(pe)}return j}return k=Ie,H=[{key:"componentDidMount",value:function(){this.placeholder&&this.observer&&(this.placeholder.onVisible=this.props.onVisible,this.observer.observe(this.placeholder)),this.supportsObserver||this.updateVisibility()}},{key:"componentWillUnmount",value:function(){this.observer&&this.placeholder&&this.observer.unobserve(this.placeholder)}},{key:"componentDidUpdate",value:function(){this.supportsObserver||this.updateVisibility()}},{key:"getPlaceholderBoundingBox",value:function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props.scrollPosition,j=this.placeholder.getBoundingClientRect(),pe=c().findDOMNode(this.placeholder).style,se=parseInt(pe.getPropertyValue("margin-left"),10)||0,de=parseInt(pe.getPropertyValue("margin-top"),10)||0;return{bottom:_.y+j.bottom+de,left:_.x+j.left+se,right:_.x+j.right+se,top:_.y+j.top+de}}},{key:"isPlaceholderInViewport",value:function(){if(typeof window>"u"||!this.placeholder)return!1;var _=this.props,j=_.scrollPosition,pe=_.threshold,se=this.getPlaceholderBoundingBox(j),de=j.y+window.innerHeight,Ce=j.x,Ke=j.x+window.innerWidth,B=j.y;return B-pe<=se.bottom&&de+pe>=se.top&&Ce-pe<=se.right&&Ke+pe>=se.left}},{key:"updateVisibility",value:function(){this.isPlaceholderInViewport()&&this.props.onVisible()}},{key:"render",value:function(){var _=this,j=this.props,pe=j.className,se=j.height,de=j.placeholder,Ce=j.style,Ke=j.width;if(de&&typeof de.type!="function")return o().cloneElement(de,{ref:function(U){return _.placeholder=U}});var B=function(U){for(var he=1;he<arguments.length;he++){var M=arguments[he]!=null?arguments[he]:{};he%2?d(Object(M),!0).forEach(function(le){h(U,le,M[le])}):Object.getOwnPropertyDescriptors?Object.defineProperties(U,Object.getOwnPropertyDescriptors(M)):d(Object(M)).forEach(function(le){Object.defineProperty(U,le,Object.getOwnPropertyDescriptor(M,le))})}return U}({display:"inline-block"},Ce);return Ke!==void 0&&(B.width=Ke),se!==void 0&&(B.height=se),o().createElement("span",{className:pe,ref:function(U){return _.placeholder=U},style:B},de)}}],H&&p(k.prototype,H),Object.defineProperty(k,"prototype",{writable:!1}),Ie}(o().Component);w.propTypes={onVisible:s.PropTypes.func.isRequired,className:s.PropTypes.string,height:s.PropTypes.oneOfType([s.PropTypes.number,s.PropTypes.string]),placeholder:s.PropTypes.element,threshold:s.PropTypes.number,useIntersectionObserver:s.PropTypes.bool,scrollPosition:s.PropTypes.shape({x:s.PropTypes.number.isRequired,y:s.PropTypes.number.isRequired}),width:s.PropTypes.oneOfType([s.PropTypes.number,s.PropTypes.string])},w.defaultProps={className:"",placeholder:null,threshold:100,useIntersectionObserver:!0};let R=w;var v=i(296),S=i.n(v),C=i(96),T=i.n(C),I=function(N){var k=getComputedStyle(N,null);return k.getPropertyValue("overflow")+k.getPropertyValue("overflow-y")+k.getPropertyValue("overflow-x")};let E=function(N){if(!(N instanceof HTMLElement))return window;for(var k=N;k&&k instanceof HTMLElement;){if(/(scroll|auto)/.test(I(k)))return k;k=k.parentNode}return window};function V(N){return V=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},V(N)}var Y=["delayMethod","delayTime"];function Q(){return Q=Object.assign?Object.assign.bind():function(N){for(var k=1;k<arguments.length;k++){var H=arguments[k];for(var X in H)Object.prototype.hasOwnProperty.call(H,X)&&(N[X]=H[X])}return N},Q.apply(this,arguments)}function z(N,k){for(var H=0;H<k.length;H++){var X=k[H];X.enumerable=X.enumerable||!1,X.configurable=!0,"value"in X&&(X.writable=!0),Object.defineProperty(N,(ge=function(Ee,Ie){if(V(Ee)!=="object"||Ee===null)return Ee;var _=Ee[Symbol.toPrimitive];if(_!==void 0){var j=_.call(Ee,"string");if(V(j)!=="object")return j;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(Ee)}(X.key),V(ge)==="symbol"?ge:String(ge)),X)}var ge}function O(N,k){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(H,X){return H.__proto__=X,H},O(N,k)}function G(N,k){if(k&&(V(k)==="object"||typeof k=="function"))return k;if(k!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ee(N)}function ee(N){if(N===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return N}function K(N){return K=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},K(N)}var ne=function(){return typeof window>"u"?0:window.scrollX||window.pageXOffset},oe=function(){return typeof window>"u"?0:window.scrollY||window.pageYOffset};let we=function(N){var k=function(H){(function(pe,se){if(typeof se!="function"&&se!==null)throw new TypeError("Super expression must either be null or a function");pe.prototype=Object.create(se&&se.prototype,{constructor:{value:pe,writable:!0,configurable:!0}}),Object.defineProperty(pe,"prototype",{writable:!1}),se&&O(pe,se)})(j,H);var X,ge,Ee,Ie,_=(Ee=j,Ie=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var pe,se=K(Ee);if(Ie){var de=K(this).constructor;pe=Reflect.construct(se,arguments,de)}else pe=se.apply(this,arguments);return G(this,pe)});function j(pe){var se;if(function(Ce,Ke){if(!(Ce instanceof Ke))throw new TypeError("Cannot call a class as a function")}(this,j),(se=_.call(this,pe)).useIntersectionObserver=pe.useIntersectionObserver&&u(),se.useIntersectionObserver)return G(se);var de=se.onChangeScroll.bind(ee(se));return pe.delayMethod==="debounce"?se.delayedScroll=S()(de,pe.delayTime):pe.delayMethod==="throttle"&&(se.delayedScroll=T()(de,pe.delayTime)),se.state={scrollPosition:{x:ne(),y:oe()}},se.baseComponentRef=o().createRef(),se}return X=j,(ge=[{key:"componentDidMount",value:function(){this.addListeners()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"componentDidUpdate",value:function(){typeof window>"u"||this.useIntersectionObserver||E(c().findDOMNode(this.baseComponentRef.current))!==this.scrollElement&&(this.removeListeners(),this.addListeners())}},{key:"addListeners",value:function(){typeof window>"u"||this.useIntersectionObserver||(this.scrollElement=E(c().findDOMNode(this.baseComponentRef.current)),this.scrollElement.addEventListener("scroll",this.delayedScroll,{passive:!0}),window.addEventListener("resize",this.delayedScroll,{passive:!0}),this.scrollElement!==window&&window.addEventListener("scroll",this.delayedScroll,{passive:!0}))}},{key:"removeListeners",value:function(){typeof window>"u"||this.useIntersectionObserver||(this.scrollElement.removeEventListener("scroll",this.delayedScroll),window.removeEventListener("resize",this.delayedScroll),this.scrollElement!==window&&window.removeEventListener("scroll",this.delayedScroll))}},{key:"onChangeScroll",value:function(){this.useIntersectionObserver||this.setState({scrollPosition:{x:ne(),y:oe()}})}},{key:"render",value:function(){var pe=this.props,se=(pe.delayMethod,pe.delayTime,function(Ce,Ke){if(Ce==null)return{};var B,U,he=function(le,Te){if(le==null)return{};var lt,rt,ot={},st=Object.keys(le);for(rt=0;rt<st.length;rt++)lt=st[rt],Te.indexOf(lt)>=0||(ot[lt]=le[lt]);return ot}(Ce,Ke);if(Object.getOwnPropertySymbols){var M=Object.getOwnPropertySymbols(Ce);for(U=0;U<M.length;U++)B=M[U],Ke.indexOf(B)>=0||Object.prototype.propertyIsEnumerable.call(Ce,B)&&(he[B]=Ce[B])}return he}(pe,Y)),de=this.useIntersectionObserver?null:this.state.scrollPosition;return o().createElement(N,Q({forwardRef:this.baseComponentRef,scrollPosition:de},se))}}])&&z(X.prototype,ge),Object.defineProperty(X,"prototype",{writable:!1}),j}(o().Component);return k.propTypes={delayMethod:s.PropTypes.oneOf(["debounce","throttle"]),delayTime:s.PropTypes.number,useIntersectionObserver:s.PropTypes.bool},k.defaultProps={delayMethod:"throttle",delayTime:300,useIntersectionObserver:!0},k};function ae(N){return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},ae(N)}function _e(N,k){for(var H=0;H<k.length;H++){var X=k[H];X.enumerable=X.enumerable||!1,X.configurable=!0,"value"in X&&(X.writable=!0),Object.defineProperty(N,(ge=function(Ee,Ie){if(ae(Ee)!=="object"||Ee===null)return Ee;var _=Ee[Symbol.toPrimitive];if(_!==void 0){var j=_.call(Ee,"string");if(ae(j)!=="object")return j;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(Ee)}(X.key),ae(ge)==="symbol"?ge:String(ge)),X)}var ge}function ze(N,k){return ze=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(H,X){return H.__proto__=X,H},ze(N,k)}function ie(N){return ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},ie(N)}var Re=function(N){(function(_,j){if(typeof j!="function"&&j!==null)throw new TypeError("Super expression must either be null or a function");_.prototype=Object.create(j&&j.prototype,{constructor:{value:_,writable:!0,configurable:!0}}),Object.defineProperty(_,"prototype",{writable:!1}),j&&ze(_,j)})(Ie,N);var k,H,X,ge,Ee=(X=Ie,ge=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var _,j=ie(X);if(ge){var pe=ie(this).constructor;_=Reflect.construct(j,arguments,pe)}else _=j.apply(this,arguments);return function(se,de){if(de&&(ae(de)==="object"||typeof de=="function"))return de;if(de!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Ce){if(Ce===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ce}(se)}(this,_)});function Ie(_){return function(j,pe){if(!(j instanceof pe))throw new TypeError("Cannot call a class as a function")}(this,Ie),Ee.call(this,_)}return k=Ie,(H=[{key:"render",value:function(){return o().createElement(R,this.props)}}])&&_e(k.prototype,H),Object.defineProperty(k,"prototype",{writable:!1}),Ie}(o().Component);let Be=we(Re);function Le(N){return Le=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},Le(N)}function Qe(N,k){for(var H=0;H<k.length;H++){var X=k[H];X.enumerable=X.enumerable||!1,X.configurable=!0,"value"in X&&(X.writable=!0),Object.defineProperty(N,(ge=function(Ee,Ie){if(Le(Ee)!=="object"||Ee===null)return Ee;var _=Ee[Symbol.toPrimitive];if(_!==void 0){var j=_.call(Ee,"string");if(Le(j)!=="object")return j;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(Ee)}(X.key),Le(ge)==="symbol"?ge:String(ge)),X)}var ge}function Ge(N,k){return Ge=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(H,X){return H.__proto__=X,H},Ge(N,k)}function Me(N){if(N===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return N}function it(N){return it=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},it(N)}var Pe=function(N){(function(_,j){if(typeof j!="function"&&j!==null)throw new TypeError("Super expression must either be null or a function");_.prototype=Object.create(j&&j.prototype,{constructor:{value:_,writable:!0,configurable:!0}}),Object.defineProperty(_,"prototype",{writable:!1}),j&&Ge(_,j)})(Ie,N);var k,H,X,ge,Ee=(X=Ie,ge=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var _,j=it(X);if(ge){var pe=it(this).constructor;_=Reflect.construct(j,arguments,pe)}else _=j.apply(this,arguments);return function(se,de){if(de&&(Le(de)==="object"||typeof de=="function"))return de;if(de!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Me(se)}(this,_)});function Ie(_){var j;(function(Ke,B){if(!(Ke instanceof B))throw new TypeError("Cannot call a class as a function")})(this,Ie),j=Ee.call(this,_);var pe=_.afterLoad,se=_.beforeLoad,de=_.scrollPosition,Ce=_.visibleByDefault;return j.state={visible:Ce},Ce&&(se(),pe()),j.onVisible=j.onVisible.bind(Me(j)),j.isScrollTracked=!!(de&&Number.isFinite(de.x)&&de.x>=0&&Number.isFinite(de.y)&&de.y>=0),j}return k=Ie,(H=[{key:"componentDidUpdate",value:function(_,j){j.visible!==this.state.visible&&this.props.afterLoad()}},{key:"onVisible",value:function(){this.props.beforeLoad(),this.setState({visible:!0})}},{key:"render",value:function(){if(this.state.visible)return this.props.children;var _=this.props,j=_.className,pe=_.delayMethod,se=_.delayTime,de=_.height,Ce=_.placeholder,Ke=_.scrollPosition,B=_.style,U=_.threshold,he=_.useIntersectionObserver,M=_.width;return this.isScrollTracked||he&&u()?o().createElement(R,{className:j,height:de,onVisible:this.onVisible,placeholder:Ce,scrollPosition:Ke,style:B,threshold:U,useIntersectionObserver:he,width:M}):o().createElement(Be,{className:j,delayMethod:pe,delayTime:se,height:de,onVisible:this.onVisible,placeholder:Ce,style:B,threshold:U,width:M})}}])&&Qe(k.prototype,H),Object.defineProperty(k,"prototype",{writable:!1}),Ie}(o().Component);Pe.propTypes={afterLoad:s.PropTypes.func,beforeLoad:s.PropTypes.func,useIntersectionObserver:s.PropTypes.bool,visibleByDefault:s.PropTypes.bool},Pe.defaultProps={afterLoad:function(){return{}},beforeLoad:function(){return{}},useIntersectionObserver:!0,visibleByDefault:!1};let vt=Pe;function $e(N){return $e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},$e(N)}var Tt=["afterLoad","beforeLoad","delayMethod","delayTime","effect","placeholder","placeholderSrc","scrollPosition","threshold","useIntersectionObserver","visibleByDefault","wrapperClassName","wrapperProps"];function Gt(N,k){var H=Object.keys(N);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(N);k&&(X=X.filter(function(ge){return Object.getOwnPropertyDescriptor(N,ge).enumerable})),H.push.apply(H,X)}return H}function vi(N){for(var k=1;k<arguments.length;k++){var H=arguments[k]!=null?arguments[k]:{};k%2?Gt(Object(H),!0).forEach(function(X){bi(N,X,H[X])}):Object.getOwnPropertyDescriptors?Object.defineProperties(N,Object.getOwnPropertyDescriptors(H)):Gt(Object(H)).forEach(function(X){Object.defineProperty(N,X,Object.getOwnPropertyDescriptor(H,X))})}return N}function bi(N,k,H){return(k=A(k))in N?Object.defineProperty(N,k,{value:H,enumerable:!0,configurable:!0,writable:!0}):N[k]=H,N}function Kt(){return Kt=Object.assign?Object.assign.bind():function(N){for(var k=1;k<arguments.length;k++){var H=arguments[k];for(var X in H)Object.prototype.hasOwnProperty.call(H,X)&&(N[X]=H[X])}return N},Kt.apply(this,arguments)}function Vt(N,k){for(var H=0;H<k.length;H++){var X=k[H];X.enumerable=X.enumerable||!1,X.configurable=!0,"value"in X&&(X.writable=!0),Object.defineProperty(N,A(X.key),X)}}function A(N){var k=function(H,X){if($e(H)!=="object"||H===null)return H;var ge=H[Symbol.toPrimitive];if(ge!==void 0){var Ee=ge.call(H,"string");if($e(Ee)!=="object")return Ee;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(H)}(N);return $e(k)==="symbol"?k:String(k)}function F(N,k){return F=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(H,X){return H.__proto__=X,H},F(N,k)}function J(N){return J=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},J(N)}var re=function(N){(function(_,j){if(typeof j!="function"&&j!==null)throw new TypeError("Super expression must either be null or a function");_.prototype=Object.create(j&&j.prototype,{constructor:{value:_,writable:!0,configurable:!0}}),Object.defineProperty(_,"prototype",{writable:!1}),j&&F(_,j)})(Ie,N);var k,H,X,ge,Ee=(X=Ie,ge=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var _,j=J(X);if(ge){var pe=J(this).constructor;_=Reflect.construct(j,arguments,pe)}else _=j.apply(this,arguments);return function(se,de){if(de&&($e(de)==="object"||typeof de=="function"))return de;if(de!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Ce){if(Ce===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ce}(se)}(this,_)});function Ie(_){var j;return function(pe,se){if(!(pe instanceof se))throw new TypeError("Cannot call a class as a function")}(this,Ie),(j=Ee.call(this,_)).state={loaded:!1},j}return k=Ie,(H=[{key:"onImageLoad",value:function(){var _=this;return this.state.loaded?null:function(j){_.props.onLoad(j),_.props.afterLoad(),_.setState({loaded:!0})}}},{key:"getImg",value:function(){var _=this.props,j=(_.afterLoad,_.beforeLoad,_.delayMethod,_.delayTime,_.effect,_.placeholder,_.placeholderSrc,_.scrollPosition,_.threshold,_.useIntersectionObserver,_.visibleByDefault,_.wrapperClassName,_.wrapperProps,function(pe,se){if(pe==null)return{};var de,Ce,Ke=function(U,he){if(U==null)return{};var M,le,Te={},lt=Object.keys(U);for(le=0;le<lt.length;le++)M=lt[le],he.indexOf(M)>=0||(Te[M]=U[M]);return Te}(pe,se);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(pe);for(Ce=0;Ce<B.length;Ce++)de=B[Ce],se.indexOf(de)>=0||Object.prototype.propertyIsEnumerable.call(pe,de)&&(Ke[de]=pe[de])}return Ke}(_,Tt));return o().createElement("img",Kt({},j,{onLoad:this.onImageLoad()}))}},{key:"getLazyLoadImage",value:function(){var _=this.props,j=_.beforeLoad,pe=_.className,se=_.delayMethod,de=_.delayTime,Ce=_.height,Ke=_.placeholder,B=_.scrollPosition,U=_.style,he=_.threshold,M=_.useIntersectionObserver,le=_.visibleByDefault,Te=_.width;return o().createElement(vt,{beforeLoad:j,className:pe,delayMethod:se,delayTime:de,height:Ce,placeholder:Ke,scrollPosition:B,style:U,threshold:he,useIntersectionObserver:M,visibleByDefault:le,width:Te},this.getImg())}},{key:"getWrappedLazyLoadImage",value:function(_){var j=this.props,pe=j.effect,se=j.height,de=j.placeholderSrc,Ce=j.width,Ke=j.wrapperClassName,B=j.wrapperProps,U=this.state.loaded,he=U?" lazy-load-image-loaded":"",M=U||!de?{}:{backgroundImage:"url(".concat(de,")"),backgroundSize:"100% 100%"};return o().createElement("span",Kt({className:Ke+" lazy-load-image-background "+pe+he,style:vi(vi({},M),{},{color:"transparent",display:"inline-block",height:se,width:Ce})},B),_)}},{key:"render",value:function(){var _=this.props,j=_.effect,pe=_.placeholderSrc,se=_.visibleByDefault,de=_.wrapperClassName,Ce=_.wrapperProps,Ke=this.getLazyLoadImage();return(j||pe)&&!se||de||Ce?this.getWrappedLazyLoadImage(Ke):Ke}}])&&Vt(k.prototype,H),Object.defineProperty(k,"prototype",{writable:!1}),Ie}(o().Component);re.propTypes={onLoad:s.PropTypes.func,afterLoad:s.PropTypes.func,beforeLoad:s.PropTypes.func,delayMethod:s.PropTypes.string,delayTime:s.PropTypes.number,effect:s.PropTypes.string,placeholderSrc:s.PropTypes.string,threshold:s.PropTypes.number,useIntersectionObserver:s.PropTypes.bool,visibleByDefault:s.PropTypes.bool,wrapperClassName:s.PropTypes.string,wrapperProps:s.PropTypes.object},re.defaultProps={onLoad:function(){},afterLoad:function(){return{}},beforeLoad:function(){return{}},delayMethod:"throttle",delayTime:300,effect:"",placeholderSrc:null,threshold:100,useIntersectionObserver:!0,visibleByDefault:!1,wrapperClassName:""};let ue=re})(),X1.exports=n})()});var RO={};mR(RO,{AnnotationContext:()=>Kk,AnnotationPageContext:()=>Xk,AnnotationStyleProvider:()=>UE,AtlasStoreProvider:()=>Ws,AtlasStoreReactContext:()=>To,Auth:()=>Pp,AuthProvider:()=>Cp,AuthRContext:()=>ho,AuthReactContext:()=>Bb,AuthReactContextActions:()=>Vb,CanvasAnnotations:()=>Bk,CanvasContext:()=>Di,CanvasPanel:()=>Bt,CanvasStrategyProvider:()=>Gg,CanvasWorldObject:()=>Xg,CollectionContext:()=>Zk,CombinedMetadata:()=>Vk,ComplexTimelineProvider:()=>Bl,ContextBridge:()=>lc,ControlsReactContext:()=>Dl,CreateCustomShape:()=>ey,CustomContextBridge:()=>R1,CustomContextBridgeProvider:()=>bk,DEFAULT_BEZIER:()=>Vl,DEFAULT_POLL_INTERVAL:()=>ng,DefaultEditingTools:()=>M1,EASING_PRESETS:()=>zr,EventEmitterProvider:()=>rE,EventsProvider:()=>vk,Image:()=>Y1,ImageService:()=>G1,ImageServiceLoaderContext:()=>Gw,InnerViewerProvider:()=>Ub,LanguageProvider:()=>rM,LanguageString:()=>pS,LocaleString:()=>Oi,ManifestContext:()=>hp,ManifestMetadata:()=>jk,MediaPlayerProvider:()=>Fl,Metadata:()=>Sc,PolygonSelector:()=>zk,RangeContext:()=>fp,ReactEmitterContext:()=>So,ReactEventContext:()=>zo,ReactVaultContext:()=>Xi,RegionHighlight:()=>Vm,Render3DModelStrategy:()=>Km,RenderAccompanyingCanvas:()=>Xm,RenderAnnotation:()=>Po,RenderAnnotationEditing:()=>Dg,RenderAnnotationPage:()=>En,RenderAnnotationStrategy:()=>Qm,RenderAudioStrategy:()=>tg,RenderComplexTimelineStrategy:()=>hg,RenderEmptyStrategy:()=>fg,RenderImageStrategy:()=>pg,RenderSvgEditorControls:()=>Gk,RenderTextualContentStrategy:()=>mg,RenderVideoStrategy:()=>yg,RenderYouTubeStrategy:()=>vg,ResizeWorldItem:()=>zm,ResourceProvider:()=>Zt,ResourceReactContext:()=>Pa,SelectorControllerProvider:()=>Fk,SequenceThumbnails:()=>Uk,SimpleViewerProvider:()=>Ip,SimpleViewerReactContext:()=>ws,SingleCanvasThumbnail:()=>oy,StrategyReactContext:()=>Mn,ThumbnailFallbackImage:()=>ko,TranslationProvider:()=>nM,TransliterationProvider:()=>oM,Vault:()=>Cn,VaultProvider:()=>qn,ViewerPresetContext:()=>hn,VirtualAnnotationProvider:()=>Ld,VisibleCanvasReactContext:()=>Un,annotationResponseToSelector:()=>vO,authDetailsForResource:()=>wp,buildTransitions:()=>og,cachedParseCssToBoxStyleMap:()=>Ec,convertBoxStyleToSelectorStyle:()=>Nh,convertSelectorStyleToBoxStyle:()=>pa,createAtlasStore:()=>Mm,createAuthStateStore:()=>bp,createProbe:()=>xp,createVaultHooks:()=>iO,cubicBezierEasing:()=>ln,defaultEmitter:()=>b1,defaultSvgTheme:()=>PS,emptyActions:()=>zg,emptyStrategy:()=>Bg,expandTarget:()=>Mt,expandTargets:()=>Ta,findAllCanvasesInRange:()=>Za,findFirstCanvasFromRange:()=>Mu,findManifestSelectedRange:()=>bO,findSelectedRange:()=>xO,flattenAnnotationPageIds:()=>Vg,formatTime:()=>Cd,get3dStrategy:()=>jg,getAtlasStoreByName:()=>Lm,getComplexTimelineStrategy:()=>ph,getCroppedThumbnail:()=>Kw,getDefaultAnnotationStyles:()=>_m,getImageStrategy:()=>yc,getManifestSequence:()=>uo,getMediaTemporalSelectors:()=>dc,getParsedTargetSelector:()=>hc,getRenderingStrategy:()=>xc,getSelectorTransformAttributes:()=>Ln,getStepFromProgress:()=>sg,getTextualContentStrategy:()=>vc,getVideoStrategy:()=>bc,getVisibleCanvasesFromCanvasId:()=>gp,hasAuth:()=>FP,interpolateRect:()=>rg,isBoxSelector:()=>ww,isImageApiSelector:()=>Sa,isRectangle:()=>Co,isSvgSelector:()=>Em,isValidCanvasFragment:()=>Ra,makeAccessServiceRequest:()=>vp,makeAccessTokenRequest:()=>Fu,parseCssToBoxStyleMap:()=>Tc,parseCssTransform:()=>Ac,parseCssTransformOrigin:()=>Pc,parseCssTransformStyle:()=>Ic,parseRotation:()=>Ca,parseSelector:()=>Ni,parseSpecificResource:()=>Rk,parseWkt:()=>ba,polygonToBoundingBox:()=>Wh,polygonToTarget:()=>Vs,requestToAnnotationResponse:()=>Ol,resolveSelectorStyle:()=>_n,seraliseSupportedSelector:()=>wd,serialiseSupportedSelector:()=>Sw,serializeSupportedSelector:()=>$h,splitCanvasFragment:()=>xn,svgThemes:()=>_k,targetIntersects:()=>gO,unknownResponse:()=>fc,unsupportedStrategy:()=>at,useActiveVault:()=>Rr,useAnnotation:()=>Zn,useAnnotationPage:()=>Wm,useAnnotationPageManager:()=>mc,useAnnotationStyles:()=>Ll,useAnnotationsAtTime:()=>nO,useAtlasContextMenu:()=>uc,useAtlasStore:()=>ut,useAuthActions:()=>Wb,useAuthService:()=>$b,useAuthStore:()=>bs,useAuthToken:()=>DP,useAuthTokens:()=>Sp,useCanvas:()=>dt,useCanvasChoices:()=>rO,useCanvasClock:()=>oO,useCanvasSequence:()=>pP,useCanvasStartTime:()=>Nl,useCanvasSubset:()=>sO,useClosestLanguage:()=>gS,useCollection:()=>wO,useComplexTimeline:()=>JE,useComplexTimelineStore:()=>Dd,useContainerSequence:()=>ku,useContextBridge:()=>ac,useContextMenuStore:()=>E1,useCreateLocaleString:()=>sM,useCurrentAnnotationActions:()=>aO,useCurrentAnnotationMetadata:()=>lO,useCurrentAnnotationRequest:()=>Ng,useCurrentAnnotationTransition:()=>cO,useCurrentAuth:()=>NP,useCustomContextBridge:()=>sc,useDispatch:()=>Zm,useEmitter:()=>Am,useEvent:()=>Ro,useEventEmitter:()=>nc,useEventListener:()=>uO,useExistingVault:()=>Zi,useExternalCollection:()=>SO,useExternalManifest:()=>dp,useExternalResource:()=>Xa,useIIIFLanguage:()=>$d,useImage:()=>Th,useImageService:()=>ly,useImageServiceLoader:()=>zl,useImageTile:()=>dO,useIsAuthEnabled:()=>Tp,useLoadImageService:()=>gc,useLocaleString:()=>yS,useManifest:()=>Pt,useMediaActions:()=>GE,useMediaElements:()=>KE,useMediaState:()=>YE,usePaintables:()=>$g,usePaintingAnnotations:()=>ay,usePolygonHelper:()=>bg,useRange:()=>Ja,useRemoteStylesheet:()=>Nm,useRenderControls:()=>li,useRenderingStrategy:()=>Ug,useRequestAnnotation:()=>Jg,useResourceContext:()=>kt,useResourceEvents:()=>An,useResources:()=>Wg,useSearchService:()=>Ap,useSelectorController:()=>iy,useSelectorEmitter:()=>Nk,useSelectorEvents:()=>ty,useSelectorForVault:()=>ms,useSelectorHelper:()=>Dk,useSimpleMediaPlayer:()=>Ao,useSimpleViewer:()=>fo,useStaticRenderingStrategy:()=>hO,useStrategy:()=>ht,useStyleHelper:()=>fO,useStyles:()=>$i,useStylesheetStore:()=>Cw,useSvgEditor:()=>xg,useSvgEditorControls:()=>sy,useThumbnail:()=>er,useTranslations:()=>dg,useTransliteration:()=>ug,useVault:()=>We,useVaultEffect:()=>Jm,useVaultSelector:()=>Ue,useViewerPreset:()=>jl,useViewportScroll:()=>mO,useViewportTour:()=>pO,useVirtualAnnotationPage:()=>kd,useVirtualAnnotationPageContext:()=>Od,useVisibleCanvasContainers:()=>Ka,useVisibleCanvases:()=>up});var yR=new Set(["Choice","Composite","List","Independents"]);function qo(e,t=i=>i){return Oh(Array.isArray(e)?e:[e],[],[],[],t)}function Oh(e,t,i,n,r){let o=[];for(let s of e){let a=r(s)??s;if(vR(a)){let c=a.type==="Choice"?bR(a,r):void 0;a.items.forEach((u,l)=>{o.push(...Oh([u],[...t,{type:a.type,index:l}],[...i,c],n,r))})}else xR(a)?o.push(...Oh([a.source],t,i,[...n,a],r)):o.push({value:a,aggregatePath:t,aggregateDefaults:i,specificResources:n})}return o}function vR(e){return!!e&&typeof e=="object"&&yR.has(e.type)&&Array.isArray(e.items)}function bR(e,t){if(e.default==null)return;let i=t(e.default)??e.default,n=dy(i),r=e.items.findIndex(o=>{let s=t(o)??o;return s===i||!!n&&dy(s)===n});return r===-1?void 0:r}function dy(e){return typeof e=="string"?e:e&&typeof e=="object"&&typeof e.id=="string"?e.id:void 0}function xR(e){if(!e||typeof e!="object"||!("source"in e))return!1;let t=e.type;return t===void 0||t==="SpecificResource"}function fa(e){"@babel/helpers - typeof";return fa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fa(e)}function wR(e,t){if(fa(e)!="object"||!e)return e;var i=e[Symbol.toPrimitive];if(i!==void 0){var n=i.call(e,t||"default");if(fa(n)!="object")return n;throw TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function SR(e){var t=wR(e,"string");return fa(t)=="symbol"?t:t+""}function xt(e,t,i){return(t=SR(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var RR=Object.create,hy=Object.defineProperty,CR=Object.getOwnPropertyDescriptor,TR=Object.getOwnPropertyNames,PR=Object.getPrototypeOf,AR=Object.prototype.hasOwnProperty,Lh=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var IR=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(var r=TR(t),o=0,s=r.length,a;o<s;o++)a=r[o],!AR.call(e,a)&&a!==i&&hy(e,a,{get:(c=>t[c]).bind(null,a),enumerable:!(n=CR(t,a))||n.enumerable});return e},_h=(e,t,i)=>(i=e==null?{}:RR(PR(e)),IR(t||!e||!e.__esModule?hy(i,"default",{value:e,enumerable:!0}):i,e));var ER=/^(-?(?:\d+|\d*\.\d+))(px|%)?$/,MR=/^(-?(?:\d+|\d*\.\d+))(deg|rad|turn)?$/,fy=/([a-zA-Z0-9]+)\(([^)]*)\)/g;function kR(e){if(e==="%")return"percent";if(!e||e==="px")return"pixel"}function Uo(e){let t=ER.exec(e.trim());if(t)return{value:Number.parseFloat(t[1]),unit:kR(t[2])}}function OR(e){let[t,i=t]=e.trim().split(/\s+/),n=Uo(t),r=Uo(i);if(!n||!r)return;let o={x:n.value,y:r.value};return n.unit&&n.unit===r.unit?o.unit=n.unit:(n.unit&&(o.xUnit=n.unit),r.unit&&(o.yUnit=r.unit)),o}function LR(e){let t=MR.exec(e.trim());if(!t)return;let i=Number.parseFloat(t[1]),n=t[2]||"deg";return n==="rad"?i*180/Math.PI:n==="turn"?i*360:i}function Fh(e,t){return e?{x:e.x+t.x,y:e.y+t.y,...e.unit&&e.unit===t.unit?{unit:e.unit}:{}}:t}function Tc(e){let t={},i=e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").trim(),n=/([^{]+)\{([^}]+)\}/g,r;for(;(r=n.exec(i))!==null;){let o=r[1].trim(),s=r[2].trim(),a=o.match(/\.([a-zA-Z0-9_-]+)/);if(!a)continue;let c=a[1],u=s.split(";").filter(d=>d.trim()),l={};for(let d of u){let[h,p]=d.split(":").map(f=>f.trim());if(!(!h||!p))switch(h){case"background-color":l.backgroundColor=p;break;case"opacity":l.opacity=parseFloat(p);break;case"box-shadow":l.boxShadow=p;break;case"border-color":l.borderColor=p;break;case"border-width":l.borderWidth=p;break;case"border-style":l.borderStyle=p;break;case"outline-color":l.outlineColor=p;break;case"outline-width":l.outlineWidth=p;break;case"outline-offset":l.outlineOffset=p;break;case"outline-style":l.outlineStyle=p;break;case"border":l.border=p;break;case"outline":l.outline=p;break;case"background":l.background=p;break;case"transform":l.transform=p;break;case"transform-origin":l.transformOrigin=p;break}}t[c]=l}return t}function pa(e){let t={};return e&&(e.fill&&(t.backgroundColor=e.fill,e.fillOpacity),e.stroke&&(t.borderColor=e.stroke),e.strokeWidth&&(t.borderWidth=e.strokeWidth)),t}function Nh(e){let t={};if(e.backgroundColor&&(t.fill=e.backgroundColor),!t.fill&&e.background&&(t.fill=e.background),e.opacity!==void 0&&(t.fillOpacity=e.opacity),e.borderColor&&(t.stroke=e.borderColor),!t.stroke&&e.border){let i=e.border.split(" ").find(n=>n.startsWith("#")||n.startsWith("rgb")||n.match(/^[a-z]+$/i));i&&(t.stroke=i)}if(e.borderWidth&&(t.strokeWidth=e.borderWidth),!t.strokeWidth&&e.border){let i=e.border.split(" ").find(n=>n.match(/^\d+(?:px|em|rem|%)?$/));i&&(t.strokeWidth=i)}return t}function Pc(e){if(e)return OR(e)}function Ac(e){let t={};if(!e)return t;t.transform=e;let i;for(fy.lastIndex=0;(i=fy.exec(e))!==null;){let n=i[1].toLowerCase(),r=i[2].split(",").flatMap(o=>o.trim().split(/\s+/)).filter(Boolean);if(n==="rotate"){let o=LR(r[0]||"");o!==void 0&&(t.rotation=o);continue}if(n==="translatex"){let o=Uo(r[0]||"");o&&(t.translate=Fh(t.translate,{x:o.value,y:0,...o.unit?{unit:o.unit}:{}}));continue}if(n==="translatey"){let o=Uo(r[0]||"");o&&(t.translate=Fh(t.translate,{x:0,y:o.value,...o.unit?{unit:o.unit}:{}}));continue}if(n==="translate"){let o=Uo(r[0]||""),s=Uo(r[1]||"0");if(o&&s){let a={x:o.value,y:s.value};o.unit&&o.unit===s.unit?a.unit=o.unit:(o.unit&&(a.xUnit=o.unit),s.unit&&(a.yUnit=s.unit)),t.translate=Fh(t.translate,a)}}}return t}function Ic(e){let t=Ac(e?.transform),i=Pc(e?.transformOrigin);return e?.transformOrigin&&(t.transformOrigin=e.transformOrigin),i&&(t.rotationOrigin=i),t}function Ln(e){let t=Ic(e),i={};return t.rotation!==void 0&&(i.rotation=t.rotation),t.rotationOrigin&&(i.rotationOrigin=t.rotationOrigin),t.translate&&(i.translate=t.translate),(t.rotation!==void 0||t.rotationOrigin||t.translate||t.transform||t.transformOrigin)&&(i.transform=t),i}var py=new Map;function Ec(e,t){let i=py.get(e);if(i?.css===t)return i.styleMap;let n=Tc(t);return py.set(e,{css:t,styleMap:Object.fromEntries(Object.entries(n).map(([r,o])=>[r,o]))}),n}function _n(e,t,i={}){if(!e||!t)return pa(i||{});let n=pa(i||{}),r=Object.entries(t);for(let[o,s]of r){if(!s)continue;let a=Ec(o,s),c=Object.entries(a);for(let[u,l]of c)u===e&&Object.assign(n,l)}return n}var Se=function(t,i,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=i);return n},Yo=[1,9],Go=[1,10],Ko=[1,11],Xo=[1,12],Zo=[1,13],Qo=[1,14],Jo=[1,15],Xt=[1,60],He=[5,15,19],Fn=[1,67],bn=[1,73],ma=[1,87],ga=[1,104],ft=[15,19],hr=[1,110],Nn=[1,116],Mc=[1,130],kc=[1,136],va={trace:function(){},yy:{},symbols_:{error:2,expressions:3,point:4,EOF:5,linestring:6,polygon:7,multipoint:8,multilinestring:9,multipolygon:10,geometrycollection:11,coordinate:12,DOUBLE_TOK:13,ptarray:14,COMMA:15,ring_list:16,ring:17,"(":18,")":19,POINT:20,Z:21,ZM:22,M:23,EMPTY:24,point_untagged:25,polygon_list:26,polygon_untagged:27,point_list:28,LINESTRING:29,POLYGON:30,MULTIPOINT:31,MULTILINESTRING:32,MULTIPOLYGON:33,geometry:34,geometry_collection:35,GEOMETRYCOLLECTION:36,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",13:"DOUBLE_TOK",15:"COMMA",18:"(",19:")",20:"POINT",21:"Z",22:"ZM",23:"M",24:"EMPTY",29:"LINESTRING",30:"POLYGON",31:"MULTIPOINT",32:"MULTILINESTRING",33:"MULTIPOLYGON",36:"GEOMETRYCOLLECTION"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[3,2],[3,2],[3,2],[12,2],[12,3],[12,4],[14,3],[14,1],[16,3],[16,1],[17,3],[4,4],[4,5],[4,5],[4,5],[4,2],[25,1],[25,3],[26,3],[26,1],[27,3],[28,3],[28,1],[6,4],[6,5],[6,5],[6,5],[6,2],[7,4],[7,5],[7,5],[7,5],[7,2],[8,4],[8,5],[8,5],[8,5],[8,2],[9,4],[9,5],[9,5],[9,5],[9,2],[10,4],[10,5],[10,5],[10,5],[10,2],[34,1],[34,1],[34,1],[34,1],[34,1],[34,1],[34,1],[35,3],[35,1],[11,4],[11,5],[11,5],[11,5],[11,2]],performAction:function(t,i,n,r,o,s,a){var c=s.length-1;switch(o){case 1:case 2:case 3:case 4:case 5:case 6:case 7:return s[c-1];case 8:this.$=new ya([Number(s[c-1]),Number(s[c])]);break;case 9:this.$=new ya([Number(s[c-2]),Number(s[c-1]),Number(s[c])]);break;case 10:this.$=new ya([Number(s[c-3]),Number(s[c-2]),Number(s[c-1]),Number(s[c])]);break;case 11:case 26:this.$=s[c-2].addPoint(s[c]);break;case 12:case 21:case 27:case 53:case 54:case 55:case 56:case 57:case 58:case 59:this.$=s[c];break;case 13:this.$=s[c-2].addRing(s[c]);break;case 14:this.$=new Dh(s[c]);break;case 15:this.$=new gy(s[c-1]);break;case 16:this.$={type:"Point",coordinates:s[c-1].data[0]};break;case 17:this.$={type:"Point",coordinates:s[c-1].data[0],properties:{z:!0}};break;case 18:this.$={type:"Point",coordinates:s[c-1].data[0],properties:{z:!0,m:!0}};break;case 19:this.$={type:"Point",coordinates:s[c-1].data[0],properties:{m:!0}};break;case 20:this.$={type:"Point",coordinates:[]};break;case 22:case 25:this.$=s[c-1];break;case 23:this.$=s[c-2].addPolygon(s[c]);break;case 24:this.$=new Bh(s[c]);break;case 28:this.$={type:"LineString",coordinates:s[c-1].data};break;case 29:this.$={type:"LineString",coordinates:s[c-1].data,properties:{z:!0}};break;case 30:this.$={type:"LineString",coordinates:s[c-1].data,properties:{m:!0}};break;case 31:this.$={type:"LineString",coordinates:s[c-1].data,properties:{z:!0,m:!0}};break;case 32:this.$={type:"LineString",coordinates:[]};break;case 33:this.$={type:"Polygon",coordinates:s[c-1].toJSON()};break;case 34:this.$={type:"Polygon",coordinates:s[c-1].toJSON(),properties:{z:!0}};break;case 35:this.$={type:"Polygon",coordinates:s[c-1].toJSON(),properties:{m:!0}};break;case 36:this.$={type:"Polygon",coordinates:s[c-1].toJSON(),properties:{z:!0,m:!0}};break;case 37:this.$={type:"Polygon",coordinates:[]};break;case 38:this.$={type:"MultiPoint",coordinates:s[c-1].data};break;case 39:this.$={type:"MultiPoint",coordinates:s[c-1].data,properties:{z:!0}};break;case 40:this.$={type:"MultiPoint",coordinates:s[c-1].data,properties:{m:!0}};break;case 41:this.$={type:"MultiPoint",coordinates:s[c-1].data,properties:{z:!0,m:!0}};break;case 42:this.$={type:"MultiPoint",coordinates:[]};break;case 43:this.$={type:"MultiLineString",coordinates:s[c-1].toJSON()};break;case 44:this.$={type:"MultiLineString",coordinates:s[c-1].toJSON(),properties:{z:!0}};break;case 45:this.$={type:"MultiLineString",coordinates:s[c-1].toJSON(),properties:{m:!0}};break;case 46:this.$={type:"MultiLineString",coordinates:s[c-1].toJSON(),properties:{z:!0,m:!0}};break;case 47:this.$={type:"MultiLineString",coordinates:[]};break;case 48:this.$={type:"MultiPolygon",coordinates:s[c-1].toJSON()};break;case 49:this.$={type:"MultiPolygon",coordinates:s[c-1].toJSON(),properties:{z:!0}};break;case 50:this.$={type:"MultiPolygon",coordinates:s[c-1].toJSON(),properties:{m:!0}};break;case 51:this.$={type:"MultiPolygon",coordinates:s[c-1].toJSON(),properties:{z:!0,m:!0}};break;case 52:this.$={type:"MultiPolygon",coordinates:[]};break;case 60:this.$=s[c-2].addGeometry(s[c]);break;case 61:this.$=new zh(s[c]);break;case 62:this.$={type:"GeometryCollection",geometries:s[c-1].toJSON()};break;case 63:this.$={type:"GeometryCollection",geometries:s[c-1].toJSON(),properties:{z:!0}};break;case 64:this.$={type:"GeometryCollection",geometries:s[c-1].toJSON(),properties:{m:!0}};break;case 65:this.$={type:"GeometryCollection",geometries:s[c-1].toJSON(),properties:{z:!0,m:!0}};break;case 66:this.$={type:"GeometryCollection",geometries:[]};break}},table:[{3:1,4:2,6:3,7:4,8:5,9:6,10:7,11:8,20:Yo,29:Go,30:Ko,31:Xo,32:Zo,33:Qo,36:Jo},{1:[3]},{5:[1,16]},{5:[1,17]},{5:[1,18]},{5:[1,19]},{5:[1,20]},{5:[1,21]},{5:[1,22]},{18:[1,23],21:[1,24],22:[1,25],23:[1,26],24:[1,27]},{18:[1,28],21:[1,29],22:[1,31],23:[1,30],24:[1,32]},{18:[1,33],21:[1,34],22:[1,36],23:[1,35],24:[1,37]},{18:[1,38],21:[1,39],22:[1,41],23:[1,40],24:[1,42]},{18:[1,43],21:[1,44],22:[1,46],23:[1,45],24:[1,47]},{18:[1,48],21:[1,49],22:[1,51],23:[1,50],24:[1,52]},{18:[1,53],21:[1,54],22:[1,56],23:[1,55],24:[1,57]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{1:[2,7]},{12:59,13:Xt,14:58},{18:[1,61]},{18:[1,62]},{18:[1,63]},Se(He,[2,20]),{12:66,13:Xt,18:Fn,25:65,28:64},{18:[1,68]},{18:[1,69]},{18:[1,70]},Se(He,[2,32]),{16:71,17:72,18:bn},{18:[1,74]},{18:[1,75]},{18:[1,76]},Se(He,[2,37]),{12:66,13:Xt,18:Fn,25:65,28:77},{18:[1,78]},{18:[1,79]},{18:[1,80]},Se(He,[2,42]),{16:81,17:72,18:bn},{18:[1,82]},{18:[1,83]},{18:[1,84]},Se(He,[2,47]),{18:ma,26:85,27:86},{18:[1,88]},{18:[1,89]},{18:[1,90]},Se(He,[2,52]),{4:93,6:94,7:95,8:96,9:97,10:98,11:99,20:Yo,29:Go,30:Ko,31:Xo,32:Zo,33:Qo,34:92,35:91,36:Jo},{18:[1,100]},{18:[1,101]},{18:[1,102]},Se(He,[2,66]),{15:ga,19:[1,103]},Se(ft,[2,12]),{13:[1,105]},{12:59,13:Xt,14:106},{12:59,13:Xt,14:107},{12:59,13:Xt,14:108},{15:hr,19:[1,109]},Se(ft,[2,27]),Se(ft,[2,21]),{12:111,13:Xt},{12:66,13:Xt,18:Fn,25:65,28:112},{12:66,13:Xt,18:Fn,25:65,28:113},{12:66,13:Xt,18:Fn,25:65,28:114},{15:Nn,19:[1,115]},Se(ft,[2,14]),{12:59,13:Xt,14:117},{16:118,17:72,18:bn},{16:119,17:72,18:bn},{16:120,17:72,18:bn},{15:hr,19:[1,121]},{12:66,13:Xt,18:Fn,25:65,28:122},{12:66,13:Xt,18:Fn,25:65,28:123},{12:66,13:Xt,18:Fn,25:65,28:124},{15:Nn,19:[1,125]},{16:126,17:72,18:bn},{16:127,17:72,18:bn},{16:128,17:72,18:bn},{15:Mc,19:[1,129]},Se(ft,[2,24]),{16:131,17:72,18:bn},{18:ma,26:132,27:86},{18:ma,26:133,27:86},{18:ma,26:134,27:86},{15:kc,19:[1,135]},Se(ft,[2,61]),Se(ft,[2,53]),Se(ft,[2,54]),Se(ft,[2,55]),Se(ft,[2,56]),Se(ft,[2,57]),Se(ft,[2,58]),Se(ft,[2,59]),{4:93,6:94,7:95,8:96,9:97,10:98,11:99,20:Yo,29:Go,30:Ko,31:Xo,32:Zo,33:Qo,34:92,35:137,36:Jo},{4:93,6:94,7:95,8:96,9:97,10:98,11:99,20:Yo,29:Go,30:Ko,31:Xo,32:Zo,33:Qo,34:92,35:138,36:Jo},{4:93,6:94,7:95,8:96,9:97,10:98,11:99,20:Yo,29:Go,30:Ko,31:Xo,32:Zo,33:Qo,34:92,35:139,36:Jo},Se(He,[2,16]),{12:140,13:Xt},Se(ft,[2,8],{13:[1,141]}),{15:ga,19:[1,142]},{15:ga,19:[1,143]},{15:ga,19:[1,144]},Se(He,[2,28]),{12:66,13:Xt,18:Fn,25:145},{19:[1,146]},{15:hr,19:[1,147]},{15:hr,19:[1,148]},{15:hr,19:[1,149]},Se(He,[2,33]),{17:150,18:bn},{15:ga,19:[1,151]},{15:Nn,19:[1,152]},{15:Nn,19:[1,153]},{15:Nn,19:[1,154]},Se(He,[2,38]),{15:hr,19:[1,155]},{15:hr,19:[1,156]},{15:hr,19:[1,157]},Se(He,[2,43]),{15:Nn,19:[1,158]},{15:Nn,19:[1,159]},{15:Nn,19:[1,160]},Se(He,[2,48]),{18:ma,27:161},{15:Nn,19:[1,162]},{15:Mc,19:[1,163]},{15:Mc,19:[1,164]},{15:Mc,19:[1,165]},Se(He,[2,62]),{4:93,6:94,7:95,8:96,9:97,10:98,11:99,20:Yo,29:Go,30:Ko,31:Xo,32:Zo,33:Qo,34:166,36:Jo},{15:kc,19:[1,167]},{15:kc,19:[1,168]},{15:kc,19:[1,169]},Se(ft,[2,11]),Se(ft,[2,9],{13:[1,170]}),Se(He,[2,17]),Se(He,[2,18]),Se(He,[2,19]),Se(ft,[2,26]),Se(ft,[2,22]),Se(He,[2,29]),Se(He,[2,30]),Se(He,[2,31]),Se(ft,[2,13]),Se(ft,[2,15]),Se(He,[2,34]),Se(He,[2,35]),Se(He,[2,36]),Se(He,[2,39]),Se(He,[2,40]),Se(He,[2,41]),Se(He,[2,44]),Se(He,[2,45]),Se(He,[2,46]),Se(ft,[2,23]),Se(ft,[2,25]),Se(He,[2,49]),Se(He,[2,50]),Se(He,[2,51]),Se(ft,[2,60]),Se(He,[2,63]),Se(He,[2,64]),Se(He,[2,65]),Se(ft,[2,10])],defaultActions:{16:[2,1],17:[2,2],18:[2,3],19:[2,4],20:[2,5],21:[2,6],22:[2,7]},parseError:function(t,i){if(i.recoverable)this.trace(t);else{var n=new Error(t);throw n.hash=i,n}},parse:function(t){var i=this,n=[0],r=[null],o=[],s=this.table,a="",c=0,u=0,l=2,d=1,h=o.slice.call(arguments,1),p=Object.create(this.lexer),f={yy:{}};for(var m in this.yy)Object.prototype.hasOwnProperty.call(this.yy,m)&&(f.yy[m]=this.yy[m]);p.setInput(t,f.yy),f.yy.lexer=p,f.yy.parser=this,typeof p.yylloc>"u"&&(p.yylloc={});var g=p.yylloc;o.push(g);var y=p.options&&p.options.ranges;typeof f.yy.parseError=="function"?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x=function(){var z;return z=p.lex()||d,typeof z!="number"&&(z=i.symbols_[z]||z),z},w,R,v,S,C={},T,I,E,V;;){if(R=n[n.length-1],this.defaultActions[R]?v=this.defaultActions[R]:((w===null||typeof w>"u")&&(w=x()),v=s[R]&&s[R][w]),typeof v>"u"||!v.length||!v[0]){var Y="";V=[];for(T in s[R])this.terminals_[T]&&T>l&&V.push("'"+this.terminals_[T]+"'");p.showPosition?Y="Parse error on line "+(c+1)+`:
2
+ `+p.showPosition()+`
3
+ Expecting `+V.join(", ")+", got '"+(this.terminals_[w]||w)+"'":Y="Parse error on line "+(c+1)+": Unexpected "+(w==d?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(Y,{text:p.match,token:this.terminals_[w]||w,line:p.yylineno,loc:g,expected:V})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+w);switch(v[0]){case 1:n.push(w),r.push(p.yytext),o.push(p.yylloc),n.push(v[1]),w=null,u=p.yyleng,a=p.yytext,c=p.yylineno,g=p.yylloc;break;case 2:if(I=this.productions_[v[1]][1],C.$=r[r.length-I],C._$={first_line:o[o.length-(I||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(I||1)].first_column,last_column:o[o.length-1].last_column},y&&(C._$.range=[o[o.length-(I||1)].range[0],o[o.length-1].range[1]]),S=this.performAction.apply(C,[a,u,c,f.yy,v[1],r,o].concat(h)),typeof S<"u")return S;I&&(n=n.slice(0,-1*I*2),r=r.slice(0,-1*I),o=o.slice(0,-1*I)),n.push(this.productions_[v[1]][0]),r.push(C.$),o.push(C._$),E=s[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0}},_R=function(){var e={EOF:1,parseError:function(i,n){if(this.yy.parser)this.yy.parser.parseError(i,n);else throw new Error(i)},setInput:function(i,n){return this.yy=n||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var n=i.length,r=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===o.length?this.yylloc.first_column:0)+o[o.length-r.length].length-r[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+`
5
+ `+n+"^"},test_match:function(i,n){var r,o,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),o=i[0].match(/(?:\r\n?|\n).*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],r=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in s)this[a]=s[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,n,r,o;this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),a=0;a<s.length;a++)if(r=this._input.match(this.rules[s[a]]),r&&(!n||r[0].length>n[0].length)){if(n=r,o=a,this.options.backtrack_lexer){if(i=this.test_match(r,s[a]),i!==!1)return i;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(i=this.test_match(n,s[o]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var i=this.next();return i||this.lex()},begin:function(i){this.conditionStack.push(i)},popState:function(){var i=this.conditionStack.length-1;return i>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(i){return i=this.conditionStack.length-1-Math.abs(i||0),i>=0?this.conditionStack[i]:"INITIAL"},pushState:function(i){this.begin(i)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(i,n,r,o){switch(r){case 0:break;case 1:return 18;case 2:return 19;case 3:return 13;case 4:return 20;case 5:return 29;case 6:return 30;case 7:return 31;case 8:return 32;case 9:return 33;case 10:return 36;case 11:return 15;case 12:return 24;case 13:return 23;case 14:return 21;case 15:return 22;case 16:return 5;case 17:return"INVALID"}},rules:[/^(?:\s+)/,/^(?:\()/,/^(?:\))/,/^(?:-?[0-9]+(\.[0-9]+)?([eE][\-\+]?[0-9]+)?)/,/^(?:POINT\b)/,/^(?:LINESTRING\b)/,/^(?:POLYGON\b)/,/^(?:MULTIPOINT\b)/,/^(?:MULTILINESTRING\b)/,/^(?:MULTIPOLYGON\b)/,/^(?:GEOMETRYCOLLECTION\b)/,/^(?:,)/,/^(?:EMPTY\b)/,/^(?:M\b)/,/^(?:Z\b)/,/^(?:ZM\b)/,/^(?:$)/,/^(?:.)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}}};return e}();va.lexer=_R;function my(){this.yy={}}my.prototype=va;va.Parser=my;va.yy.parseError=function(e){throw e};function ya(e){this.data=[e],this.type="PointArray"}ya.prototype.addPoint=function(e){return e.type==="PointArray"?this.data=this.data.concat(e.data):this.data.push(e),this};ya.prototype.toJSON=function(){return this.data};function gy(e){this.data=e,this.type="Ring"}gy.prototype.toJSON=function(){for(var e=[],t=0;t<this.data.data.length;t++)e.push(this.data.data[t]);return e};function Dh(e){this.data=[e],this.type="RingList"}Dh.prototype.addRing=function(e){return this.data.push(e),this};Dh.prototype.toJSON=function(){for(var e=[],t=0;t<this.data.length;t++)e.push(this.data[t].toJSON());return e.length===1,e};function zh(e){this.data=[e],this.type="GeometryList"}zh.prototype.addGeometry=function(e){return this.data.push(e),this};zh.prototype.toJSON=function(){return this.data};function Bh(e){this.data=[e],this.type="PolygonList"}Bh.prototype.addPolygon=function(e){return this.data.push(e),this};Bh.prototype.toJSON=function(){for(var e=[],t=0;t<this.data.length;t++)e=e.concat([this.data[t].toJSON()]);return e};var yy=function(t){var i;try{i=va.parse(t)}catch(n){throw Error("Unable to parse: "+n)}return i};function ba(e){if(!e||typeof e!="string")return null;try{let t=yy(e.replace(/^(POINT|LINESTRING|POLYGON|MULTIPOINT|MULTILINESTRING|MULTIPOLYGON)Z\b/i,"$1 Z"));return t&&typeof t.type=="string"?t:null}catch{return null}}function wy(e){return e.map(({x:t,y:i})=>({x:Number(t.toFixed(11)),y:Number(i.toFixed(11))}))}function FR(e,t,i,n=1){return wy(new Sy(e,t,i).subdivide(n))}function NR(e,t,i,n,r=1){return wy(new zR(new Float64Array([e.x,e.y,t.x,t.y,i.x,i.y,n.x,n.y])).subdivide(r))}function DR(e){return e.x*e.x+e.y*e.y}function xa(e){let t=.67;return e/(1-t+(t**4+.25*e*e)**.25)}function es(e){let t=.39;return e*(1-t+Math.sqrt(t*t+.25*e*e))}var Sy=class{constructor(e,t,i){xt(this,"start",void 0),xt(this,"control",void 0),xt(this,"end",void 0),this.start=e,this.control=t,this.end=i}eval(e){let t=1-e;return{x:this.start.x*t*t+2*this.control.x*t*e+this.end.x*e*e,y:this.start.y*t*t+2*this.control.y*t*e+this.end.y*e*e}}mapToBasic(){let{x:e,y:t}=this.start,{x:i,y:n}=this.control,{x:r,y:o}=this.end,s=2*i-e-r,a=2*n-t-o,c=(i-e)*s+(n-t)*a,u=(r-i)*s+(o-n)*a,l=(r-e)*a-(o-t)*s,d=c/l,h=u/l;return{x0:e,x2:r,scale:Math.abs(l)/(Math.hypot(s,a)*Math.abs(h-d)),cross:l}}subdivide(e){let t=this.mapToBasic(),i=xa(t.x0),n=xa(t.x2),r=.5*Math.abs(n-i)*Math.sqrt(t.scale/e),o=Math.ceil(r),s=es(i),a=es(n),c=[0];for(let u=1;u<o;u++){let l=(es(i+(n-i)*u/o)-s)/(a-s);c.push(l)}return c.push(1),c.map(u=>this.eval(u))}},zR=class Ry{constructor(t){xt(this,"c",void 0),this.c=t}weightsum(t,i,n,r){return{x:t*this.c[0]+i*this.c[2]+n*this.c[4]+r*this.c[6],y:t*this.c[1]+i*this.c[3]+n*this.c[5]+r*this.c[7]}}eval(t){let i=1-t,n=i*i*i,r=3*i*i*t,o=3*i*t*t,s=t*t*t;return this.weightsum(n,r,o,s)}deriv(t){let i=1-t,n=-3*i*i,r=3*t*t,o=-6*t*i-n,s=6*t*i-r;return this.weightsum(n,o,s,r)}midpoint_quadbez(){let t=this.weightsum(-.25,.75,.75,-.25);return new Sy({x:this.c[0],y:this.c[1]},t,{x:this.c[6],y:this.c[7]})}subsegment(t,i){let n=new Float64Array(8),r=this.eval(t),o=this.eval(i);n[0]=r.x,n[1]=r.y;let s=(i-t)/3,a=this.deriv(t);n[2]=r.x+s*a.x,n[3]=r.y+s*a.y;let c=this.deriv(i);return n[4]=o.x-s*c.x,n[5]=o.y-s*c.y,n[6]=o.x,n[7]=o.y,new Ry(n)}subdivide(t){let i=.1*t,n=t-i,r=Math.sqrt(n),o=DR(this.weightsum(1,-3,3,-1)),s=Math.ceil((o/(432*i*i))**(1/6)),a=[],c=0;for(let f=0;f<s;f++){let m=f/s,g=(f+1)/s,y=this.subsegment(m,g).midpoint_quadbez(),x=y.mapToBasic(),w=xa(x.x0),R=xa(x.x2),v=Math.sqrt(x.scale),S=Math.abs(R-w)*v;if(Math.sign(x.x0)!=Math.sign(x.x2)){let C=r/v,T=r*Math.abs(R-w)/xa(C);S=Math.max(S,T)}a.push({quad:y,a0:w,a2:R,val:S}),c+=S}let u=.5*c/r,l=Math.ceil(u),d=[{x:this.c[0],y:this.c[1]}],h=0,p=0;for(let f=1;f<l;f++){let m=c*f/l;for(;h+a[p].val<m;)h+=a[p].val,p++;let g=a[p].a0,y=a[p].a2,x=es(g),w=es(y),R=(es(g+(y-g)*(m-h)/a[p].val)-x)/(w-x);d.push(a[p].quad.eval(R))}return d.push({x:this.c[6],y:this.c[7]}),d}},BR=function(){function e(t,i){var n=[],r=!0,o=!1,s=void 0;try{for(var a=t[Symbol.iterator](),c;!(r=(c=a.next()).done)&&(n.push(c.value),!(i&&n.length===i));r=!0);}catch(u){o=!0,s=u}finally{try{!r&&a.return&&a.return()}finally{if(o)throw s}}return n}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw TypeError("Invalid attempt to destructure non-iterable instance")}}(),wa=Math.PI*2,Vh=function(e,t,i,n,r,o,s){var a=e.x,c=e.y;a*=t,c*=i;var u=n*a-r*c,l=r*a+n*c;return{x:u+o,y:l+s}},VR=function(e,t){var i=t===1.5707963267948966?.551915024494:t===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(t/4),n=Math.cos(e),r=Math.sin(e),o=Math.cos(e+t),s=Math.sin(e+t);return[{x:n-r*i,y:r+n*i},{x:o+s*i,y:s-o*i},{x:o,y:s}]},vy=function(e,t,i,n){var r=e*n-t*i<0?-1:1,o=e*i+t*n;return o>1&&(o=1),o<-1&&(o=-1),r*Math.acos(o)},WR=function(e,t,i,n,r,o,s,a,c,u,l,d){var h=r**2,p=o**2,f=l**2,m=d**2,g=h*p-h*m-p*f;g<0&&(g=0),g/=h*m+p*f,g=Math.sqrt(g)*(s===a?-1:1);var y=g*r/o*d,x=g*-o/r*l,w=u*y-c*x+(e+i)/2,R=c*y+u*x+(t+n)/2,v=(l-y)/r,S=(d-x)/o,C=(-l-y)/r,T=(-d-x)/o,I=vy(1,0,v,S),E=vy(v,S,C,T);return a===0&&E>0&&(E-=wa),a===1&&E<0&&(E+=wa),[w,R,I,E]},$R=function(e){var t=e.px,i=e.py,n=e.cx,r=e.cy,o=e.rx,s=e.ry,a=e.xAxisRotation,c=a===void 0?0:a,u=e.largeArcFlag,l=u===void 0?0:u,d=e.sweepFlag,h=d===void 0?0:d,p=[];if(o===0||s===0)return[];var f=Math.sin(c*wa/360),m=Math.cos(c*wa/360),g=m*(t-n)/2+f*(i-r)/2,y=-f*(t-n)/2+m*(i-r)/2;if(g===0&&y===0)return[];o=Math.abs(o),s=Math.abs(s);var x=g**2/o**2+y**2/s**2;x>1&&(o*=Math.sqrt(x),s*=Math.sqrt(x));var w=BR(WR(t,i,n,r,o,s,l,h,f,m,g,y),4),R=w[0],v=w[1],S=w[2],C=w[3],T=Math.abs(C)/(wa/4);Math.abs(1-T)<1e-7&&(T=1);var I=Math.max(Math.ceil(T),1);C/=I;for(var E=0;E<I;E++)p.push(VR(S,C)),S+=C;return p.map(function(V){var Y=Vh(V[0],o,s,m,f,R,v),Q=Y.x,z=Y.y,O=Vh(V[1],o,s,m,f,R,v),G=O.x,ee=O.y,K=Vh(V[2],o,s,m,f,R,v);return{x1:Q,y1:z,x2:G,y2:ee,x:K.x,y:K.y}})},jR=Lh((e,t)=>{t.exports=r;var i={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},n=/([astvzqmhlc])([^astvzqmhlc]*)/gi;function r(a){var c=[];return a.replace(n,function(u,l,d){var h=l.toLowerCase();for(d=s(d),h=="m"&&d.length>2&&(c.push([l].concat(d.splice(0,2))),h="l",l=l=="m"?"l":"L");;){if(d.length==i[h])return d.unshift(l),c.push(d);if(d.length<i[h])throw Error("malformed path data");c.push([l].concat(d.splice(0,i[h])))}}),c}var o=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi;function s(a){var c=a.match(o);return c?c.map(Number):[]}}),HR=Lh((e,t)=>{t.exports=i;function i(n){var r=0,o=0,s=0,a=0;return n.map(function(c){c=c.slice();var u=c[0],l=u.toUpperCase();if(u!=l)switch(c[0]=l,u){case"a":c[6]+=s,c[7]+=a;break;case"v":c[1]+=a;break;case"h":c[1]+=s;break;default:for(var d=1;d<c.length;)c[d++]+=s,c[d++]+=a}switch(l){case"Z":s=r,a=o;break;case"H":s=c[1];break;case"V":a=c[1];break;case"M":s=r=c[1],a=o=c[2];break;default:s=c[c.length-2],a=c[c.length-1]}return c})}}),qR=_h(jR(),1),UR=_h(HR(),1);function YR(e){let t=(0,UR.default)((0,qR.default)(e)),i,n=0,r=0,o=0,s=0,a,c,u=0,l=0,d=[];for(let h=0;h<t.length;h++){let p=t[h],f=p[0];switch(f){case"M":n=p[1],r=p[2];break;case"H":p=["L",p[1],r];break;case"V":p=["L",n,p[1]];break;case"S":{let m=u,g=l;(i==="C"||i=="S")&&(m+=m-o,g+=g-s),p=["C",m,g,p[1],p[2],p[3],p[4]]}break;case"T":i==="Q"||i=="T"?(a=u*2-a,c=l*2-c):(a=u,c=l),p=["Q",a,c,p[1],p[2]];break;case"Q":a=p[1],c=p[2];break;case"A":{let m=$R({px:u,py:l,cx:p[6],cy:p[7],rx:p[1],ry:p[2],xAxisRotation:p[3],largeArcFlag:p[4],sweepFlag:p[5]});if(!m.length)continue;for(let[g,y]of m.entries())p=["C",y.x1,y.y1,y.x2,y.y2,y.x,y.y],g<m.length-1&&d.push(p);p=p}break;case"Z":p=["L",n,r];break}i=f,u=p[p.length-2],l=p[p.length-1],["C","Q","A"].indexOf(f)>-1?(o=p[p.length-4],s=p[p.length-3]):(o=u,s=l),d.push(p)}return d}var GR=/&?(xywh=)?(pixel:|percent:|pct:)?([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?)/,by=/&?(t=)(npt:)?([0-9]+(\.[0-9]+)?)?(,([0-9]+(\.[0-9]+)?))?/,xy=/^rgba\((\d+),(\d+),(\d+),([0-9.]+)\)$/;function Ni(e,{domParser:t,svgPreprocessor:i,iiifRenderingHints:n,loadedStylesheets:r}={},{styleClass:o}={}){if(Array.isArray(e))return ni(e.reduce((a,c)=>{let{selector:u,selectors:l,iiifRenderingHints:d}=Ni(c,{domParser:t,svgPreprocessor:i,iiifRenderingHints:n,loadedStylesheets:r},{styleClass:o});return u&&(a.selector?(!a.selector.temporal&&u.temporal&&(a.selector.temporal=u.temporal),!a.selector.spatial&&u.spatial&&(a.selector.spatial=u.spatial),!a.selector.svg&&u.svg&&(a.selector.svg=u.svg),!a.selector.svgShape&&u.svgShape&&(a.selector.svgShape=u.svgShape)):a.selector=u,a.selectors.push(...l)),d&&(a.iiifRenderingHints=a.iiifRenderingHints||{type:"ImageApiSelector"},Object.assign(a.iiifRenderingHints,d)),a},{selector:null,selectors:[],iiifRenderingHints:n}));if(!e)return ni({selector:null,selectors:[],iiifRenderingHints:n});let s=e;if(typeof e=="string"){let[a,c]=xn(e);return c?Ni({type:"FragmentSelector",value:c},{svgPreprocessor:i,iiifRenderingHints:n,domParser:t,loadedStylesheets:r},{styleClass:o}):ni({selector:null,selectors:[],iiifRenderingHints:n})}if(s.type){if(s.type==="PointSelector"&&(typeof s.instant=="number"||typeof s.t=="number")){let a={type:"TemporalSelector",temporal:{startTime:typeof s.instant=="number"?s.instant:s.t}};return ni({selector:a,selectors:[a],iiifRenderingHints:n})}if(s.type==="PointSelector"&&typeof s.x=="number"&&typeof s.y=="number"){let a={x:s.x,y:s.y};typeof s.z=="number"&&(a.z=s.z);let c={type:"PointSelector",spatial:a};return ni({selector:c,selectors:[c],iiifRenderingHints:n})}if((s.type==="WktSelector"||s.type==="WKTSelector"||s.type==="PolygonZSelector")&&typeof s.value=="string"){let a=ba(s.value),c={type:s.type,value:s.value};if(a?.type==="Point"){let[u,l,d]=a.coordinates;c.points3d=[[u,l,typeof d=="number"?d:0]];let h={unit:"pixel",x:u,y:l};typeof d=="number"&&(h.z=d),c.spatial=h}if(a?.type==="Polygon"){let u=a.coordinates[0]||[];if(c.points3d=u.map(([l,d,h])=>[l,d,typeof h=="number"?h:0]),u.length){let l=u.map(([g])=>g),d=u.map(([,g])=>g),h=Math.min(...l),p=Math.min(...d),f=Math.max(...l),m=Math.max(...d);c.spatial={unit:"pixel",x:h,y:p,width:f-h,height:m-p}}}return ni({selector:c,selectors:[c],iiifRenderingHints:n})}if(s.type==="AnimationSelector"&&typeof s.value=="string"){let a={type:"AnimationSelector",value:s.value};return ni({selector:a,selectors:[a],iiifRenderingHints:n})}}if(Sa(e)){let a=[];if(e.region){let c=Ni({type:"FragmentSelector",value:"xywh="+e.region},{domParser:t,svgPreprocessor:i,iiifRenderingHints:n,loadedStylesheets:r},{styleClass:o});a.push(...c.selectors)}return ni({selector:a[0],selectors:a,iiifRenderingHints:n?{...n,...e}:e})}if(e.type==="FragmentSelector"){let a=GR.exec(e.value);if(a){let u=_n(o,r),l={type:"BoxSelector",spatial:{unit:a[2]==="percent:"||a[2]==="pct:"?"percent":"pixel",x:Number.parseFloat(a[3]),y:Number.parseFloat(a[4]),width:Number.parseFloat(a[5]),height:Number.parseFloat(a[6])},boxStyle:u,...Ln(u)},d=e.value.match(by);if(d){let h=_n(o,r);l={type:"TemporalBoxSelector",spatial:l.spatial,temporal:{startTime:d[3]?Number.parseFloat(d[3]):0,endTime:d[6]?Number.parseFloat(d[6]):void 0},boxStyle:h,...Ln(h)}}return ni({selector:l,selectors:[l],iiifRenderingHints:n})}let c=e.value.match(by);if(c){let u={type:"TemporalSelector",temporal:{startTime:c[3]?Number.parseFloat(c[3]):0,endTime:c[6]?Number.parseFloat(c[6]):void 0}};return ni({selector:u,selectors:[u],iiifRenderingHints:n})}return ni({selector:null,selectors:[],iiifRenderingHints:n})}if(e.type==="SvgSelector"&&"value"in e){t||(typeof window<"u"?t=new window.DOMParser:console.warn("No DOMParser available, cannot parse SVG selector, `points`, `spatial` and `style` will be unavailable and the SVG will not be normalized."));let a=[],c,u,l=i?.(e.value)??e.value,d;if(t){let f=t.parseFromString(e.value,"image/svg+xml").querySelector("svg");if(!f)return console.warn(`Illegal SVG selector: ${e.value}`),ni({selector:null,selectors:[],iiifRenderingHints:n});let m;try{m=Cy(f)}catch{return ni({selector:null,selectors:[],iiifRenderingHints:n})}m&&(a=m.points,d=m.shapeType,c=[Math.min(...a.map(g=>g[0])),Math.min(...a.map(g=>g[1])),Math.max(...a.map(g=>g[0])),Math.max(...a.map(g=>g[1]))],{style:u,svg:l}=ZR(m.element)??{svg:l})}let h=_n(o,r,u),p={type:"SvgSelector",svg:l,svgShape:d,style:u,boxStyle:h,...Ln(h),points:a.length?a:void 0,spatial:c?{unit:"pixel",x:c[0],y:c[1],width:c[2]-c[0],height:c[3]-c[1]}:void 0};return ni({selector:p,selectors:[p],iiifRenderingHints:n})}return ni({selector:null,selectors:[],iiifRenderingHints:n})}function KR(e){let t=e.map(n=>n[0]).reduce((n,r)=>(n[r]+=1,n),{C:0,Q:0,L:0,M:0}),i=new Set(e.map(n=>n[0]));if(t.C>0||t.Q>0)return"path";if(t.L>0&&(i.size===1||i.size===2&&i.has("M"))){if(t.L===4)return"rect";let n=e.slice(-1)[0];return e[0][0]==="M"&&n[0]==="L"&&n[1]==e[0][1]&&n[2]===e[0][2]||n[1]===0&&n[2]===0?"polygon":"polyline"}return"path"}function Cy(e){for(let t of Array.from(e.children))switch(t?.tagName.toLowerCase()){case"g":{let i=Cy(t);if(i)return i}continue;case"path":{let i=t.getAttribute("d");if(!i)continue;let n=YR(i);return{element:t,points:XR(n),shapeType:KR(n)}}case"circle":{let i=Number.parseFloat(t.getAttribute("cx")??"0"),n=Number.parseFloat(t.getAttribute("cy")??"0"),r=Number.parseFloat(t.getAttribute("r")??"0");if(!r)continue;let o=[];for(let s=0;s<=360;s+=12){let a=s*Math.PI/180;o.push([i+r*Math.cos(a),n+r*Math.sin(a)])}return{element:t,points:o,shapeType:"circle"}}case"ellipse":{let i=Number.parseFloat(t.getAttribute("cx")??"0"),n=Number.parseFloat(t.getAttribute("cy")??"0"),r=Number.parseFloat(t.getAttribute("rx")??"0"),o=Number.parseFloat(t.getAttribute("ry")??"0");if(!r&&!o)continue;let s=[];for(let a=0;a<=360;a+=12){let c=Math.tan(a/360*Math.PI),u=r*(1-c**2)/(1+c**2),l=o*2*c/(1+c**2);s.push([i+u,n+l])}return{element:t,points:s,shapeType:"ellipse"}}case"line":{let i=Number.parseFloat(t.getAttribute("x0")??"0"),n=Number.parseFloat(t.getAttribute("y0")??"0"),r=Number.parseFloat(t.getAttribute("x1")??"0"),o=Number.parseFloat(t.getAttribute("y1")??"0");if(i===r&&n===o)continue;return{element:t,points:[[i,n],[r,o]],shapeType:"polyline"}}case"polygon":case"polyline":{let i=t.getAttribute("points")?.split(" ").map(r=>r.split(",").map(Number.parseFloat))??[];if(!i.length)continue;let n="polyline";return t.tagName.toLowerCase()==="polygon"&&(i.push(i[0]),n="polygon"),{element:t,points:i,shapeType:n}}case"rect":{let i=Number.parseFloat(t.getAttribute("x")??"0"),n=Number.parseFloat(t.getAttribute("y")??"0"),r=Number.parseFloat(t.getAttribute("width")??"0"),o=Number.parseFloat(t.getAttribute("height")??"0");if(!r||!o)continue;return{element:t,points:[[i,n],[i+r,n],[i+r,n+o],[i,n+o],[i,n]],shapeType:"rect"}}default:continue}return null}function XR(e){let t=[];for(let i=0;i<e.length;i++){let n=t[t.length-1]??[0,0],r=e[i];switch(r[0]){case"M":case"L":t.push([r[1],r[2]]);continue;case"C":t.push(...NR({x:n[0],y:n[1]},{x:r[1],y:r[2]},{x:r[3],y:r[4]},{x:r[5],y:r[6]}).map(o=>[o.x,o.y]).slice(1));continue;case"Q":t.push(...FR({x:n[0],y:n[1]},{x:r[1],y:r[2]},{x:r[3],y:r[4]}).map(o=>[o.x,o.y]).slice(1));continue}}return t}function ZR(e){let t={};if(e.hasAttribute("fill")?(t.fill=e.getAttribute("fill"),e.removeAttribute("fill")):e.style&&e.style.fill&&(t.fill=e.style.fill),t.fill){let n=xy.exec(t.fill);n&&(t.fillOpacity=Number.parseFloat(n[4]),t.fill=`rgb(${n[1]}, ${n[2]}, ${n[3]})`)}if(e.hasAttribute("fill-opacity")?(t.fillOpacity=Number.parseFloat(e.getAttribute("fill-opacity")),e.removeAttribute("fill-opacity")):e.style&&e.style.fillOpacity&&(t.fillOpacity=Number.parseFloat(e.style.fillOpacity)),e.hasAttribute("stroke")?(t.stroke=e.getAttribute("stroke"),e.removeAttribute("stroke")):e.style&&e.style.stroke&&(t.stroke=e.style.stroke),t.stroke){let n=xy.exec(t.stroke);n&&(t.strokeOpacity=Number.parseFloat(n[4]),t.stroke=`rgb(${n[1]}, ${n[2]}, ${n[3]})`)}e.hasAttribute("stroke-opacity")?(t.strokeOpacity=Number.parseFloat(e.getAttribute("stroke-opacity")),e.removeAttribute("stroke-opacity")):e.style&&e.style.strokeOpacity&&(t.strokeOpacity=Number.parseFloat(e.style.strokeOpacity)),e.hasAttribute("stroke-width")?(t.strokeWidth=e.getAttribute("stroke-width"),e.removeAttribute("stroke-width")):e.style&&e.style.strokeWidth&&(t.strokeWidth=e.style.strokeWidth),e.hasAttribute("stroke-dasharray")?(t.strokeDasharray=e.getAttribute("stroke-dasharray"),e.removeAttribute("stroke-dasharray")):e.style&&e.style.strokeDasharray&&(t.strokeDasharray=e.style.strokeDasharray);let i=e;for(;i.tagName.toLowerCase()!=="svg";)if(i=i.parentElement,i===null)throw Error("Could not find root SVG element");return{svg:i.outerHTML,style:Object.keys(t).length>0?t:void 0}}function Sa(e){if(!e)return!1;let t=e.type||e["@type"];return t==="iiif:ImageApiSelector"||t==="ImageApiSelector"}function xn(e){let[t,i]=e.split("#");return!i||!Ra(i)?[e,""]:[t,i]}function Ra(e){return e.includes("xywh=")||e.includes("t=")}function ni(e){if(e.iiifRenderingHints){let t=e.iiifRenderingHints;if(t.rotation){let i=Ca(`${t.rotation}`);if(i)if(e.selectors.length)for(let n of e.selectors)n.rotation=i;else e.selectors.push({type:"RotationSelector",rotation:i})}}else delete e.iiifRenderingHints;return e}function Ca(e){let t=Number.parseFloat(e);return t&&e.startsWith("!")&&(t=360-t),t&&(t%=360),t===t&&t||0}function Mt(e,t={}){let i=Ta(e,t)[0];if(!i)throw Error("Cannot expand an empty annotation target");return i.target}function Ta(e,t={}){return qo(e).map(({value:i,aggregatePath:n,specificResources:r})=>({target:Oc(r[r.length-1]||i,t),aggregatePath:n}))}function Oc(e,t){if(typeof e=="string"){let[n,r]=xn(e);return r?Oc({type:"SpecificResource",source:{id:n,type:t.typeMap&&t.typeMap[n]||t.defaultType||"Canvas"},selector:{type:"FragmentSelector",value:r}},t):{type:"SpecificResource",source:{id:n,type:t.typeMap&&t.typeMap[n]||t.defaultType||"Canvas"},selector:null,selectors:[]}}let i=e;if(!i.type&&"source"in i&&(i={...i,type:"SpecificResource"}),i.type==="SpecificResource"){let n=i.source;n?.type==="Canvas"&&n.partOf&&typeof n.partOf=="string"&&(n={...n,partOf:[{id:n.partOf,type:"Manifest"}]});let r=i.styleClass||t.styleClass,o={selector:null,selectors:[]};if(typeof n=="string"){let[,c]=xn(n);if(c){let u=Oc(n,{...t,styleClass:r});n=u.source,o={selector:u.selector,selectors:u.selectors}}}let{selector:s,selectors:a}=i.selector?Ni(i.selector,t,{styleClass:r}):o;return{type:"SpecificResource",source:n,...Array.isArray(i.transform)?{transform:[...i.transform]}:{},...Array.isArray(i.action)?{action:[...i.action]}:{},selector:s,selectors:a}}if(i.id){let n=i;i.type==="Canvas"&&i.partOf&&typeof i.partOf=="string"&&(n={...i,partOf:[{id:i.partOf,type:"Manifest"}]});let[r,o]=xn(i.id);return o?Oc({type:"SpecificResource",source:{...n,id:r},selector:{type:"FragmentSelector",value:o}},t):{type:"SpecificResource",source:{...n,id:r},selector:null,selectors:[]}}return{type:"SpecificResource",source:i,selector:null,selectors:[]}}function Wh(e){if(!e||e.points.length<3||e.points.flatMap(([o,s])=>[o,s]).some(o=>!Number.isFinite(o)))return null;let t=e.points.map(([o])=>o),i=e.points.map(([,o])=>o),n=Math.min(...t),r=Math.min(...i);return{x:n,y:r,width:Math.max(...t)-n,height:Math.max(...i)-r}}function Ty(e){return e.type==="SvgSelector"}function Py(e){return e.type==="BoxSelector"}function $h(e,t){if(Ty(e)){if((!e.points||e.points.length===0)&&e.svg)return{type:"SvgSelector",value:e.svg};if(!e.points?.length||e.points.some(([c,u])=>!Number.isFinite(c)||!Number.isFinite(u)))return null;let a=e.svgShape==="polyline"?"polyline":"polygon";return{type:"SvgSelector",value:`<svg xmlns="http://www.w3.org/2000/svg"${t&&t.width>0&&t.height>0?` viewBox="0 0 ${t.width} ${t.height}" width="${t.width}" height="${t.height}"`:""}><${a} points="${e.points.map(([c,u])=>`${c},${u}`).join(" ")}" /></svg>`}}if(!Py(e))return null;let{x:i,y:n,width:r,height:o,unit:s}=e.spatial;return![i,n,r,o].every(Number.isFinite)||r<=0||o<=0?null:{type:"FragmentSelector",value:`xywh=${s==="percent"?"percent:":""}${i},${n},${r},${o}`}}var Vo=P(Z(),1);var ts=P(Z(),1),ky=P(D(),1),eC={collection:void 0,manifest:void 0,range:void 0,canvas:void 0,annotation:void 0,annotationPage:void 0,scene:void 0,timeline:void 0},Pa=ts.default.createContext(eC),kt=()=>(0,ts.useContext)(Pa);function Zt({value:e,children:t}){let i=kt(),n=(0,ts.useMemo)(()=>({...i,...e}),[e,i]);return(0,ky.jsx)(Pa.Provider,{value:n,children:t})}var Oy=P(D(),1);function Di({canvas:e,children:t}){return(0,Oy.jsx)(Zt,{value:{canvas:e},children:t})}var ps=P(Z(),1);var Ly=e=>{let t,i=new Set,n=(a,c)=>{let u=typeof a=="function"?a(t):a;if(!Object.is(u,t)){let l=t;t=c??(typeof u!="object"||!u)?u:Object.assign({},t,u),i.forEach(d=>d(t,l))}},r=()=>t,o={setState:n,getState:r,getInitialState:()=>s,subscribe:a=>(i.add(a),()=>i.delete(a)),destroy:()=>{({}.env?{}.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},s=t=e(n,r,o);return o},_c=e=>e?Ly(e):Ly;function ri(e){return typeof e=="string"?!1:e&&!e.type&&"source"in e?(e.type="SpecificResource",!0):!!e&&e.type==="SpecificResource"}function Ur(...e){return t=>e.reduce((i,n)=>n(i),t)}function Aa(e){"@babel/helpers - typeof";return Aa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Aa(e)}function tC(e,t){if(Aa(e)!="object"||!e)return e;var i=e[Symbol.toPrimitive];if(i!==void 0){var n=i.call(e,t||"default");if(Aa(n)!="object")return n;throw TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function iC(e){var t=tC(e,"string");return Aa(t)=="symbol"?t:t+""}function oi(e,t,i){return(t=iC(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function Ve(e){return Array.isArray(e)?e:e?[e]:[]}function Gi(e){for(let t in e)(e[t]===void 0||e[t]===null)&&delete e[t];return e}function _y(e,t){let i={errors:e.filter(n=>n.severity==="error").length,warnings:e.filter(n=>n.severity==="warning").length,info:e.filter(n=>n.severity==="info").length};return{valid:i.errors===0,issues:e,stats:i,reporting:t}}var qe=Object.freeze([]),nC=Object.freeze({}),Yr="http://iiif.io/api/presentation/4/context.json",fr="http://iiif.io/api/presentation/3/context.json",Ia=Object.freeze({}),Ki="iiif-parser:hasPart",Ea="iiif-parser:partOf",jh=Object.freeze([]);function si(e){return!!e&&Object.prototype.toString.call(e)==="[object Object]"}function Hh(e){return typeof structuredClone<"u"?structuredClone(e):JSON.parse(JSON.stringify(e))}function Dn(e){return e==null?[]:Array.isArray(e)?e:[e]}function Dt(e){if(!(!e||typeof e!="object")){if(typeof e.id=="string")return e.id;if(typeof e["@id"]=="string")return e["@id"]}}function je(e){if(!(!e||typeof e!="object")){if(typeof e.type=="string")return e.type;if(typeof e["@type"]=="string")return e["@type"];if(Array.isArray(e["@type"]))return e["@type"].find(t=>typeof t=="string")}}function qh(e,t){e.id=t,delete e["@id"]}function pr(e,t){e.type=t,delete e["@type"]}function zn(e){return je(e)==="SpecificResource"}function Ma(e){let t=je(e);return!!t&&t.endsWith("Selector")}function ka(e){return je(e)==="Quantity"}function Fy(e){if(!e||typeof e!="object")return!1;let t=je(e);return t&&t.includes("Service")?!0:typeof e.profile=="string"||Array.isArray(e.service)}function Ny(e){let t=5381,i=e.length;for(;i;)t=t*33^e.charCodeAt(--i);let n=(t>>>0).toString(16);return n.length%2==1?`0${n}`:n}function Fc(e){if(Array.isArray(e))return`[${e.map(t=>Fc(t)).join(",")}]`;if(e&&typeof e=="object"){let t=e;return`{${Object.keys(t).sort().map(i=>`${JSON.stringify(i)}:${Fc(t[i])}`).join(",")}}`}return JSON.stringify(e)}function Nc(e,t,i="$"){return`vault://iiif-parser/v4/${t}/${Ny(Fc({type:t,path:i,resource:e}))}`}var Gr=new Set(["Timeline","Canvas","Scene"]),Dc=new Set(["Collection","CollectionPage","Manifest","Range"]),zc=new Set(["Annotation","AnnotationPage","AnnotationCollection"]),is=new Set(["PerspectiveCamera","OrthographicCamera","AmbientLight","DirectionalLight","ImageBasedLight","PointLight","SpotLight","AmbientAudio","PointAudio","SpotAudio"]),Dy=new Set(["RotateTransform","ScaleTransform","TranslateTransform"]),zy=new Set(["Image","Audio","Sound","Video","Model","Text","TextualBody","Dataset","Choice"]);function ns(e,t){if(Array.isArray(e)){if(t)return t;throw Error("Resource type is not known")}if(!e||typeof e!="object"){if(t)return t;throw Error("Resource must be an object")}let i=je(e);if(i)return Gr.has(i)||Dc.has(i)||zc.has(i)?i:i==="SpecificResource"?"SpecificResource":i==="Agent"?"Agent":i==="Quantity"?"Quantity":i.endsWith("Selector")?"Selector":Dy.has(i)?"Transform":i.includes("Service")||i==="Service"?"Service":(is.has(i)||zy.has(i),"ContentResource");if(Fy(e))return"Service";if(t)return t;throw Error("Resource type is not known")}var Uh="http://library.stanford.edu/iiif/image-api/compliance.html#level0",Yh="http://library.stanford.edu/iiif/image-api/compliance.html#level1",Gh="http://library.stanford.edu/iiif/image-api/compliance.html#level2",Kh="http://library.stanford.edu/iiif/image-api/conformance.html#level0",Xh="http://library.stanford.edu/iiif/image-api/conformance.html#level1",Zh="http://library.stanford.edu/iiif/image-api/conformance.html#level2",Qh="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0",Jh="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1",ef="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",tf="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level0",nf="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1",rf="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2",of="http://iiif.io/api/image/1/level0.json",sf="http://iiif.io/api/image/1/profiles/level0.json",af="http://iiif.io/api/image/1/level1.json",lf="http://iiif.io/api/image/1/profiles/level1.json",cf="http://iiif.io/api/image/1/level2.json",uf="http://iiif.io/api/image/1/profiles/level2.json",df="http://iiif.io/api/image/2/level0.json",hf="http://iiif.io/api/image/2/profiles/level0.json",ff="http://iiif.io/api/image/2/level1.json",pf="http://iiif.io/api/image/2/profiles/level1.json",mf="http://iiif.io/api/image/2/level2.json",gf="http://iiif.io/api/image/2/profiles/level2.json",yf="level0",vf="level1",bf="level2",xf="http://iiif.io/api/image/2/level0",wf="http://iiif.io/api/image/2/level1",Sf="http://iiif.io/api/image/2/level2",rs=[Sf,Gh,Zh,ef,rf,cf,uf,mf,gf,bf],Bc=[...rs,wf,Yh,Xh,Jh,nf,af,lf,ff,pf,vf],Rf=[xf,wf,Sf,Uh,Yh,Gh,Kh,Xh,Zh,Qh,Jh,ef,tf,nf,rf,of,sf,af,lf,cf,uf,df,hf,ff,pf,mf,gf,yf,vf,bf],Cf=Rf,Tf=[xf,Uh,Kh,Qh,tf,of,sf,df,hf,yf],By={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["sizeByWhListed"]},Vy={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPx","regionSquare","sizeByWhListed","sizeByH","sizeByW","sizeByWh"]},Wy={extraFormats:["jpg","png"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPct","regionByPx","regionSquare","rotationBy90s","sizeByWhListed","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"]};var rC=["http://iiif.io/api/image/2/level1","http://iiif.io/api/image/2/level2","http://library.stanford.edu/iiif/image-api/compliance.html#level1","http://library.stanford.edu/iiif/image-api/compliance.html#level2","http://library.stanford.edu/iiif/image-api/conformance.html#level1","http://library.stanford.edu/iiif/image-api/conformance.html#level2","http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1","http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2","http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1","http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2","http://iiif.io/api/image/1/level1.json","http://iiif.io/api/image/1/profiles/level1.json","http://iiif.io/api/image/1/level2.json","http://iiif.io/api/image/1/profiles/level2.json","http://iiif.io/api/image/2/level1.json","http://iiif.io/api/image/2/profiles/level1.json","http://iiif.io/api/image/2/level2.json","http://iiif.io/api/image/2/profiles/level2.json","level1","level2"],$y=["sc:Collection","sc:Manifest","sc:Canvas","sc:AnnotationList","oa:Annotation","sc:Range","sc:Layer","sc:Sequence","oa:Choice","Service","ContentResource"];function oC(e){if(e==null)throw Error("Null or undefined is not a valid entity.");if(Array.isArray(e))throw Error("Array is not a valid entity");if(typeof e!="object")throw Error(`${typeof e} is not a valid entity`);if(typeof e["@type"]=="string"){let t=$y.indexOf(e["@type"]);if(t!==-1)return $y[t]}if(e.profile)return"Service";if(e.format||e["@type"])return"ContentResource";throw Error("Resource type is not known")}var sC=class Uy{constructor(t,i={}){oi(this,"traversals",void 0),oi(this,"options",void 0),this.traversals={collection:[],manifest:[],canvas:[],annotationList:[],sequence:[],annotation:[],contentResource:[],choice:[],range:[],service:[],layer:[],...t},this.options={convertPropsToArray:!0,mergeMemberProperties:!0,allowUndefinedReturn:!1,...i}}static all(t){return new Uy({collection:[t],manifest:[t],canvas:[t],annotationList:[t],sequence:[t],annotation:[t],contentResource:[t],choice:[t],range:[t],service:[t],layer:[t]})}traverseCollection(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseCollectionItems(t))),this.traversals.collection)}traverseCollectionItems(t){if(this.options.mergeMemberProperties){let i=[...(t.manifests||[]).map(o=>typeof o=="string"?{"@id":o,"@type":"sc:Manifest"}:(o["@type"]||(o["@type"]="sc:Manifest"),o)),...(t.collections||[]).map(o=>typeof o=="string"?{"@id":o,"@type":"sc:Collection"}:o),...t.members||[]],n=[],r=i.filter(o=>n.includes(o["@id"])?!1:(n.push(o["@id"]),!0));delete t.collections,delete t.manifests,t.members=r}return t.manifests&&(t.manifests=t.manifests.map(i=>{let n=i;return typeof i=="string"&&(n={"@id":i,"@type":"sc:Manifest"}),n["@type"]||(n["@type"]="sc:Manifest"),this.traverseManifest(n)})),t.collections&&(t.collections=t.collections.map(i=>this.traverseCollection(typeof i=="string"?{"@id":i,"@type":"sc:Collection"}:i))),t.members&&(t.members=t.members.map(i=>typeof i=="string"?i:i["@type"]==="sc:Collection"?this.traverseCollection(i):i["@type"]==="sc:Manifest"?this.traverseManifest(i):this.traverseUnknown(i))),t}traverseManifest(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseManifestItems(t))),this.traversals.manifest)}traverseManifestItems(t){return t.sequences&&(t.sequences=t.sequences.map(i=>this.traverseSequence(i))),t.structures&&(t.structures=t.structures.map(i=>this.traverseRange(i))),t}traverseSequence(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseSequenceItems(t))),this.traversals.sequence)}traverseSequenceItems(t){return t.canvases&&(t.canvases=t.canvases.map(i=>this.traverseCanvas(i))),t}traverseCanvas(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseCanvasItems(t))),this.traversals.canvas)}traverseCanvasItems(t){return t.images&&(t.images=t.images.map(i=>(i.on&&i["@type"]!=="oa:Annotation"&&i["@type"]!=="Annotation"&&(i["@type"]="oa:Annotation"),this.traverseAnnotation(i)))),t.otherContent&&(t.otherContent=t.otherContent.map(i=>this.traverseAnnotationList(i))),t}traverseRange(t){return t["@type"]!=="sc:Range"&&(t["@type"]="sc:Range"),this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseRangeItems(t))),this.traversals.range)}traverseRangeItems(t){if(this.options.mergeMemberProperties){let i=[...(t.ranges||[]).map(n=>typeof n=="string"?{"@id":n,"@type":"sc:Range"}:n),...(t.canvases||[]).map(n=>typeof n=="string"?{"@id":n,"@type":"sc:Canvas"}:n),...t.members||[]];delete t.ranges,delete t.canvases,t.members=i.length?i.map(n=>this.traverseUnknown(n)):void 0}return t}traverseAnnotationList(t){let i=typeof t=="string"?{"@id":t,"@type":"sc:AnnotationList"}:t;return this.traverseType(this.traverseDescriptive(this.traverseAnnotationListItems(i)),this.traversals.annotationList)}traverseAnnotationListItems(t){return t.resources&&(t.resources=t.resources.map(i=>this.traverseAnnotation(i))),t}traverseAnnotation(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseAnnotationItems(t))),this.traversals.annotation)}traverseAnnotationItems(t){return t.resource&&(Array.isArray(t.resource)?t.resource=t.resource.map(i=>this.traverseContentResource(i)):t.resource=this.traverseContentResource(t.resource)),t.on,t}traverseLayer(t){return this.traverseType(this.traverseLinking(this.traverseLayerItems(t)),this.traversals.layer)}traverseLayerItems(t){return t.otherContent&&(t.otherContent=t.otherContent.map(i=>this.traverseAnnotationList(i))),t}traverseChoice(t){return this.traverseType(this.traverseChoiceItems(t),this.traversals.choice)}traverseChoiceItems(t){return t.default&&t.default!=="rdf:nil"&&(t.default=this.traverseContentResource(t.default)),t.item&&t.item!=="rdf:nil"&&(t.item=t.item.map(i=>this.traverseContentResource(i))),t}traverseService(t){return this.traverseType(this.traverseLinking(t),this.traversals.service)}traverseContentResource(t){return t["@type"]==="oa:Choice"?this.traverseChoice(t):this.traverseType(this.traverseDescriptive(this.traverseLinking(t)),this.traversals.contentResource)}traverseUnknown(t){if(!t["@type"]||typeof t=="string")return t;switch(oC(t)){case"sc:Collection":return this.traverseCollection(t);case"sc:Manifest":return this.traverseManifest(t);case"sc:Canvas":return this.traverseCanvas(t);case"sc:Sequence":return this.traverseSequence(t);case"sc:Range":return this.traverseRange(t);case"oa:Annotation":return this.traverseAnnotation(t);case"sc:AnnotationList":return this.traverseAnnotationList(t);case"sc:Layer":return this.traverseLayer(t);case"Service":return this.traverseService(t);case"oa:Choice":return this.traverseChoice(t);case"ContentResource":return this.traverseContentResource(t)}return t.profile?this.traverseService(t):t}traverseImageResource(t){let i=Array.isArray(t),n=Array.isArray(t)?t:[t],r=[];for(let o of n)typeof o=="string"?r.push(this.traverseContentResource({"@id":o,"@type":"dctypes:Image"})):r.push(this.traverseContentResource(o));return!i&&!this.options.convertPropsToArray?r[0]:r}traverseDescriptive(t){return t.thumbnail&&(t.thumbnail=this.traverseImageResource(t.thumbnail)),t.logo&&(t.logo=this.traverseImageResource(t.logo)),t}traverseOneOrMoreServices(t){let i=Array.isArray(t),n=Array.isArray(t)?t:[t],r=[];for(let o of n)r.push(this.traverseService(o));return!i&&!this.options.convertPropsToArray?r[0]:r}traverseLinking(t){return t.related&&(t.related=this.traverseOneOrManyType(t.related,this.traversals.contentResource)),t.rendering&&(t.rendering=this.traverseOneOrManyType(t.rendering,this.traversals.contentResource)),t.service&&(t.service=this.traverseOneOrMoreServices(t.service)),t.seeAlso&&(t.seeAlso=this.traverseOneOrManyType(t.seeAlso,this.traversals.contentResource)),t.within&&(typeof t.within=="string"||(t.within=this.traverseOneOrManyType(t.within,this.traversals.contentResource))),t.startCanvas&&(typeof t.startCanvas=="string"?t.startCanvas=this.traverseType({"@id":t.startCanvas,"@type":"sc:Canvas"},this.traversals.canvas):t.startCanvas&&this.traverseType(t.startCanvas,this.traversals.canvas)),t.contentLayer&&(typeof t.contentLayer=="string"?t.contentLayer=this.traverseLayer({"@id":t.contentLayer,"@type":"sc:Layer"}):t.contentLayer=this.traverseLayer(t.contentLayer)),t}traverseOneOrManyType(t,i){if(!Array.isArray(t))if(this.options.convertPropsToArray)t=[t];else return this.traverseType(t,i);return t.map(n=>this.traverseType(n,i))}traverseType(t,i){return i.reduce((n,r)=>{let o=r(n);return o===void 0&&!this.options.allowUndefinedReturn?n:o},t)}},Af={attributionLabel:"Attribution",lang:"none",providerId:"http://example.org/provider",providerName:""};function aC(e){if(typeof e=="string")return[e];if(!e)return[];let t=Array.isArray(e)?e:[e],i=[];for(let n of t){if(typeof n=="string"){i.push(n);continue}i.push({"@language":n["@language"]||n.language,"@value":n["@value"]||n.value})}return i}function Kr(e,t="none"){if(!e)return{none:[""]};let i=aC(e),n={};for(let r of i){if(typeof r=="string"){n[t]=n[t]?n[t]:[],n[t].push(r||"");continue}if(!r["@language"]){n[t]=n[t]?n[t]:[],n[t].push(r["@value"]||"");continue}let o=r["@language"];n[o]=n[o]?n[o]:[],n[o].push(r["@value"]||"")}return Object.keys(n).length===0?{none:[""]}:n}function Yy(e){if(Array.isArray(e))return Yy(e.find(t=>typeof t=="string"));if(rs.indexOf(e)!==-1)return"level2";if(rC.indexOf(e)!==-1)return"level1";if(Cf.indexOf(e)!==-1)return"level0";if(typeof e=="string")return e}function lC(e){let t=Array.isArray(e)?e:[e];for(let i of t)switch(i){case"http://iiif.io/api/image/2/context.json":case"http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2":return"ImageService2";case"http://iiif.io/api/image/1/context.json":case"http://library.stanford.edu/iiif/image-api/1.1/context.json":return"ImageService1";case"http://iiif.io/api/annex/openannotation/context.json":return"ImageApiSelector"}}function cC(e){switch(e){case"http://iiif.io/api/image/2/level0.json":case"http://iiif.io/api/image/2/level1.json":case"http://iiif.io/api/image/2/level2.json":return"ImageService2";case"http://iiif.io/api/auth/1/kiosk":case"http://iiif.io/api/auth/1/login":case"http://iiif.io/api/auth/1/clickthrough":case"http://iiif.io/api/auth/1/external":case"http://iiif.io/api/auth/0/kiosk":case"http://iiif.io/api/auth/0/login":case"http://iiif.io/api/auth/0/clickthrough":case"http://iiif.io/api/auth/0/external":return"AuthCookieService1";case"http://iiif.io/api/auth/1/token":case"http://iiif.io/api/auth/0/token":return"AuthTokenService1";case"http://iiif.io/api/auth/1/logout":case"http://iiif.io/api/auth/0/logout":return"AuthLogoutService1";case"http://iiif.io/api/search/1/search":case"http://iiif.io/api/search/0/search":return"SearchService1";case"http://iiif.io/api/search/1/autocomplete":case"http://iiif.io/api/search/0/autocomplete":return"AutoCompleteService1"}}function jy(e){for(let t of["sc","oa","dcterms","dctypes","iiif"])if(e.startsWith(`${t}:`))return e.slice(t.length+1);return e}var uC=["Collection","Manifest","Annotation","AnnotationPage","Range","Service"];function Ef(e){let t=e["@id"]||e.id,i=e["@type"]||e.type,n=e.profile||void 0,r=e["@context"]||void 0;if(n){let o=cC(n);if(o)return o}if(r){let o=lC(r);if(o)return o}if(i){if(Array.isArray(i)){if(i.indexOf("oa:CssStylesheet")!==-1)return"CssStylesheet";if(i.indexOf("cnt:ContentAsText")!==-1)return"TextualBody";i=i[0]}for(let o of["sc","oa","dcterms","dctypes","iiif"])if(i.startsWith(`${o}:`)){i=i.slice(o.length+1);break}switch(i){case"Layer":return"AnnotationCollection";case"AnnotationList":return"AnnotationPage";case"cnt:ContentAsText":return"TextualBody"}}if(i&&uC.indexOf(i)!==-1)return i;if(e.format){if(e.format.startsWith("image/"))return"Image";if(e.format.startsWith("text/")||e.format==="application/pdf")return"Text";if(e.format.startsWith("application/"))return"Dataset"}return t&&(t.endsWith(".jpg")||t.endsWith(".png")||t.endsWith(".jpeg"))?"Image":i||"unknown"}var dC=/^|["'\\>]http(s)?:\/\/(creativecommons.org|rightsstatements.org)\/[^"'\\<\n]+/gm;function hC(e){let t=e.match(dC);return t?t[0]:e}function fC(e,t="Rights/License",i="none"){let n=null,r=[],o=Array.isArray(e)?e:[e];for(let s of o){let a=s?hC(s):void 0;if(a&&(a.indexOf("creativecommons.org")!==-1||a.indexOf("rightsstatements.org")!==-1)){n=a.startsWith("https://")?`http://${a.slice(8)}`:a;continue}a&&r.push({label:{[i]:[t]},value:{[i]:[a]}})}return[n,r]}var pC=["http://iiif.io/api/presentation/2/context.json","http://iiif.io/api/image/2/context.json","http://iiif.io/api/image/1/context.json","http://library.stanford.edu/iiif/image-api/1.1/context.json","http://iiif.io/api/search/1/context.json","http://iiif.io/api/search/0/context.json","http://iiif.io/api/auth/1/context.json","http://iiif.io/api/auth/0/context.json","http://iiif.io/api/annex/openannotation/context.json"];function mC(e){if(e){let t=Array.isArray(e)?e:[e],i=[];for(let n of t)n==="http://iiif.io/api/presentation/2/context.json"&&i.push("http://iiif.io/api/presentation/3/context.json"),pC.indexOf(n)===-1&&i.push(n);if(t.length)return i.length===1?i[0]:i}}function gC(e){return e?e.map(t=>({label:Kr(t.label),value:Kr(t.value)})):[]}var Hy=0;function yC(e){return encodeURI(e).replace(/%25([0-9A-Fa-f]{2})/g,"%$1")}function Gy(e,t){let i=yC(e.id||e["@id"]||"").trim();return i&&t?`${i}/${t}`:i||(Hy++,`http://example.org/${e["@type"]}${t?`/${t}`:""}/${Hy}`)}function Bn(e){let t=[...e.behavior||[]];e.viewingHint&&t.push(e.viewingHint);let i;return Array.isArray(e.motivation)?i=e.motivation.map(jy):e.motivation&&(i=jy(e.motivation)),{"@context":e["@context"]?mC(e["@context"]):void 0,id:(e["@id"]||Gy(e)).trim(),type:Ef(e),behavior:t.length?t:void 0,height:e.height?e.height:void 0,width:e.width?e.width:void 0,motivation:i,viewingDirection:e.viewingDirection,profile:e.profile,format:e.format?e.format:void 0,duration:void 0,timeMode:void 0}}function Vn(e){let[t,i]=fC(e.license),n=[...e.metadata?gC(e.metadata):[],...i];return{rights:t,metadata:n.length?n:void 0,label:e.label?Kr(e.label):void 0,requiredStatement:e.attribution?{label:Kr(Af.attributionLabel),value:Kr(e.attribution)}:void 0,navDate:e.navDate,summary:e.description?Kr(e.description):void 0,thumbnail:vC(e.thumbnail)}}function vC(e){return e&&(Array.isArray(e)?e:[e]).map(t=>typeof t=="string"?{id:t,type:"Image"}:(t.type==="unknown"&&(t.type="Image"),t))}function bC(e){if(!e.within)return;let t=Array.isArray(e.within)?e.within:[e.within],i=[];for(let n of t)if(typeof n=="string"){if(n)switch(e["@type"]){case"sc:Manifest":i.push({id:n,type:"Collection"});break}}else n["@id"]&&i.push({id:n["@id"],type:Ef(n)});return i.length?i:void 0}function mr(e){let t=e.related?Array.isArray(e.related)?e.related:[e.related]:[],i=e.contentLayer;return{provider:e.logo||t.length?[{id:Af.providerId,type:"Agent",homepage:t.length?[t[0]]:void 0,logo:e.logo?Array.isArray(e.logo)?e.logo:[e.logo]:void 0,label:Kr(Af.providerName)}]:void 0,partOf:bC(e),rendering:e.rendering,seeAlso:e.seeAlso,start:e.startCanvas,service:e.service?Ve(e.service):void 0,supplementary:i?[i]:void 0}}function xC(e){return{chars:e.chars,format:e.format?e.format:void 0,language:e.language}}function Pf(e,t){return e?typeof e=="string"?{id:e,type:t}:typeof e?.["@id"]=="string"?{id:e["@id"],type:t}:typeof e.id=="string"?{id:e.id,type:t}:null:null}function wC(e){let t={};if(e.first){let i=Pf(e.first,"Collection");i&&(t.first=i)}if((e.total||e.total===0)&&(t.total=e.total),e.prev){let i=Pf(e.prev,"Collection");i&&(t.prev=i)}if(e.next){let i=Pf(e.next,"Collection");i&&(t.next=i)}return t}function SC(e){let t=[];for(let i of e){let n={...i};n.items&&n.items.length===0&&delete n.items,t.push(n)}return t}function RC(e){return Gi({...Bn(e),...Vn(e),...mr(e),...wC(e),items:SC(e.members)})}function CC(e){let t=[],i=[],n,r;for(let s of e.sequences||[])s.canvases.length&&t.push(...s.canvases),s.behavior&&i.push(...s.behavior),s.viewingDirection&&(r=s.viewingDirection),s.startCanvas&&(n=s.startCanvas);let o=Bn(e);return i.length&&(o.behavior?o.behavior.push(...i):o.behavior=i),Gi({...o,...Vn(e),...mr(e),viewingDirection:r,start:n,items:t,structures:TC(e.structures)})}function TC(e){if(!e)return e;let t=new Map;for(let n of e)t.set(n.id,n);let i=[];for(let n of e)n.items&&(n.items=n.items.map(r=>typeof r=="string"?(i.push(r),t.get(r)||r):r&&r.id?(i.push(r.id),t.get(r.id)||r):r));return e.filter(n=>i.indexOf(n.id)===-1)}function PC(e){return Gi({...Bn(e),...Vn(e),...mr(e),annotations:e.otherContent&&e.otherContent.length?e.otherContent:void 0,items:e.images&&e.images.length?[{id:Gy(e,"annotation-page"),type:"AnnotationPage",items:e.images}]:void 0})}function AC(e){return Gi({...Bn(e),...Vn(e),...mr(e),items:e.resources&&e.resources.length?e.resources:void 0})}function IC(e){return!e.canvases||e.canvases.length===0?{canvases:[],behavior:[]}:{canvases:e.canvases,behavior:e.viewingHint?[e.viewingHint]:[],viewingDirection:e.viewingDirection,startCanvas:e.startCanvas}}function EC(e){function t(i){if(Array.isArray(i)){if(i.length>1)return{type:"List",items:i.map(t)};i=i[0]}if(typeof i=="string")return encodeURI(i).trim();if("@type"in i){let n;if(typeof i.full=="string")n=i.full;else if(i.full["@type"]==="dctypes:Image")n={id:i.full["@id"],type:"Image"};else if(i.full["@type"]==="sc:Canvas")n={id:i.full["@id"],type:"Canvas"};else throw Error(`Unsupported source type on annotation: ${i.full["@type"]}`);return{type:"SpecificResource",source:n,selector:If(i.selector)}}else return encodeURI(i["@id"]).trim()}return Gi({...Bn(e),...Vn(e),...mr(e),target:t(e.on),body:Array.isArray(e.resource)?e.resource.map(qy):qy(e.resource)})}function qy(e){return e.type==="Choice"?e:Ky(e)}function Ky(e){let t=e;return Gi({...Bn(t),...Vn(t),...mr(t),...xC(t)})}function MC(e){let t=[];return e.default&&e.default!=="rdf:nil"&&t.push(e.default),e.item&&e.item!=="rdf:nil"&&t.push(...e.item),Gi({...Bn(e),...Vn(e),items:t})}function kC(e){return Gi({...Bn(e),...Vn(e),...mr(e),items:e.members})}function OC(e){let{"@id":t,"@type":i,"@context":n,profile:r,...o}=e,s={};return t&&(s["@id"]=t),s["@type"]=Ef(e),s["@type"]==="unknown"&&(n&&n.length&&(s["@context"]=n),s["@type"]="Service"),r&&(s.profile=Yy(r)),Gi({...s,...o})}function LC(e){return Gi({...Bn(e),...Vn(e),...mr(e)})}var _C=new sC({collection:[RC],manifest:[CC],canvas:[PC],annotationList:[AC],sequence:[IC],annotation:[EC],contentResource:[Ky],choice:[MC],range:[kC],service:[OC],layer:[LC]});function Vc(e){return e&&e["@context"]&&(e["@context"]==="http://iiif.io/api/presentation/2/context.json"||Array.isArray(e["@context"])&&e["@context"].indexOf("http://iiif.io/api/presentation/2/context.json")!==-1||e["@context"]==="http://www.shared-canvas.org/ns/context.json")||e["@context"]==="http://iiif.io/api/image/2/context.json"||e["@id"]&&e["@type"]==="sc:Collection"||e["@id"]&&e["@type"]==="sc:Manifest"?(e["@context"]||(e["@context"]="http://iiif.io/api/presentation/2/context.json"),_C.traverseUnknown(e)):e}function If(e){if((Array.isArray(e["@type"])&&e["@type"].includes("oa:SvgSelector")||e["@type"]=="oa:SvgSelector")&&("chars"in e||"value"in e))return{type:"SvgSelector",value:"chars"in e?e.chars:e.value};if(e["@type"]==="oa:FragmentSelector")return{type:"FragmentSelector",value:e.value};if(e["@type"]==="oa:Choice")return[If(e.default),...(Array.isArray(e.item)?e.item:[e.item]).map(If)];if(e["@type"]=="iiif:ImageApiSelector")return{type:"ImageApiSelector",region:"region"in e?e.region:void 0,rotation:"rotation"in e?e.rotation:void 0};throw Error(`Unsupported selector type: ${e["@type"]}`)}var Xy=new Set(["Timeline","Canvas","Scene"]),FC=new Set(["Audio","Sound"]);function NC(e){if(!e||typeof e!="object")return!1;let t=e["@context"];return typeof t=="string"?t.includes("/presentation/4/"):Array.isArray(t)?t.some(i=>typeof i=="string"&&i.includes("/presentation/4/")):!1}function La(e){if(!e||typeof e!="object")return;typeof e["@id"]=="string"&&typeof e.id!="string"&&qh(e,e["@id"]);let t=e["@type"];typeof t=="string"&&typeof e.type!="string"&&pr(e,t)}function Oa(e,t,i){if(!e)return i;let n=t[e];if(typeof n=="string")return n;let r=e.indexOf("#");if(r!==-1){let o=t[e.slice(0,r)];if(typeof o=="string")return o}return i}function Of(e,t={}){if(Array.isArray(e)){for(let r of e)Of(r,t);return t}if(!si(e))return t;La(e);let i=Dt(e),n=je(e);i&&n&&!t[i]&&(t[i]=n);for(let r of Object.values(e))r&&typeof r=="object"&&Of(r,t);return t}function DC(e,t){let i=e.indexOf("#");return i===-1?e:`${e.slice(0,i).replace(/\/+$/,"")}/${e.slice(i+1).replace(/^\/+/,"").replace(/\/+$/,"")||t.toLowerCase()}`}function Lf(e,t=new Map){if(Array.isArray(e))return e.forEach(r=>Lf(r,t)),t;if(!si(e))return t;La(e);let i=Dt(e),n=je(e);return i&&n&&Xy.has(n)&&i.includes("#")&&t.set(i,DC(i,n)),Object.values(e).forEach(r=>Lf(r,t)),t}function zC(e,t){for(let[i,n]of t){if(e===i)return n;if(e.startsWith(`${i}/`))return`${n}${e.slice(i.length)}`}return e}function _f(e,t){if(typeof e=="string")return zC(e,t);if(Array.isArray(e))return e.map(i=>_f(i,t));if(!si(e))return e;for(let[i,n]of Object.entries(e))e[i]=_f(n,t);return e}function BC(e){let t=[...Lf(e)].sort(([i],[n])=>n.length-i.length);return t.length?_f(e,t):e}function Zy(e,t,i){if(Array.isArray(e)){let r=e.map(o=>Zy(o,t,i));return r.length===1?r[0]:r}if(typeof e=="string")return{id:e,type:Oa(e,t,i)};if(!si(e))return e;La(e);let n=Dt(e);return n&&!je(e)&&pr(e,Oa(n,t,i)),e}function Mf(e,t,i){if(typeof e=="string")return{id:e,type:Oa(e,t,i)};if(!si(e))return e;if(La(e),!je(e)&&(e.source||e.selector||e.transform||e.action)&&pr(e,"SpecificResource"),je(e)==="SpecificResource"){if(e.source!==void 0)e.source=Zy(e.source,t,i);else{let r=Dt(e);r&&(e.source={id:r,type:Oa(r,t,i)})}return e}let n=Dt(e);return n&&!je(e)&&pr(e,Oa(n,t,i)),e}function VC(e,t,i){if(e.motivation=Dn(e.motivation),Array.isArray(e.body)){let n=e.body.filter(r=>r!=null);e.body=n.length>1?{type:"Independents",items:n}:n.length===1?n[0]:void 0}if(Array.isArray(e.target)){let n=e.target.filter(r=>r!=null).map(r=>Mf(r,t,i));e.target=n.length>1?{type:"Independents",items:n}:n.length===1?n[0]:void 0}else si(e.target)&&["Choice","Composite","List","Independents"].includes(je(e.target)||"")&&"items"in e.target?e.target.items=Dn(e.target.items).map(n=>Mf(n,t,i)):e.target=Mf(e.target,t,i);e.bodyValue&&!e.body&&(e.body={type:"TextualBody",value:e.bodyValue,language:e.language},delete e.bodyValue)}function kf(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Qy(e){if(!si(e))return[e];let t=je(e);return t==="Choice"||t==="Composite"||t==="List"||t==="Independents"?Dn(e.items).flatMap(i=>Qy(i)):[e]}function WC(e){let t=Qy(e);return t.length?t.every(i=>{if(!si(i))return!1;let n=je(i);return!!n&&FC.has(n)}):!1}function $C(e){let t=Dn(e?.items);if(!t.length)return!1;let i=!1;for(let n of t)if(!(!si(n)||je(n)!=="AnnotationPage"))for(let r of Dn(n.items)){if(!si(r)||je(r)!=="Annotation"||!Dn(r.motivation).includes("painting"))continue;i=!0;let o=Dn(r.body);if(!o.length||!o.every(s=>WC(s)))return!1}return i}function jC(e){return!si(e)||je(e)!=="Canvas"||!kf(e.duration)||kf(e.width)||kf(e.height)?!1:$C(e)}function HC(e){!si(e)||je(e)!=="PointSelector"||!Object.hasOwn(e,"t")||(e.instant===void 0&&Number.isFinite(e.t)&&(e.instant=e.t),delete e.t)}function qC(e){je(e)==="iiif:ImageApiSelector"&&pr(e,"ImageApiSelector")}function UC(e){typeof e.language=="string"&&(e.language=[e.language]),typeof e.purpose=="string"&&(e.purpose=[e.purpose])}function Ff(e,t,i=!1,n="Canvas"){if(Array.isArray(e))return e.map(s=>Ff(s,t,!1,n));if(!si(e))return e;if(!i&&"@context"in e&&delete e["@context"],La(e),jC(e)){pr(e,"Timeline");let s=Dt(e);s&&(t[s]="Timeline")}let r=je(e);qC(e),HC(e),UC(e);let o=r&&Xy.has(r)?r:n;r==="AnnotationPage"&&(delete e.width,delete e.height),e.placeholderCanvas&&!e.placeholderContainer&&(e.placeholderContainer=e.placeholderCanvas,delete e.placeholderCanvas),e.accompanyingCanvas&&!e.accompanyingContainer&&(e.accompanyingContainer=e.accompanyingCanvas,delete e.accompanyingCanvas),r==="Annotation"&&(Object.hasOwn(e,"body")||Object.hasOwn(e,"target")||Object.hasOwn(e,"motivation"))&&VC(e,t,o);for(let[s,a]of Object.entries(e))a&&typeof a=="object"&&(e[s]=Ff(a,t,!1,o));return i&&(r==="Manifest"||r==="Collection")&&(e["@context"]=Yr),e}function Jy(e){let t=Vc(Hh(e));return NC(t)||BC(t),Ff(t,Of(t),!0)}function Xr(e,t){let i=t||"unknown";if(!e)return;if(typeof e=="string")return{id:e,type:i};if(ri(e))return Xr(e.source,t);let n=i&&i!=="unknown"?i:e.type||e["@type"],r=e.id||e["@id"];if(n&&n.indexOf(":")!==-1&&(n=n.split(":").pop()),r&&n)return{id:r,type:n}}var Zr={},mt="iiif-parser:hasPart",fi="iiif-parser:partOf",Qr="iiif-parser:isExternal",Ci="__$UNSET$__",$c="__$UNWRAP$__",ve=[];Object.freeze(ve),Object.freeze(Zr);function tv(e){if(e===Zr||Object.keys(e).length===0)return!0;for(let t in e)return!1;return!0}function os(e,t){if(t&&t["@explicit"]){let i={},n=Object.keys(t);for(let r of n)r===fi||r==="@explicit"||(tv(t[r])?i[r]=e[r]:i[r]=t[r]);return i}return e}function jc(e,t,i){let n=Xr(t);if(!n)return[void 0,void 0];let r=e.requests[n.id],o=n.type||e.mapping[n.id];if(!o||r&&r.resourceUri&&(!e.entities[o]||!e.entities[o][r.resourceUri]))return[void 0,void 0];let s=e.entities[o][r?r.resourceUri:n.id];return n.type&&!s?jc(e,{id:n.id},i):s&&s[mt]?[os(s,s[mt].find(a=>i?a[fi]===i.id:a[fi]===s.id)),s]:[s,s]}var Hc={id:"https://iiif-parser/annotation-page",type:"AnnotationPage",behavior:ve,label:null,thumbnail:ve,summary:null,requiredStatement:null,metadata:ve,rights:null,provider:ve,items:ve,seeAlso:ve,homepage:ve,rendering:ve,service:ve},qc={id:"https://iiif-parser/empty-canvas",type:"Canvas",label:null,behavior:ve,thumbnail:ve,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:ve,rights:null,navDate:null,provider:ve,items:ve,annotations:ve,seeAlso:ve,homepage:ve,partOf:ve,rendering:ve,service:ve,duration:0,height:0,width:0},Uc={id:"https://iiif-parser/empty-collection",type:"Collection",label:null,viewingDirection:"left-to-right",behavior:ve,thumbnail:ve,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:ve,rights:null,navDate:null,provider:ve,items:ve,annotations:ve,seeAlso:ve,homepage:ve,partOf:ve,rendering:ve,service:ve,services:ve},Yc={id:"https://iiif-parser/empty-manifest",type:"Manifest",annotations:ve,behavior:ve,homepage:ve,items:ve,label:null,metadata:ve,navDate:null,provider:ve,partOf:ve,accompanyingCanvas:null,placeholderCanvas:null,rendering:ve,requiredStatement:null,rights:null,seeAlso:ve,service:ve,services:ve,start:null,structures:ve,summary:null,thumbnail:ve,viewingDirection:"left-to-right"},Gc={id:"https://iiif-parser/empty-canvas",type:"Range",label:null,behavior:ve,thumbnail:ve,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:ve,rights:null,navDate:null,provider:ve,items:ve,annotations:ve,seeAlso:ve,homepage:ve,partOf:ve,rendering:ve,service:ve,start:null,supplementary:null,viewingDirection:"left-to-right"},Kc={id:"https://iiif-parser/empty-agent",type:"Agent",label:{},logo:ve,seeAlso:ve,homepage:ve},Bf={id:"https://iiif-parser/empty-service",type:"UnknownService"},zi={label:null,summary:null,metadata:qe,provider:qe,thumbnail:qe,behavior:qe,seeAlso:qe,service:qe,services:qe,homepage:qe,rendering:qe,partOf:qe,annotations:qe},iv={id:"https://iiif-parser/empty-collection",type:"Collection",items:qe,...zi},nv={id:"https://iiif-parser/empty-collection-page",type:"CollectionPage",items:qe,next:null,prev:null,...zi},rv={id:"https://iiif-parser/empty-manifest",type:"Manifest",items:qe,structures:qe,start:null,rights:null,requiredStatement:null,...zi},ov={id:"https://iiif-parser/empty-timeline",type:"Timeline",duration:0,items:qe,...zi},sv={id:"https://iiif-parser/empty-canvas",type:"Canvas",height:0,width:0,items:qe,...zi},av={id:"https://iiif-parser/empty-scene",type:"Scene",items:qe,...zi},lv={id:"https://iiif-parser/empty-annotation-page",type:"AnnotationPage",items:qe,...zi},cv={id:"https://iiif-parser/empty-annotation-collection",type:"AnnotationCollection",items:qe,first:null,last:null,...zi},uv={id:"https://iiif-parser/empty-annotation",type:"Annotation",motivation:qe,body:null,provides:qe,target:{id:"https://iiif-parser/empty-annotation/target",type:"ContentResource"},...zi},dv={id:"https://iiif-parser/empty-range",type:"Range",items:qe,supplementary:null,...zi},hv={id:"https://iiif-parser/empty-agent",type:"Agent",logo:qe,...zi},fv={id:"https://iiif-parser/empty-specific-resource",type:"SpecificResource",source:{id:"https://iiif-parser/empty-specific-resource/source",type:"Canvas"},selector:qe,transform:qe,action:qe},pv={id:"https://iiif-parser/empty-content-resource",type:"ContentResource",value:null,language:qe,items:qe,selector:qe,transform:qe,action:qe,provides:qe,...zi};function wn(e){let[t,i]=(e||"").split("#");return!i||!YC(i)?[e||"",""]:[t,i]}function YC(e){return e.includes("xywh=")||e.includes("t=")}var GC=["thumbnail","homepage","rendering","seeAlso","supplementary","logo"],KC=["placeholderContainer","accompanyingContainer","start"],ev=new Set(["Choice","Composite","List","Independents"]),XC=new Set(["AmbientAudio","PointAudio","SpotAudio"]);function Nf(e){return!e||typeof e!="object"||Array.isArray(e)||typeof e.id!="string"||typeof e.type!="string"||e.type==="SpecificResource"?!1:Object.keys(e).every(t=>t==="id"||t==="type")}var Vf=class mv{constructor(t={},i={}){oi(this,"traversals",void 0),oi(this,"options",void 0),this.traversals={collection:[],collectionPage:[],manifest:[],timeline:[],canvas:[],scene:[],annotationCollection:[],annotationPage:[],annotation:[],contentResource:[],range:[],service:[],agent:[],specificResource:[],selector:[],quantity:[],transform:[],...t},this.options={allowUndefinedReturn:!1,coerceContainerTargetsToSpecificResources:!1,legacyPresentation3Behavior:!1,coerceLegacyPointSelectorTime:!0,...i}}static all(t){return new mv({collection:[t],collectionPage:[t],manifest:[t],timeline:[t],canvas:[t],scene:[t],annotationCollection:[t],annotationPage:[t],annotation:[t],contentResource:[t],range:[t],service:[t],agent:[t],specificResource:[t],selector:[t],quantity:[t],transform:[t]})}traverseLinkedResources(t,i){if(!t||typeof t!="object")return t;for(let n of GC)t[n]&&(t[n]=Ve(t[n]).map((r,o)=>this.traverseContentResource(r,t,`${i}.${n}[${o}]`)));t.provider&&(t.provider=Ve(t.provider).map((n,r)=>this.traverseAgent(n,t,`${i}.provider[${r}]`))),t.service&&(t.service=Ve(t.service).map((n,r)=>this.traverseService(n,t,`${i}.service[${r}]`))),t.services&&(t.services=Ve(t.services).map((n,r)=>this.traverseService(n,t,`${i}.services[${r}]`))),t.partOf&&(t.partOf=Ve(t.partOf).map((n,r)=>typeof n=="string"?n:this.traverseUnknown(n,{parent:t,path:`${i}.partOf[${r}]`})));for(let n of KC)if(t[n]){if(n==="start"&&this.options.coerceContainerTargetsToSpecificResources){let r=this.toSpecificResource(t[n],"Canvas"),o=t[n],s=zn(o),a=!!o&&typeof o=="object"&&!Array.isArray(o)&&("source"in o||"selector"in o||"transform"in o||"action"in o);if(r&&(r.selector||s||a)){t[n]=this.traverseSpecificResource(r,"Canvas",t,`${i}.${n}`);continue}}t[n]=this.traverseUnknown(t[n],{parent:t,path:`${i}.${n}`})}return t.navPlace&&typeof t.navPlace=="object"&&(t.navPlace=this.traverseType(t.navPlace,{parent:t,path:`${i}.navPlace`},[])),t}traverseContainerItems(t,i){return!t||typeof t!="object"||(t.items&&(t.items=Ve(t.items).map((n,r)=>ns(n)==="AnnotationPage"?this.traverseAnnotationPage(n,t,`${i}.items[${r}]`):this.traverseUnknown(n,{parent:t,path:`${i}.items[${r}]`}))),t.annotations&&(t.annotations=Ve(t.annotations).map((n,r)=>this.traverseAnnotationPage(n,t,`${i}.annotations[${r}]`)))),t}traverseManifestItems(t,i){return t.items&&(this.options.legacyPresentation3Behavior?Ve(t.items).forEach((n,r)=>{this.traverseUnknown(n,{path:`${i}.items[${r}]`})}):t.items=Ve(t.items).map((n,r)=>this.traverseUnknown(n,{parent:t,path:`${i}.items[${r}]`}))),t.structures&&(this.options.legacyPresentation3Behavior?t.structures=Ve(t.structures).map((n,r)=>this.traverseRange(n,void 0,`${i}.structures[${r}]`)):t.structures=Ve(t.structures).map((n,r)=>this.traverseRange(n,t,`${i}.structures[${r}]`))),t}traverseCollectionItems(t,i){return t.items&&(this.options.legacyPresentation3Behavior?Ve(t.items).forEach((n,r)=>{this.traverseUnknown(n,{path:`${i}.items[${r}]`})}):t.items=Ve(t.items).map((n,r)=>this.traverseUnknown(n,{parent:t,path:`${i}.items[${r}]`}))),t}traverseCollection(t,i,n="$"){let r=this.traverseCollectionItems(t,n),o=this.options.legacyPresentation3Behavior?r:this.traverseContainerItems(r,n),s=this.traversePagingReferences(o,n,"CollectionPage");return this.traverseType(this.traverseLinkedResources(s,n),{parent:i,path:n},this.traversals.collection)}traverseCollectionPage(t,i,n="$"){let r=this.traverseCollectionItems(t,n),o=this.traversePageReferences(r,n,"CollectionPage");return this.traverseType(this.traverseLinkedResources(o,n),{parent:i,path:n},this.traversals.collectionPage)}traverseManifest(t,i,n="$"){let r=Ur(o=>this.traverseManifestItems(o,n),o=>this.traverseContainerItems(o,n),o=>this.traverseLinkedResources(o,n));return this.traverseType(r(t),{parent:i,path:n},this.traversals.manifest)}traverseTimeline(t,i,n="$"){return this.traverseType(this.traverseLinkedResources(this.traverseContainerItems(t,n),n),{parent:i,path:n},this.traversals.timeline)}traverseCanvas(t,i,n="$"){return this.traverseType(this.traverseLinkedResources(this.traverseContainerItems(t,n),n),{parent:i,path:n},this.traversals.canvas)}traverseScene(t,i,n="$"){return this.traverseType(this.traverseLinkedResources(this.traverseContainerItems(t,n),n),{parent:i,path:n},this.traversals.scene)}traverseAnnotationItems(t,i){return t.items&&(t.items=Ve(t.items).map((n,r)=>this.traverseUnknown(n,{parent:t,path:`${i}.items[${r}]`,typeHint:"Annotation"}))),t}traversePagingReferences(t,i,n){if(!t||typeof t!="object")return t;for(let r of["first","last"])if(t[r]){if(typeof t[r]=="string"){t[r]={id:t[r],type:n};continue}t[r]=this.traverseUnknown(t[r],{parent:t,path:`${i}.${r}`,typeHint:n})}return t}traversePageReferences(t,i,n){if(!t||typeof t!="object")return t;for(let r of["next","prev"])t[r]&&(t[r]=typeof t[r]=="string"?{id:t[r],type:n}:{...t[r],type:je(t[r])||n});return t}traverseAnnotationPage(t,i,n="$"){return this.traverseType(this.traverseLinkedResources(this.traverseAnnotationItems(t,n),n),{parent:i,path:n},this.traversals.annotationPage)}traverseAnnotationCollection(t,i,n="$"){return this.traverseType(this.traverseLinkedResources(this.traversePagingReferences(this.traverseAnnotationItems(t,n),n,"AnnotationPage"),n),{parent:i,path:n},this.traversals.annotationCollection)}traverseAnnotationBody(t,i){if(t.body===null||t.body===void 0)return t.body=null,t;let n=Ve(t.body).map((r,o)=>{if(typeof r=="string")return this.traverseContentResource({id:r,type:"ContentResource"},t,`${i}.body[${o}]`);if(!(!r||typeof r!="object"))return this.traverseUnknown(r,{parent:t,path:`${i}.body[${o}]`,typeHint:"ContentResource"})}).filter(r=>!!r);return n.length===0?(t.body=null,t):(t.body=this.toSingleAnnotationObject(n,t,`${i}.body`),t)}traverseAnnotationTarget(t,i){let n=Ve(t.target).map((r,o)=>this.traverseAnnotationTargetValue(r,t,`${i}.target[${o}]`)).filter(r=>!!r);return t.target=this.toSingleAnnotationObject(n,t,`${i}.target`),t}traverseAnnotationTargetValue(t,i,n){if(zn(t))return this.traverseSpecificResource(t,void 0,i,n);let r=this.getContainerTypeHint(t,"Canvas"),o=je(t);if(t&&typeof t=="object"&&!Array.isArray(t)&&o&&ev.has(o)&&"items"in t)return this.traverseContentResource({...t,items:Ve(t.items).map((a,c)=>this.traverseAnnotationTargetValue(a,i,`${n}.items[${c}]`)).filter(a=>!!a)},i,n);let s=this.toImplicitSpecificResource(t,r);if(s)return this.traverseSpecificResource(s,r,i,n);if(this.options.coerceContainerTargetsToSpecificResources){let a=this.toSpecificResource(t,r);if(a)return this.traverseSpecificResource(a,r,i,n)}if(typeof t=="string"){let a=this.toSpecificResource(t,r);return a?.selector?this.traverseSpecificResource(a,r,i,n):{id:t,type:r}}if(o&&Gr.has(o)){let a=this.toSpecificResource(t,r);if(a&&a.selector)return this.traverseSpecificResource(a,r,i,n)}return Nf(t)?t:this.traverseUnknown(t,{parent:i,path:n})}traverseAnnotation(t,i,n="$"){return t.position&&typeof t.position=="object"&&(t.position=this.traversePosition(t.position,t,`${n}.position`)),this.traverseType(this.traverseLinkedResources(this.traverseAnnotationTarget(this.traverseAnnotationBody(t,n),n),n),{parent:i,path:n},this.traversals.annotation)}traverseSelector(t,i,n="$"){return this.options.coerceLegacyPointSelectorTime&&t&&typeof t=="object"&&!Array.isArray(t)&&t.type==="PointSelector"&&Object.hasOwn(t,"t")&&(t.instant===void 0&&Number.isFinite(t.t)&&(t.instant=t.t),delete t.t),t.refinedBy&&(t.refinedBy=this.traverseSelector(t.refinedBy,t,`${n}.refinedBy`)),this.traverseType(t,{parent:i,path:n},this.traversals.selector)}traverseQuantity(t,i,n="$"){return this.traverseType(t,{parent:i,path:n},this.traversals.quantity)}traverseTransform(t,i,n="$"){return this.traverseType(t,{parent:i,path:n},this.traversals.transform)}traversePosition(t,i,n){return zn(t)?this.traverseSpecificResource(t,void 0,i,n):Ma(t)?this.traverseSelector(t,i,n):t}traverseSpecificResource(t,i,n,r="$"){let o=this.toSpecificResource(t,i||"Canvas");o&&(t=o);let s=t.source,a=Array.isArray(s)?s[0]:s,c;if(typeof a=="string"){let[d]=wn(a);c={id:d,type:i||"ContentResource"}}else if(a&&typeof a=="object"){let d=Object.keys(a).some(p=>p!=="id"&&p!=="@id"&&p!=="type"&&p!=="@type"),h=this.traverseUnknown(a,{parent:n,path:Array.isArray(s)?`${r}.source[0]`:`${r}.source`,typeHint:i||"ContentResource"});c=this.options.legacyPresentation3Behavior&&d&&Nf(h)?{...a,id:Dt(h)||Dt(a),type:je(h)||je(a)||i||"ContentResource"}:h}let u=Ve(t.selector).map((d,h)=>this.traverseSelector(d,t,`${r}.selector[${h}]`));t.selector=u;let l=Ve(t.transform).map((d,h)=>this.traverseTransform(d,t,`${r}.transform[${h}]`));return t.transform=l,t.position&&typeof t.position=="object"&&(t.position=this.traversePosition(t.position,t,`${r}.position`)),c&&(t.source=c),this.traverseType(t,{parent:n,path:r},this.traversals.specificResource)}traverseContentResource(t,i,n="$"){return!t||typeof t!="object"?this.options.legacyPresentation3Behavior&&typeof t=="string"?{id:t,type:"ContentResource"}:t:zn(t)?this.traverseSpecificResource(t,"ContentResource",i,n):ka(t)?this.traverseQuantity(t,i,n):Ma(t)?this.traverseSelector(t,i,n):(XC.has(t.type)&&t.source&&(t.source=this.traverseUnknown(t.source,{parent:t,path:`${n}.source`,typeHint:"Audio"})),t.type==="ImageBasedLight"&&t.environmentMap&&(t.environmentMap=this.traverseContentResource(t.environmentMap,t,`${n}.environmentMap`)),t.lookAt&&typeof t.lookAt=="object"&&(zn(t.lookAt)?t.lookAt=this.traverseSpecificResource(t.lookAt,void 0,t,`${n}.lookAt`):Ma(t.lookAt)?t.lookAt=this.traverseSelector(t.lookAt,t,`${n}.lookAt`):je(t.lookAt)==="Annotation"&&!Nf(t.lookAt)&&(t.lookAt=this.traverseAnnotation(t.lookAt,t,`${n}.lookAt`))),t.position&&typeof t.position=="object"&&(t.position=this.traversePosition(t.position,t,`${n}.position`)),t.intensity&&ka(t.intensity)&&(t.intensity=this.traverseQuantity(t.intensity,t,`${n}.intensity`)),t.volume&&ka(t.volume)&&(t.volume=this.traverseQuantity(t.volume,t,`${n}.volume`)),ev.has(t.type)&&t.items&&(t.items=Ve(t.items).map((r,o)=>this.traverseContentResource(r,t,`${n}.items[${o}]`))),t.annotations&&(t.annotations=Ve(t.annotations).map((r,o)=>this.traverseAnnotationPage(r,t,`${n}.annotations[${o}]`))),t.service&&(t.service=Ve(t.service).map((r,o)=>this.traverseService(r,t,`${n}.service[${o}]`))),t.services&&(t.services=Ve(t.services).map((r,o)=>this.traverseService(r,t,`${n}.services[${o}]`))),this.traverseType(this.traverseLinkedResources(t,n),{parent:i,path:n},this.traversals.contentResource))}traverseRange(t,i,n="$"){return t.items&&(t.items=Ve(t.items).map((r,o)=>{if(zn(r))return this.traverseSpecificResource(r,"Canvas",t,`${n}.items[${o}]`);if(this.options.coerceContainerTargetsToSpecificResources){let s=this.getContainerTypeHint(r,"Canvas"),a=this.toSpecificResource(r,s);if(a)return this.traverseSpecificResource(a,s,t,`${n}.items[${o}]`)}return this.traverseUnknown(r,{parent:t,path:`${n}.items[${o}]`})})),this.traverseType(this.traverseLinkedResources(t,n),{parent:i,path:n},this.traversals.range)}traverseAgent(t,i,n="$"){return this.traverseType(this.traverseLinkedResources(t,n),{parent:i,path:n},this.traversals.agent)}traverseService(t,i,n="$"){return t&&typeof t=="object"&&t.service&&(t.service=Ve(t.service).map((r,o)=>this.traverseService(r,t,`${n}.service[${o}]`))),this.traverseType(t,{parent:i,path:n},this.traversals.service)}toSingleAnnotationObject(t,i,n){if(t.length===1&&t[0]&&typeof t[0]=="object")return t[0];let r={id:Nc({type:"List",items:t},"ContentResource",n),type:"List",items:t};return this.traverseContentResource(r,i,n)}traverseType(t,i,n){return n.reduce((r,o)=>{let s=o(r,i);return s===void 0?r:s},t)}getContainerTypeHint(t,i="Canvas"){let n=je(t);return n&&Gr.has(n)?n:i}toSpecificResource(t,i="Canvas"){if(Array.isArray(t)||t==null)return;if(typeof t=="string"){let[u,l]=wn(t),d={type:"SpecificResource",source:{id:u,type:i}};return l&&(d.selector={type:"FragmentSelector",value:l}),d}if(typeof t!="object")return;if(zn(t)){let u={...t};if(Array.isArray(u.source)&&(u.source=u.source[0]),typeof u.source=="string"?u.source={id:u.source,type:i}:u.source&&typeof u.source=="object"&&!Array.isArray(u.source)?je(u.source)||(u.source={...u.source,type:i}):Dt(u)&&(u.source={id:Dt(u),type:i}),u.source&&typeof u.source=="object"&&!Array.isArray(u.source)&&typeof u.source.id=="string"){let[l,d]=wn(u.source.id);u.source={...u.source,id:l},!u.selector&&d&&(u.selector={type:"FragmentSelector",value:d})}return u}let n=je(t);if(n&&!Gr.has(n))return;let r=Dt(t);if(!r)return;let o={...t,id:r,type:n||i},[s,a]=wn(o.id);o.id=s;let c={type:"SpecificResource",source:o};return a&&(c.selector={type:"FragmentSelector",value:a}),c}toImplicitSpecificResource(t,i="Canvas"){if(!t||typeof t!="object"||Array.isArray(t)||je(t))return;let n=Dt(t),r="source"in t||"selector"in t||"transform"in t||"action"in t,[,o]=wn(n);if(!(!r&&!o))return r?this.toSpecificResource({...t,type:"SpecificResource"},i):this.toSpecificResource(t,i)}traverseUnknown(t,{parent:i,path:n,typeHint:r}){let o=ns(t,r);switch(o){case"Collection":return this.traverseCollection(t,i,n);case"CollectionPage":return this.traverseCollectionPage(t,i,n);case"Manifest":return this.traverseManifest(t,i,n);case"Timeline":return this.traverseTimeline(t,i,n);case"Canvas":return this.traverseCanvas(t,i,n);case"Scene":return this.traverseScene(t,i,n);case"AnnotationCollection":return this.traverseAnnotationCollection(t,i,n);case"AnnotationPage":return this.traverseAnnotationPage(t,i,n);case"Annotation":return this.traverseAnnotation(t,i,n);case"Range":return this.traverseRange(t,i,n);case"SpecificResource":return this.traverseSpecificResource(t,void 0,i,n);case"Selector":return this.traverseSelector(t,i,n);case"Quantity":return this.traverseQuantity(t,i,n);case"Transform":return this.traverseTransform(t,i,n);case"Service":return this.traverseService(t,i,n);case"Agent":return this.traverseAgent(t,i,n);case"ContentResource":return this.traverseContentResource(t,i,n);default:if(Gr.has(o)||Dc.has(o)||zc.has(o)||is.has(o))return this.traverseContentResource(t,i,n);throw Error(`Unknown or unsupported resource type ${o}`)}}},ZC=new Vf;function gv(){return{Collection:{},CollectionPage:{},Manifest:{},Timeline:{},Canvas:{},Scene:{},AnnotationPage:{},AnnotationCollection:{},Annotation:{},ContentResource:{},Range:{},Agent:{}}}function zf(e,t,i){if(!t)return e;if(Array.isArray(e)){if(!Array.isArray(t))throw Error("Cannot merge array with non-array");let n=[...e];for(let r of t)if(r!=null)if(Array.isArray(r))n.push(r);else if(typeof r=="object"&&r.id&&r.type){let o=n.findIndex(s=>s&&s.id===r.id&&s.type===r.type);o>=0?n[o]=zf(n[o],r):n.push(r)}else e.indexOf(r)===-1&&n.push(r);return n}if(e&&typeof e=="object"){if(Array.isArray(t)||typeof t!="object")throw Error("Cannot merge object with non-object");let n={...e},r=[],o=[],s=Object.keys(e).filter(u=>u!==Ki&&u!=="id"&&u!=="type"),a={},c={};for(let[u,l]of Object.entries(t)){if(u===Ki||u==="id"||u==="type")continue;let d=n[u];d===l?o.push(u):d===jh||!d?(r.push(u),n[u]=l):(d&&l&&(a[u]=d,c[u]=l),n[u]=zf(d,l),n[u]===a[u]&&(o.push(u),delete a[u]))}if(i&&(i.parent&&i.parent.id||i.isTopLevel)){let u=[],l={};if(i.parent?l[Ea]=i.parent.id:i.isTopLevel&&(l[Ea]=e.id),n[Ki]&&n[Ki].length){let h=!(n[Ki]||[]).find(m=>m["@explicit"]),p=Object.keys(c),f=i.legacyMode?r.length>0||o.length!==s.length:r.length>0||p.length>0;if(h&&f)for(let m of n[Ki]){let g={...m},y=Object.keys(a);g["@explicit"]=!0;for(let x of s)x!==Ki&&(g[x]=Ia);for(let x of y)g[x]=a[x];u.push(g)}else u.push(...n[Ki]);if(f){l["@explicit"]=!0;for(let m of r)l[m]=Ia;for(let m of o)l[m]=Ia;for(let m of p)l[m]=c[m]}}l.id=n.id,l.type=n.type,u.push(l);let d=new Set;n[Ki]=u.filter(h=>{let p=`${h?.[Ea]||""}|${h?.id||""}|${h?.type||""}|${h?.["@explicit"]?1:0}`;return d.has(p)?!1:(d.add(p),!0)})}return n}return e||t}function QC(e,t,i){if(typeof e=="string")return e;if(t.id!==e.id)throw Error(`Can only merge entities with identical identifiers! ${t.type||"unknown"}(${t.id}) => ${e.type||"unknown"}(${e.id})`);return zf({...e},t,i)}function JC(e){if(!e||typeof e!="object")return"unknown";let t=e["@context"],i=Array.isArray(t)?t:[t];for(let r of i)if(typeof r=="string"){if(r.includes("/presentation/4/"))return 4;if(r===fr||r.includes("/presentation/3/"))return 3;if(r.includes("/presentation/2/")||r.includes("shared-canvas.org/ns/context.json"))return 2}let n=e["@type"];return n==="sc:Manifest"||n==="sc:Collection"?2:"unknown"}function eT(e,t){return typeof e=="string"?{id:e,type:t}:e}function Wf(e){switch(e){case"Collection":return"Collection";case"CollectionPage":return"CollectionPage";case"Manifest":return"Manifest";case"Timeline":return"Timeline";case"Canvas":return"Canvas";case"Scene":return"Scene";case"AnnotationPage":return"AnnotationPage";case"AnnotationCollection":return"AnnotationCollection";case"Annotation":return"Annotation";case"Range":return"Range";case"Agent":return"Agent";default:return"ContentResource"}}function Si(e,t,i="$"){return(n,r)=>{if(!n||typeof n!="object")return eT(n,e);if(!Dt(n)){let o=Nc(n,e,r.path||i);n.id=o,t.push({code:"minted-id",severity:"warning",message:`Missing id minted for ${e}`,path:r.path||i,resourceType:e,resourceId:o})}return je(n)||(n.type=e),n}}function Ri(e){return t=>({...e,...t})}var tT={...uv,body:void 0,target:void 0};function Df(e){return e&&typeof e=="object"&&e.items===void 0&&(e["iiif-parser:isExternal"]=!0),e}function iT(e){return e.path.includes(".target")}function Wc(e){return(t,i)=>iT(i)?t:e(t,i)}function nT(e){if(e&&typeof e=="object"){let t=e.supplementary;e.supplementary=Array.isArray(t)?t[0]||null:t||null}return e}function rT(e){return t=>(i,n)=>{if(!i||typeof i!="object")return i;let r=Dt(i);return r&&(e[r]=Wf(t||ns(i))),i}}function oT(e,t={}){let{legacyMode:i=!1}=t;return n=>(r,o)=>{if(!r||typeof r!="object")return r;let s=Dt(r);if(!s)return r;let a=n||ns(r),c=Wf(a);Object.hasOwn(r,"language")?typeof r.language=="string"?r.language=[r.language]:Array.isArray(r.language)?r.language=r.language.filter(d=>typeof d=="string"):r.language??(r.language=[]):c==="ContentResource"&&(r.language=[]);let u=e[c][s],l={parent:o.parent,isTopLevel:o.path==="$",legacyMode:i};return e[c][s]=QC(u||{id:s,type:je(r)||a},r,l),{id:s,type:c==="ContentResource"?"ContentResource":je(r)||a}}}function _a(e){let t=JC(e),i=t===2||t===3,n=[],r=e&&typeof e=="object"?e["@context"]:void 0,o=Jy(e);o&&typeof o=="object"&&(i?o["@context"]=t===2?fr:r||fr:o["@context"]||(o["@context"]=Yr));let s=gv(),a={},c=oT(s,{legacyMode:i}),u=rT(a),l=i,d=[Si("ContentResource",n)];i||d.push(Ri(pv)),d.push(Wc(u("ContentResource")),Wc(c("ContentResource")));let h=[Si("SpecificResource",n),Ri(fv),Wc(u("SpecificResource")),Wc(c("SpecificResource"))],p=new Vf({collection:[...i?[Df]:[],Si("Collection",n),Ri(i?Uc:iv),u("Collection"),c("Collection")],collectionPage:[Si("CollectionPage",n),Ri(nv),u("CollectionPage"),c("CollectionPage")],manifest:[...i?[Df]:[],Si("Manifest",n),Ri(i?Yc:rv),u("Manifest"),c("Manifest")],timeline:[Si("Timeline",n),Ri(ov),u("Timeline"),c("Timeline")],canvas:[Si("Canvas",n),Ri(i?qc:sv),u("Canvas"),c("Canvas")],scene:[Si("Scene",n),Ri(av),u("Scene"),c("Scene")],annotationCollection:[Si("AnnotationCollection",n),Ri(cv),u("AnnotationCollection"),c("AnnotationCollection")],annotationPage:[...i?[Df]:[],Si("AnnotationPage",n),Ri(i?Hc:lv),u("AnnotationPage"),c("AnnotationPage")],annotation:[Si("Annotation",n),Ri(tT),u("Annotation"),c("Annotation")],contentResource:d,range:[Si("Range",n),Ri(i?Gc:dv),nT,u("Range"),c("Range")],agent:[Si("Agent",n),Ri(i?Kc:hv),u("Agent"),c("Agent")],specificResource:h},{coerceContainerTargetsToSpecificResources:l,legacyPresentation3Behavior:i}).traverseUnknown(o,{path:"$"}),f=Dt(p),m=je(p);if(!f||!m)throw Error("Top level resource did not resolve to an id/type pair");let g=_y(n);return{entities:s,mapping:a,resource:{id:f,type:Wf(m)},diagnostics:g.issues,sourceVersion:t}}var et="__$UNSET$__",qf="__$UNWRAP$__";function sT(e,t){if(!t)return[void 0,void 0];if(typeof t=="string"){let c=e.mapping[t],u=c?e.entities[c]:void 0;if(!c||!u)return[void 0,void 0];let l=u[t];return[l,l]}let i=t.id||t["@id"],n=t.type||t["@type"],r=i?e.mapping[i]:void 0,o=n&&e.entities[n]?n:r||n,s=o?e.entities[o]:void 0;if(!i||!o||!s)return[void 0,void 0];let a=s[e.requests[i]?.resourceUri||i];return[a,a]}function yv(e){if(Array.isArray(e)&&e[0]===qf)return e[1];let t={};for(let[i,n]of e)n!==et&&n!=null&&(t[i]=n);return t}function Fa(e,t,i){if(!t.type||!t.id)throw Error("Unknown entity");if(!i[t.type])throw Error(`Serializer not found for ${t.type}`);function n(r,o,s=0){if(s>40)throw Error(`Circular reference at ${r.type}(${r.id})`);let a=r.id?e.mapping[r.id]:void 0,c=i[r.type]?r.type:a&&i[a]?a:r.type,u=i[c];if(!u)return et;let[l,d]=sT(e,c===r.type?r:{...r,type:c});if(!l)return et;let h=u(l,e,{parent:o,fullResource:d,isTopLevel:t.id===r.id&&t.type===r.type}),p=h.next();for(;!p.done;){let f=p.value,m=et;Array.isArray(f)?m=f.map(g=>!g||typeof g!="object"?g:n(g,r,s+1)):f&&typeof f=="object"?m=n(f,r,s+1):f&&f!==et&&(m=f),p=h.next(m)}return p.value===et?et:yv(p.value)}return n(t)}function yr(e,{allowSourceString:t=!0,allowString:i=!1,allowedStringType:n}={}){let r=o=>{if(t&&o&&o.source&&typeof o.source!="string"){let s=Object.keys(o.source);if(o.source.id&&o.source.type&&s.length===2)return{...o,source:o.source.id}}return o};if(e){if(e.source&&e.source.partOf)return r(e);let o=Object.keys(e);if(o.length===2&&e.type&&e.source||o.length===3&&e.type&&e.source&&o.indexOf("selector")!==-1&&!e.selector)return i&&(!n||n===e.source.type)?e.source.id:e.source.type==="ContentResource"?{type:"SpecificResource",source:e.source.id}:e.source;if(e.selector&&!Array.isArray(e.selector)&&typeof e.selector!="string"&&typeof e.styleClass!="string"&&e.selector.type==="FragmentSelector"){let s=`${e.source.id}#${e.selector.value}`;return i?s:{id:s,type:e.source.type}}}return r(e)}var aT=new Set(["PointSelector","WktSelector","AnimationSelector"]),lT=new Set(["Scene"]),cT=new Set(["Model","PerspectiveCamera","OrthographicCamera","AmbientLight","DirectionalLight","ImageBasedLight","PointLight","SpotLight","AmbientAudio","PointAudio","SpotAudio"]),uT=new Set(["List","Composite","Independents"]);function Ti(e){throw Error(`Presentation 4 -> 3 downgrade unsupported: ${e}`)}function dT(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=e.type||e["@type"];return!t||!uT.has(t)?!1:Array.isArray(e.items)&&e.items.length===0}function Ot(e){if(!e||e===et)return;let t=(Array.isArray(e)?e:[e]).filter(i=>i!==et&&!!i&&!dT(i));return t.length?t:void 0}function hT(e){if(!e||e===et)return;if(!Array.isArray(e))return e;let t=e.filter(i=>i!==et&&i!=null);return t.length?t:void 0}function fT(e){if(!e||typeof e!="object"||Array.isArray(e)||(e.type||e["@type"])!=="Annotation")return e;let t=ss(e.id||e["@id"]);return t?{id:t,type:"Annotation"}:{type:"Annotation"}}function Jr(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function vv(e){return Jr(e)?(e.type||e["@type"])==="List"&&Object.hasOwn(e,"items"):!1}function pT(e){if(!(!e||e===et))return Array.isArray(e)?e:vv(e)?Array.isArray(e.items)?e.items:void 0:[e]}function $f(e){if(!Jr(e))return e;let t=e.type||e["@type"];return t!=="Timeline"&&t!=="Scene"?e:Object.hasOwn(e,"type")?{...e,type:"Canvas"}:{...e,"@type":"Canvas"}}function jf(e){return e==="Timeline"||e==="Scene"?"Canvas":e}function mT(e){if(!Jr(e))return e;let t=jf(e.type||e["@type"]);return!t||t!=="Canvas"?e:ss(e.id||e["@id"])||{type:"Canvas"}}function bv(e){if(!Jr(e))return e;if(vv(e))return{...e,items:Array.isArray(e.items)?e.items.map(t=>bv(t)):[]};if((e.type||e["@type"])==="SpecificResource"){let t=e.source;return Array.isArray(t)?{...e,source:t.map(i=>$f(i))}:Jr(t)?{...e,source:$f(t)}:e}return $f(e)}function gT(e,t){if(!Jr(e))return e;let i={...e,type:"SpecificResource"};if(delete i.id,delete i["@id"],delete i["@type"],Array.isArray(i.selector)){let n=i.selector.filter(r=>r!=null);n.length===1?i.selector=n[0]:n.length===0&&delete i.selector}if(Array.isArray(i.transform)&&i.transform.length===0&&delete i.transform,Array.isArray(i.action)&&i.action.length===0&&delete i.action,Array.isArray(i.source)&&(i.source=i.source[0]),typeof i.source=="string"){let n=i.source;i.source={id:n,type:jf(t?.mapping?.[n])||"Canvas"}}else if(Jr(i.source)){let n=jf(i.source.type||i.source["@type"]);i.source={...i.source,...n?{type:n}:{}}}return i}function yT(e,t){let i=fT(bv(e)),n=i?.type||i?.["@type"];return n==="Canvas"?mT(i):n==="SpecificResource"?yr(gT(i,t),{allowString:!0,allowSourceString:!0,allowedStringType:"Canvas"}):i}function xv(e,t){if(Array.isArray(t))return t.map(o=>xv(e,o));if(!t||typeof t!="object")return t;let i=t.id||t["@id"];if(!i)return t;let n=t.type||t["@type"],r=e?.mapping?.[i];return n!=="ContentResource"&&r!=="ContentResource"?t:e?.entities?.ContentResource?.[i]||t}function Xc(e){if(!(!e||e.length===0))return e.length===1?e[0]:e}function ss(e){if(e)return e.startsWith("vault://")?void 0:e}function Hf(e){lT.has(e.type)&&Ti(`container type ${e.type}`),e.transform&&e.transform.length&&Ti("SpecificResource.transform"),e.action&&e.action.length&&Ti("SpecificResource.action"),e.exclude&&e.exclude.length&&Ti("Annotation.exclude"),e.position&&Ti("position"),Array.isArray(e.motivation)&&e.motivation.includes("activating")&&Ti("Annotation motivation activating")}function vT(e){let t=e.type;(cT.has(t)||is.has(t))&&Ti(`content type ${t}`)}function*Sn(e){return e.placeholderContainer&&e.placeholderContainer.type&&e.placeholderContainer.type!=="Canvas"&&Ti(`placeholderContainer type ${e.placeholderContainer.type}`),e.accompanyingContainer&&e.accompanyingContainer.type&&e.accompanyingContainer.type!=="Canvas"&&Ti(`accompanyingContainer type ${e.accompanyingContainer.type}`),[["thumbnail",Ot(yield e.thumbnail)],["provider",Ot(yield e.provider)],["seeAlso",Ot(yield e.seeAlso)],["service",Ot(e.service)],["services",Ot(e.services)],["homepage",Ot(yield e.homepage)],["rendering",Ot(yield e.rendering)],["partOf",Ot(yield e.partOf)],["placeholderCanvas",e.placeholderContainer?yield e.placeholderContainer:void 0],["accompanyingCanvas",e.accompanyingContainer?yield e.accompanyingContainer:void 0],["annotations",Ot(yield e.annotations)]]}function gr(e){return Hf(e),[["id",ss(e.id)],["type",e.type],["label",e.label],["metadata",e.metadata?.length?e.metadata:void 0],["summary",e.summary],["requiredStatement",e.requiredStatement],["rights",e.rights],["navDate",e.navDate],["navPlace",e.navPlace],["behavior",e.behavior?.length?e.behavior:void 0],["viewingDirection",e.viewingDirection],["format",e.format],["height",e.height],["width",e.width],["duration",e.duration]]}var Na={Collection:function*(e,t,{isTopLevel:i}){return[...i?[["@context",fr]]:[],...gr(e),...yield*Sn(e),["items",Ot(yield e.items)],["first",e.first],["last",e.last],["total",e.total]]},Manifest:function*(e,t,{isTopLevel:i}){return[...i?[["@context",fr]]:[],...gr(e),...yield*Sn(e),["items",Ot(yield e.items)],["structures",Ot(yield e.structures)],["start",e.start?yield e.start:void 0]]},Timeline:function*(e){return[["id",ss(e.id)],["type","Canvas"],["label",e.label],["width",et],["height",et],["duration",e.duration],...yield*Sn(e),["items",Ot(yield e.items)]]},Canvas:function*(e){return[...gr(e),...yield*Sn(e),["items",Ot(yield e.items)]]},Scene:function*(e){Ti("Scene container")},AnnotationPage:function*(e){return[...gr(e),...yield*Sn(e),["items",Ot(yield e.items)]]},AnnotationCollection:function*(e){return[...gr(e),...yield*Sn(e),["items",Ot(yield e.items)],["first",e.first],["last",e.last],["total",typeof e.total=="number"&&e.total>0?e.total:void 0]]},Annotation:function*(e,t){let i=pT(xv(t,e.target))?.map(n=>yT(n,t)).filter(n=>n!=null);return Hf(e),[...gr(e),...yield*Sn(e),["motivation",Xc(e.motivation)],["body",Xc(Ot(yield e.body))],["target",Xc(i)],["timeMode",e.timeMode]]},Range:function*(e){return[...gr(e),...yield*Sn(e),["items",Ot(yield e.items)],["start",e.start?yield e.start:void 0],["supplementary",e.supplementary?yield e.supplementary:void 0]]},Agent:function*(e){return[["id",ss(e.id)],["type",e.type||"Agent"],["label",e.label],...yield*Sn(e)]},Selector:function*(e){return typeof e.type=="string"&&aT.has(e.type)&&Ti(`selector type ${e.type}`),[["id",ss(e.id)],["type",e.type],["value",e.value],["refinedBy",e.refinedBy?yield e.refinedBy:void 0]]},Quantity:function*(e){Ti("Quantity")},Transform:function*(e){Ti("Transform")},ContentResource:function*(e){return Hf(e),vT(e),[...gr(e),...yield*Sn(e),["items",e.items?Ot(yield e.items):void 0],["source",e.source?hT(yield e.source):void 0],["selector",e.selector?Xc(Ot(yield e.selector)):void 0]]}};var wv="Presentation 4 -> 3 downgrade unsupported: Scene container",bT=class extends Error{constructor(e){super(wv),oi(this,"diagnostics",void 0),this.name="Presentation4CompatibilityError",this.diagnostics=e}};function Sv(e){let t=e?.["@context"];return(Array.isArray(t)?t:[t]).some(i=>typeof i=="string"&&i.includes("/presentation/4/"))}function Uf(e,t,i,n){if(!(!e||typeof e!="object"||n.has(e))){if(n.add(e),(e.type==="Scene"||e["@type"]==="Scene")&&i.push({code:"presentation-4-scene-unsupported",severity:"error",message:wv,path:t,resourceType:"Scene",resourceId:e.id||e["@id"]}),Array.isArray(e)){e.forEach((r,o)=>Uf(r,`${t}[${o}]`,i,n));return}for(let[r,o]of Object.entries(e))Uf(o,`${t}.${r}`,i,n)}}function xT(e){if(!Sv(e))return[];let t=[];return Uf(e,"$",t,new WeakSet),t}function Rv(e){if(!Sv(e))return Vc(e);let t=xT(e);if(t.length)throw new bT(t);let i=_a(e);return Fa({entities:i.entities,mapping:i.mapping,requests:{}},i.resource,Na)}var Cv=["Collection","Manifest","Canvas","AnnotationPage","AnnotationCollection","Annotation","ContentResource","Range","Service","Selector","Agent"];function wT(e,t){if(e==null)throw Error("Null or undefined is not a valid entity.");if(Array.isArray(e))throw Error("Array is not a valid entity");if(typeof e!="object"){if(t)return t;throw Error(`${typeof e} is not a valid entity`)}if("type"in e&&typeof e.type=="string"){let i=Cv.indexOf(e.type);if(i!==-1)return Cv[i]}if("profile"in e&&e.profile)return"Service";throw Error("Resource type is not known")}var Tv=class Pv{constructor(t,i={}){oi(this,"traversals",void 0),oi(this,"options",void 0),oi(this,"_traverseManifest",Ur(this.traverseManifestItems.bind(this),this.traverseNavPlace.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this),this.traverseManifestStructures.bind(this),this.traverseInlineAnnotationPages.bind(this))),oi(this,"_traverseCanvas",Ur(this.traverseCanvasItems.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this),this.traverseInlineAnnotationPages.bind(this))),oi(this,"_traverseAnnotationPage",Ur(this.traverseAnnotationPageItems.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this))),oi(this,"_traverseRange",Ur(this.traverseRangeRanges.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this))),this.traversals={collection:[],manifest:[],canvas:[],annotationCollection:[],annotationPage:[],annotation:[],contentResource:[],choice:[],range:[],service:[],agent:[],specificResource:[],geoJson:[],...t},this.options={allowUndefinedReturn:!1,...i}}static all(t){return new Pv({collection:[t],manifest:[t],canvas:[t],annotationCollection:[t],annotationPage:[t],annotation:[t],contentResource:[t],choice:[t],range:[t],service:[t],geoJson:[t],specificResource:[t],agent:[t]})}traverseDescriptive(t){return t.thumbnail&&(t.thumbnail=Ve(t.thumbnail).map(i=>this.traverseType(i,{parent:t},this.traversals.contentResource))),t.provider&&(t.provider=t.provider.map(i=>this.traverseAgent(i,t))),t}traverseLinking(t){return t.seeAlso&&(t.seeAlso=Ve(t.seeAlso).map(i=>this.traverseType(i,{parent:t},this.traversals.contentResource))),t.service&&(t.service=Ve(t.service).map(i=>this.traverseService(i))),t.services&&(t.services=Ve(t.services).map(i=>this.traverseService(i,t))),t.logo&&(t.logo=Ve(t.logo).map(i=>this.traverseType(i,{parent:t},this.traversals.contentResource))),t.homepage&&(t.homepage=Ve(t.homepage).map(i=>this.traverseContentResource(i,t))),t.partOf&&(t.partOf=t.partOf.map(i=>typeof i=="string"||!i.type?this.traverseType(i,{parent:t},this.traversals.contentResource):i.type==="Canvas"?this.traverseType(i,{parent:t},this.traversals.canvas):i.type==="AnnotationCollection"?this.traverseType(i,{parent:t},this.traversals.annotationCollection):i.type==="Collection"?this.traverseType(i,{parent:t},this.traversals.collection):this.traverseType(i,{parent:t},this.traversals.contentResource))),t.start&&(ri(t.start)?t.start=this.traverseSpecificResource(t.start,"Canvas",t):t.start=this.traverseType(t.start,{parent:t},this.traversals.canvas)),t.rendering&&(t.rendering=t.rendering.map(i=>this.traverseType(i,{parent:t},this.traversals.contentResource))),t.supplementary&&(t.supplementary=t.supplementary.map(i=>this.traverseType(i,{parent:t},this.traversals.contentResource))),t}traverseCollectionItems(t){return t.items&&t.items.map(i=>i.type==="Collection"?this.traverseCollection(i):this.traverseManifest(i)),t}traverseCollection(t,i){return this.traverseType(this.traverseDescriptive(this.traverseNavPlace(this.traverseInlineAnnotationPages(this.traverseLinking(this.traverseLinkedCanvases(this.traverseCollectionItems(t)))))),{parent:i},this.traversals.collection)}traverseGeoJson(t,i){return this.traverseType(t,{parent:i},this.traversals.geoJson)}traverseNavPlace(t){return t.navPlace&&(t.navPlace=this.traverseGeoJson(t.navPlace,t)),t}traverseManifestItems(t){return t.items&&(t.items=t.items.map(i=>this.traverseCanvas(i))),t}traverseManifestStructures(t){return t.structures&&(t.structures=t.structures.map(i=>this.traverseRange(i))),t}traverseManifest(t,i){return this.traverseType(this._traverseManifest(t),{parent:i},this.traversals.manifest)}traverseCanvasItems(t){return t.items=(t.items||[]).map(i=>this.traverseAnnotationPage(i,t)),t}traverseInlineAnnotationPages(t){return typeof t=="string"||!t||t.annotations&&(t.annotations=t.annotations.map(i=>this.traverseAnnotationPage(i,t))),t}traverseCanvas(t,i){return this.traverseType(this._traverseCanvas(t),{parent:i},this.traversals.canvas)}traverseAnnotationPageItems(t){return t.items&&(t.items=t.items.map(i=>this.traverseAnnotation(i,t))),t}traverseAnnotationPage(t,i){return this.traverseType(this._traverseAnnotationPage(t),{parent:i},this.traversals.annotationPage)}traverseAnnotationBody(t){return Array.isArray(t.body)?t.body=t.body.map(i=>this.traverseContentResource(i,t)):t.body&&(t.body=this.traverseContentResource(t.body,t)),t}traverseLinkedCanvases(t){return t.placeholderCanvas&&(t.placeholderCanvas=this.traverseCanvas(t.placeholderCanvas)),t.accompanyingCanvas&&(t.accompanyingCanvas=this.traverseCanvas(t.accompanyingCanvas)),t}traverseAnnotation(t,i){return this.traverseType(this.traverseLinking(this.traverseAnnotationBody(this.traverseDescriptive(t))),{parent:i},this.traversals.annotation)}traverseContentResourceLinking(t){return typeof t=="string"||!t||t&&t.service&&(t.service=Ve(t.service||[]).map(i=>this.traverseService(i,t))),t}traverseContentResource(t,i){return t.type==="Choice"&&(t.items=t.items.map(n=>this.traverseContentResource(n,t))),ri(t)?this.traverseSpecificResource(t,"ContentResource"):this.traverseType(this.traverseInlineAnnotationPages(this.traverseContentResourceLinking(this.traverseDescriptive(t))),{parent:i},this.traversals.contentResource)}traverseSpecificResource(t,i,n){let r=t.source;return typeof t.source=="string"&&(r={id:t.source,type:i||"unknown"}),this.traverseType({...t,source:i==="Canvas"||r.type==="Canvas"?this.traverseType(r,{parent:n},this.traversals.canvas):i==="ContentResource"?this.traverseContentResource(r,n):this.traverseUnknown(r,{parent:n,typeHint:i})},{parent:n},this.traversals.specificResource)}traverseRangeRanges(t){return t.items&&(t.items=t.items.map(i=>typeof i=="string"?this.traverseCanvas({id:i,type:"Canvas"},t):ri(i)?this.traverseSpecificResource(i,"Canvas",t):i.type==="Manifest"?this.traverseManifest(i,t):this.traverseRange(i,t))),t}traverseRange(t,i){return this.traverseType(this._traverseRange(t),{parent:i},this.traversals.range)}traverseAgent(t,i){return this.traverseType(this.traverseDescriptive(this.traverseLinking(t)),{parent:i},this.traversals.agent)}traverseType(t,i,n){return n.reduce((r,o)=>{let s=o(r,i);return s===void 0&&!this.options.allowUndefinedReturn?r:s},t)}traverseService(t,i){let n=Object.assign({},t);return n&&n.service&&(n.service=Ve(n.service).map(r=>this.traverseService(r))),this.traverseType(n,{parent:i},this.traversals.service)}traverseUnknown(t,{parent:i,typeHint:n}={}){let r=wT(t,n);switch(r){case"Collection":return this.traverseCollection(t,i);case"Manifest":return this.traverseManifest(t,i);case"Canvas":return this.traverseCanvas(t,i);case"AnnotationPage":return this.traverseAnnotationPage(t,i);case"Annotation":return this.traverseAnnotation(t,i);case"ContentResource":return this.traverseContentResource(t,i);case"Range":return this.traverseRange(t,i);case"Service":return this.traverseService(t,i);case"Agent":return this.traverseAgent(t,i);default:throw Error(`Unknown or unsupported resource type of ${r}`)}}};function Zc(e,t={}){if(Array.isArray(e))return Zc(e[0]);if(typeof e=="string"){let[i,n]=wn(e);return n?{type:"SpecificResource",source:{id:i,type:t.typeHint||"Unknown"},selector:{type:"FragmentSelector",value:n}}:{type:"SpecificResource",source:{id:i,type:t.typeMap&&t.typeMap[i]||t.typeHint||"Unknown"}}}if(e.type==="Choice"||e.type==="List"||e.type==="Composite"||e.type==="Independents")return Zc(e.items[0]);if(!e.type&&"source"in e&&(e.type="SpecificResource"),e.type==="SpecificResource"){e.source.type==="Canvas"&&e.source.partOf&&typeof e.source.partOf=="string"&&(e.source.partOf=[{id:e.source.partOf,type:"Manifest"}]);let i=typeof e.source=="string"?e.source:e.source.id,[,n]=wn(i);if(n){let r=Zc(i,t);r&&(e.selector=r.selector,e.source=r.source)}return e.selector?{...e,type:"SpecificResource",source:e.source,selector:e.selector}:{...e,type:"SpecificResource",source:e.source}}if(e.id){e.type==="Canvas"&&e.partOf&&typeof e.partOf=="string"&&(e.partOf=[{id:e.partOf,type:"Manifest"}]);let[i,n]=wn(e.id);return n?{type:"SpecificResource",source:{...e,id:i},selector:{type:"FragmentSelector",value:n}}:{type:"SpecificResource",source:{...e,id:i}}}return{type:"SpecificResource",source:e}}function Ev(){return{Collection:{},Manifest:{},Canvas:{},AnnotationPage:{},AnnotationCollection:{},Annotation:{},ContentResource:{},Range:{},Service:{},Selector:{},Agent:{}}}function Mv(e,t){if(typeof e=="string")return{id:e,type:t};if(!e.id)throw Error(`Invalid resource does not have an ID (${JSON.stringify(e)}, ${t})`);return e}function ST(e,t){return(i,n)=>{let r=e[i]?e[i]:{};return(o,s)=>{let a=Mv(o,n||i);return a&&a.id&&i?(r[a.id]=r[a.id]?eu(r[a.id],a,{parent:s.parent,isTopLevel:t.id===a.id}):eu({id:a.id,type:a.type},a,{parent:s.parent,isTopLevel:t.id===a.id}),{id:a.id,type:i==="ContentResource"?i:a.type}):a}}}function Jc(e,t,i){if(!t)return e;if(Array.isArray(e)){if(!Array.isArray(t))throw Error("Cannot merge array with non-array");let n=[...e];for(let r of t)if(r["@id"]&&!r.id&&(r.id=r["@id"]),r["@type"]&&!r.type&&(r.type=r["@type"]),r!=null)if(Array.isArray(r))n.push(r);else if(typeof r=="object"&&r.id&&r.type){let o=n.findIndex(s=>s.id===r.id&&s.type===r.type);o>=0&&(n[o]=Jc(n[o],r))}else e.indexOf(r)===-1&&n.push(r);return n}else if(typeof e=="object"){if(Array.isArray(t)||typeof t!="object")throw Error("Cannot merge object with non-object");let n={...e},r=[],o=[],s=Object.keys(e).filter(u=>u!==mt&&u!=="id"&&u!=="type"),a={},c={};for(let[u,l]of Object.entries(t)){if(u===mt||u==="id"||u==="type")continue;let d=n[u];d===l?o.push(u):d===ve||!d?(r.push(u),n[u]=l):(d&&l&&(a[u]=d,c[u]=l),n[u]=Jc(d,l),n[u]===a[u]&&(o.push(u),delete a[u]))}if(i&&(i.parent&&i.parent.id||i.isTopLevel)){let u=[],l={};if(i.parent?l[fi]=i.parent.id:i.isTopLevel&&(l[fi]=e.id),n[mt]&&n[mt].length){let d=!(n[mt]||[]).find(p=>p["@explicit"]),h=r.length>0||o.length!==s.length;if(d&&h)for(let p of n[mt]){let f={...p},m=Object.keys(a);if(f){f["@explicit"]=!0;for(let g of s)g!==mt&&(f[g]=Zr);for(let g of m)f[g]=a[g]}u.push(f)}else u.push(...n[mt]);if(h){let p=Object.keys(c);l["@explicit"]=!0;for(let f of r)l[f]=Zr;for(let f of o)l[f]=Zr;for(let f of p)l[f]=c[f]}}l.id=n.id,l.type=n.type,u.push(l),n[mt]=u}return n}else if(e)return e;return t}function eu(e,t,i){if(typeof e=="string")return e;if(t.id!==e.id||t.type!==e.type){if(t.type==="ImageService3")return t;if(e.type==="ImageService3")return e;throw Error(`Can only merge entities with identical identifiers and type! ${t.type}(${t.id}) => ${e.type}(${e.id})`)}return Jc({...e},t,i)}function RT(e){return(t,i)=>n=>{let{id:r,type:o}=Mv(n,i||t);if(r===void 0)throw Error("Found invalid entity without an ID.");return t==="ContentResource"||t==="Service"?e[r]=t:e[r]=o,n}}function CT(e){let t=Object.assign({},e);if(t["@id"]&&(t.id=t["@id"]),t["@type"]&&(t.type=t["@type"]),t.service){let i=[];t.service=Array.isArray(t.service)?t.service:[t.service];for(let n of t.service)i.push({id:n["@id"]||n.id,type:n["@type"]||n.type});t.service=i}return Object.assign({},Bf,t)}function TT(e){return t=>{e.Service=e.Service?e.Service:{};let i=t.id||t["@id"],n=CT(t);return n&&n.id&&(e.Service[n.id]?e.Service[i]=eu(e.Service[i],n):e.Service[i]=n),t}}function PT(e){let t=JSON.stringify(e),i=5381,n=t.length;for(;n;)i=i*33^t.charCodeAt(--n);let r=(i>>>0).toString(16);return r.length%2?"0"+r:r}function Yf(e){return t=>typeof t=="string"?{id:t,type:e}:t.id?t.type?t:{type:e,...t}:{id:`vault://${PT(t)}`,type:e,...t}}function as(e){return t=>({...e,...t})}function Da(e){return Array.isArray(e)?e:[e]}function AT(e){return e.body&&(e.body=Da(e.body)),e.seeAlso&&(e.seeAlso=Da(e.seeAlso)),e.audience&&(e.audience=Da(e.audience)),e.accessibility&&(e.accessibility=Da(e.accessibility)),e.motivation&&(e.motivation=Da(e.motivation)),e}function kv(e,{typeHint:t,partOfTypeHint:i}={}){if(typeof e=="string"&&(e={id:e,type:t||"unknown"}),ri(e))return typeof e.source=="string"&&(e.source={id:e.source,type:t||"unknown"}),e.source.type==="Canvas"&&e.source.partOf&&typeof e.source.partOf=="string"&&(e.source.partOf=[{id:e.source.partOf,type:i||"Manifest"}]),e;let n,[r,o]=wn(e.id);return e.id=r,o&&o&&(n={type:"FragmentSelector",value:o}),{type:"SpecificResource",source:e,selector:n}}function IT(e){let t=Object.assign({},e);return e&&e.items&&(t.items=e.items.map(i=>typeof i=="string"||i.type==="Canvas"?kv(i):i)),t}function ET(e){let t=Object.assign({},e);return t.start?(t.start=kv(t.start,{typeHint:"Canvas"}),t):e}function MT(e){let t=Object.assign({},e);return t.target?(t.target=Zc(t.target,{typeHint:"Canvas"}),t):e}function Ov(e){return e}function Qc(e){return e.items===void 0&&(e[Qr]=!0),e}function Ba(e){let t=Rv(e),i=Ev(),n={},r=ST(i,t),o=RT(n);return{entities:i,resource:new Tv({collection:[Qc,as(Uc),o("Collection"),r("Collection")],manifest:[Qc,as(Yc),ET,o("Manifest"),r("Manifest")],canvas:[as(qc),o("Canvas"),r("Canvas")],annotationPage:[Qc,Yf("AnnotationPage"),as(Hc),o("AnnotationPage"),r("AnnotationPage")],annotation:[Yf("Annotation"),AT,MT,o("Annotation"),r("Annotation")],contentResource:[Yf("ContentResource"),o("ContentResource"),r("ContentResource")],range:[as(Gc),IT,o("Range","Canvas"),r("Range","Canvas")],agent:[as(Kc),o("Agent"),r("Agent")],specificResource:[Ov],service:[TT(i)]}).traverseUnknown(t),mapping:n}}function Lv(e){let t={};for(let[i,n]of e){if(i===$c&&n!==Ci)return n;n!==Ci&&n!=null&&(t[i]=n)}return t}function Va(e,t,i){if(!t.type||!t.id)throw Error("Unknown entity");if(!i[t.type])throw Error(`Serializer not found for ${t.type}`);function n(r,o,s=0){let a=i[r.type];if(!a)return Ci;if(s>20)throw Error("Circular reference: "+r.id+" "+r.type);let[c,u]=jc(e,r.type?r:r.id,o)||(r.id&&r.type?r:null);if(!c)return Ci;let l=a(c,e,{parent:o,isTopLevel:t.id===r.id,fullResource:u}),d=l.next();for(;!d.done;){let h=d.value,p=Ci;if(h)if(Array.isArray(h)){let f=[];for(let m of h)f.push(n(m,r,s+1));p=f}else p=n(h,r,s+1);d=l.next(p)}return d.value===Ci?Ci:Lv(d.value)}return n(t)}function no(e){if(!e)return;let t=Object.keys(e);if(t.length!==0){if(t.length===1){let i=t[0];if(!i)return"";let n=(e[i]||[]).join("");return i==="@none"||i==="none"||i==="en"?n:{"@language":i,"@value":n}}return t.map(i=>({"@language":i,"@value":(e[i]||[]).join("")}))}}function _v(e){return Array.isArray(e)?e.map(t=>_v(t)):typeof e=="string"?e:e.type&&e.type==="Canvas"?e.id:e}function xr(e,t=!1){if(e)return e.length>1&&!t?e:e[0]||void 0}function kT(e){if(e){if(typeof e=="string")return{"@id":e};if("@id"in e){let t={...e};return delete t["@type"],t}return{"@context":"http://iiif.io/api/image/2/context.json","@id":e.id,profile:`http://iiif.io/api/image/2/profiles/${e.profile}.json`}}}function eo(e,t){return[["@id",e.id],["@type",t],["format",e.format],["height",e.height],["width",e.width],["viewingDirection",e.viewingDirection==="left-to-right"?void 0:e.viewingDirection],["license",e.license?e.license:void 0]]}function*to(e){let t=e.provider?yield e.provider[0]:void 0;return[["label",no(e.label)],["metadata",e.metadata&&e.metadata.length?e.metadata.map(i=>({label:no(i.label)||"",value:no(i.value)||""})):void 0],["description",no(e.summary)],["thumbnail",xr(yield e.thumbnail)],["navDate",e.navDate],["logo",t?xr(t.logo):void 0],["homepage",t?t.homepage:void 0],["attribution",e.requiredStatement?no(e.requiredStatement.value):void 0]]}function*za(e){let t=e.start&&e.start.type&&e.start.type==="SpecificResource"?yr(e.start):e.start;return[["seeAlso",xr(yield e.seeAlso)],["service",xr((e.service||[]).map(kT))],["rendering",xr(yield e.rendering)],["startCanvas",t?t.id:void 0]]}function OT(e){return e.type==="SpecificResource"}function LT(e){return e&&e.type==="FragmentSelector"}function _T(e){if(e&&OT(e)){let t=e.id,i=e.selector?Array.isArray(e.selector)?e.selector[0]:e.selector:void 0;return LT(i)&&(t+="#"+i.value),t}return e?.id}var Wa={Manifest:function*(e,t,{isTopLevel:i}){return[...i?[["@context","http://iiif.io/api/presentation/2/context.json"]]:[],...eo(e,"sc:Manifest"),...yield*to(e),...yield*za(e),["sequences",[{"@id":`${e.id}/sequence0`,"@type":"sc:Sequence",canvases:yield e.items}]],["structures",yield e.structures]]},Canvas:function*(e){let t=(yield e.items)[0];return[...eo(e,"sc:Canvas"),...yield*to(e),...yield*za(e),["images",t?[t.resources]:void 0],["annotations",e.annotations&&e.annotations.length?xr(yield e.annotations):void 0]]},AnnotationPage:function*(e){return[...eo(e,"sc:AnnotationList"),...yield*to(e),["resources",e.items&&e.items.length?xr(yield e.items):void 0]]},Annotation:function*(e){return[["@id",e.id],["@type","oa:Annotation"],["motivation","sc:painting"],["on",_v(e.target)],["resource",xr(yield e.body,!0)]]},ContentResource:function*(e){switch(e.type){case"Image":return[...eo(e,"dctypes:Image"),...yield*to(e),...yield*za(e)];default:return[...eo(e,void 0),...yield*to(e)]}},AnnotationCollection:function*(e){return[["@id",e.id],["@type","sc:Layer"],["label",no(e.label)]]},Collection:function*(e){return[...eo(e,"sc:Collection"),...yield*to(e),...yield*za(e),["members",yield*e.items]]},Range:function*(e){let t=[],i=[];if(e.items)for(let n of e.items){let r=n.type==="SpecificResource"?n.source:n;if(r){let o=yield r;t.push({"@id":_T(n),"@type":r.type,label:o?o.label:void 0,within:e.id}),r.type==="Canvas"&&i.push(r.id)}}return[...eo(e,"sc:Range"),...yield*to(e),...yield*za(e),["canvases",i.length===t.length?i:void 0],["members",i.length===t.length?void 0:t]]}};function io(e){return[["id",e.id?.startsWith("vault://")?void 0:e.id],["type",e.type],["format",e.format],["profile",e.profile],["height",e.height||void 0],["width",e.width||void 0],["duration",e.duration||void 0],["viewingDirection",e.viewingDirection==="left-to-right"?void 0:e.viewingDirection],["behavior",e.behavior&&e.behavior.length?e.behavior:void 0],["timeMode",e.timeMode],["motivation",Array.isArray(e.motivation)?e.motivation[0]:e.motivation],["backgroundColor",e.backgroundColor||void 0],[mt,Ci]]}function wt(e){if(e===Ci)return;if(!Array.isArray(e))return e;if(!e||e.length===0)return;let t=e.filter(i=>i!==Ci);if(t.length!==0)return t}function Fv(e){if(e&&e.type&&e.type==="ImageService2"){let{id:t,type:i,profile:n,...r}=e,o=typeof n=="string"?n:Array.isArray(n)?n.find(s=>typeof s=="string"):"";return{"@id":t,"@type":i,profile:o?o.startsWith("http")?o:`http://iiif.io/api/image/2/${o}.json`:"http://iiif.io/api/image/2/level0.json",...r}}return e}function Av(e){if(Array.isArray(e)||(e=e?[e]:[]),!(!e||e.length===0))return e.map(Fv)}function*vr(e){return[["label",e.label],["metadata",wt(e.metadata)],["summary",e.summary],["requiredStatement",e.requiredStatement],["rights",Array.isArray(e.rights)?e.rights[0]||void 0:e.rights||void 0],["navDate",e.navDate],["language",e.language],["thumbnail",wt(yield e.thumbnail)],["placeholderCanvas",wt(yield e.placeholderCanvas)],["accompanyingCanvas",wt(yield e.accompanyingCanvas)],["provider",wt(yield e.provider)]]}function*br(e,t){let i=[];for(let n of e.partOf||[])n.type==="Manifest"&&t?.type==="Manifest"||i.push(yield n);return[["seeAlso",wt(yield e.seeAlso)],["service",wt(Av(e.service))],["services",wt(Av(e.services))],["rendering",wt(yield e.rendering)],["supplementary",wt(yield e.supplementary)],["homepage",wt(yield e.homepage)],["logo",wt(yield e.logo)],["partOf",wt(i)],["start",e.start?yr(e.start):e.start]]}var Gf={Manifest:function*(e,t,{isTopLevel:i}){if(!i)return[...io(e),...yield*vr(e),["navPlace",e.navPlace]];let n="http://iiif.io/api/presentation/3/context.json";return(e.navPlace||Iv(e))&&(n=["http://iiif.io/api/presentation/3/context.json","http://iiif.io/api/extension/navplace/context.json"]),[["@context",e["@context"]?e["@context"]:n],...io(e),...yield*vr(e),...yield*br(e),["items",yield e.items],["structures",wt(yield e.structures)],["annotations",wt(yield e.annotations)],["navPlace",e.navPlace]]},Canvas:function*(e,t,{parent:i}){return i&&i.type!=="Manifest"&&i.type!=="Canvas"?[["id",e.id]]:[...io(e),...yield*vr(e),...yield*br(e,i),["items",yield e.items],["annotations",wt(yield e.annotations)],["navPlace",e.navPlace]]},Agent:function*(e){return[["id",e.id],["type","Agent"],["label",e.label],...yield*br(e)]},AnnotationPage:function*(e){let t=Object.entries(e).map(([n,r])=>[n,Array.isArray(r)?wt(r):r]).filter(([n,r])=>n!=="items"&&n!=="id"&&n!==mt&&n!==fi&&n!==Qr),i=yield e.items;return[["id",e.id?.startsWith("vault://")?void 0:e.id],...t,...yield*br(e),["items",i.length||e[Qr]===!1?i:Ci]]},Service:function*(e){return[[$c,Fv(e)]]},Annotation:function*(e){let t=Object.entries(e).map(([n,r])=>n==="motivation"?[n,Array.isArray(r)?r[0]:r]:n==="target"?[n,yr(r,{allowString:!0,allowSourceString:!0,allowedStringType:"Canvas"})]:[n,Array.isArray(r)?wt(r):r]).filter(([n])=>n!=="body"&&n!==mt&&n!==Qr),i;if(Array.isArray(e.body)){let n=[];for(let r of e.body)if(r&&ri(r)){let o={...r};r.source.type==="Canvas"?o.source=r.source:o.source=yield r.source,n.push(yr(o,{allowSourceString:!0}))}else n.push(yield r);i=n}else e.body&&ri(e.body)?(i={...e.body},i.source=yield e.body.source):i=yield e.body;return[...t,...yield*vr(e),...yield*br(e),["body",i.length===1?i[0]:i]]},ContentResource:function*(e){return FT([...io(e),...yield*vr(e),...yield*br(e),["annotations",wt(yield e.annotations)],["items",wt(yield e.items)]],e)},AnnotationCollection:function*(e){return[["id",e.id],["type","AnnotationCollection"],["label",e.label]]},Collection:function*(e,t,{isTopLevel:i}){if(i){let n="http://iiif.io/api/presentation/3/context.json";return(e.navPlace||Iv(e))&&(n=["http://iiif.io/api/extension/navplace/context.json","http://iiif.io/api/presentation/3/context.json"]),[["@context",n],...io(e),...yield*vr(e),...yield*br(e),["items",wt(yield e.items)],["navPlace",e.navPlace]]}return[...io(e),...yield*vr(e),["navPlace",e.navPlace]]},Range:function*(e){let t=[];for(let i of e.items)i.type==="Range"?t.push(yield i):i&&i.type==="SpecificResource"?t.push(yr(i)):t.push(i);return[...io(e),...yield*vr(e),...yield*br(e),["items",t],["annotations",wt(yield e.annotations)],["navPlace",e.navPlace]]}};function FT(e,t){let i=Object.keys(t),n=e.map(([r])=>r);for(let r of i)r===mt||r===Qr||n.indexOf(r)===-1&&t[r]!==void 0&&e.push([r,t[r]]);return e}function Iv(e){if(!e.items||!Array.isArray(e.items))return!1;for(let t of e.items)if(t.navPlace)return!0;return!1}function Nv(e,t){return ri(e)?typeof e.source=="string"?{...e,source:t}:{...e,source:{...e.source||{},id:t}}:{...e,id:t}}var ct=function(e){return function(){let t={type:e,getType:()=>e,toString:()=>e};return(i,n)=>({...t,...i!==void 0&&{payload:i},...n!==void 0&&{meta:n}})}},tu="@iiif/IMPORT_ENTITIES",iu="@iiif/MODIFY_ENTITY_FIELD",nu="@iiif/REORDER_ENTITY_FIELD",ru="@iiif/MOVE_ENTITY",$a="@iiif/MOVE_ENTITIES",ou="@iiif/ADD_REFERENCE",ja="@iiif/UPDATE_REFERENCE",su="@iiif/CHANGE_REFERENCE_IDENTIFIER",au="@iiif/REMOVE_REFERENCE",lu="@iiif/ADD_METADATA",cu="@iiif/REMOVE_METADATA",Ha="@iiif/UPDATE_METADATA",uu="@iiif/REORDER_METADATA",du=ct(tu)(),Dv=ct(iu)(),zv=ct(nu)(),Bv=ct(ru)(),Vv=ct($a)(),Wv=ct(ou)(),$v=ct(au)(),jv=ct(ja)(),Hv=ct(su)(),qv=ct(lu)(),Uv=ct(Ha)(),Yv=ct(cu)(),Gv=ct(uu)(),ro={importEntities:du,modifyEntityField:Dv,reorderEntityField:zv,addReference:Wv,removeReference:$v,updateReference:jv,changeReferenceIdentifier:Hv,addMetadata:qv,removeMetadata:Yv,updateMetadata:Uv,reorderMetadata:Gv,moveEntity:Bv,moveEntities:Vv},hu="@iiif/ADD_MAPPING",fu="@iiif/ADD_MAPPINGS",Kf=ct(hu)(),Xf=ct(fu)();var pu="@iiif/SET_META_VALUE",mu="@iiif/SET_META_VALUE_DYNAMIC",gu="@iiif/UNSET_META_VALUE",oo={setMetaValue:ct(pu)(),setMetaValueDynamic:ct(mu)(),unsetMetaValue:ct(gu)()},ls="RESOURCE_ERROR",qa="RESOURCE_LOADING",cs="RESOURCE_READY",yu="@iiif/REQUEST_RESOURCE",vu="@iiif/REQUEST_ERROR",bu="@iiif/REQUEST_MISMATCH",xu="@iiif/REQUEST_COMPLETE",wu="@iiif/REQUEST_OFFLINE_RESOURCE",Zf=ct(yu)(),Ua=ct(vu)(),Qf=ct(bu)(),Su=ct(xu)(),NT=ct(wu)();var us="@iiif/BATCH",Ru="@iiif/BATCH_IMPORT",ds=ct(us)(),DT=ct(Ru)();function Jf(){return{Collection:{},CollectionPage:{},Manifest:{},Canvas:{},AnnotationPage:{},AnnotationCollection:{},Annotation:{},ContentResource:{},Range:{},Service:{},Selector:{},Agent:{},Timeline:{},Scene:{}}}var zT=(e,t)=>(i,n,r)=>(r.dispatch=o=>(i(s=>e(s,o),!1,o),o),r.dispatchFromDevtools=!0,{dispatch:(...o)=>r.dispatch(...o),...t}),tp=new Map,Cu=e=>{let t=tp.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([i,n])=>[i,n.getState()])):{}},BT=(e,t,i)=>{if(e===void 0)return{type:"untracked",connection:t.connect(i)};let n=tp.get(i.name);if(n)return{type:"tracked",store:e,...n};let r={connection:t.connect(i),stores:{}};return tp.set(i.name,r),{type:"tracked",store:e,...r}},VT=(e,t={})=>(i,n,r)=>{let{enabled:o,anonymousActionType:s,store:a,...c}=t,u;try{u=(o??({}.env?{}.env.MODE:void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!u)return({}.env?{}.env.MODE:void 0)!=="production"&&o&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),e(i,n,r);let{connection:l,...d}=BT(a,u,c),h=!0;r.setState=(m,g,y)=>{let x=i(m,g);if(!h)return x;let w=y===void 0?{type:s||"anonymous"}:typeof y=="string"?{type:y}:y;return a===void 0?(l?.send(w,n()),x):(l?.send({...w,type:`${a}/${w.type}`},{...Cu(c.name),[a]:r.getState()}),x)};let p=(...m)=>{let g=h;h=!1,i(...m),h=g},f=e(r.setState,n,r);if(d.type==="untracked"?l?.init(f):(d.stores[d.store]=r,l?.init(Object.fromEntries(Object.entries(d.stores).map(([m,g])=>[m,m===d.store?f:g.getState()])))),r.dispatchFromDevtools&&typeof r.dispatch=="function"){let m=!1,g=r.dispatch;r.dispatch=(...y)=>{({}.env?{}.env.MODE:void 0)!=="production"&&y[0].type==="__setState"&&!m&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),m=!0),g(...y)}}return l.subscribe(m=>{switch(m.type){case"ACTION":if(typeof m.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return ep(m.payload,g=>{if(g.type==="__setState"){if(a===void 0){p(g.state);return}Object.keys(g.state).length!==1&&console.error(`
21
7
  [zustand devtools middleware] Unsupported __setState action format.
22
8
  When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
23
9
  and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
24
- `);let x=C.state[u];if(x==null)return;JSON.stringify(a.getState())!==JSON.stringify(x)&&g(x);return}a.dispatchFromDevtools&&typeof a.dispatch=="function"&&a.dispatch(C)});case"DISPATCH":switch(T.payload.type){case"RESET":return g(b),u===void 0?d?.init(a.getState()):d?.init(Rg(f.name));case"COMMIT":if(u===void 0){d?.init(a.getState());return}return d?.init(Rg(f.name));case"ROLLBACK":return P1(T.state,C=>{if(u===void 0){g(C),d?.init(a.getState());return}g(C[u]),d?.init(Rg(f.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return P1(T.state,C=>{if(u===void 0){g(C);return}JSON.stringify(a.getState())!==JSON.stringify(C[u])&&g(C[u])});case"IMPORT_STATE":{let{nextLiftedState:C}=T.payload,x=C.computedStates.slice(-1)[0]?.state;if(!x)return;g(u===void 0?x:x[u]),d?.send(null,C);return}case"PAUSE_RECORDING":return y=!y}return}}),b},P1=(t,e)=>{let n;try{n=JSON.parse(t)}catch(i){console.error("[zustand devtools middleware] Could not parse the received json",i)}n!==void 0&&e(n)},aF=t=>(e,n,i)=>{let a=i.subscribe;return i.subscribe=(r,l,u)=>{let f=r;if(l){let h=u?.equalityFn||Object.is,d=r(i.getState());f=m=>{let y=r(m);if(!h(d,y)){let g=d;l(d=y,g)}},u?.fireImmediately&&l(d,d)}return a(f)},t(e,n,i)},rF=(t={},e)=>{switch(e.type){case gg:return{...t,[e.payload.id]:e.payload.type};case yg:return{...t,...e.payload.mapping};default:return t}};function Df(t,e,n,i){return!(!t[n]||!t[n][e]||!t[n][e][i]||!Array.isArray(t[n][e][i]))}function oF(t,e){let n={},i=[];for(let[a,r]of Object.entries(t||{})){i.push(a);let l=(e||{})[a];if(!l||l.length===0){n[a]=r;continue}n[a]=l}for(let[a,r]of Object.entries(e||{}))i.indexOf(a)===-1&&(n[a]=r);return n}function Dt(t){return t.payload||{}}function sF(t,e,n){if(!t[e]||!Array.isArray(t[e]))return null;let i=n.index===void 0?t[e].findIndex(a=>a?gc(a)?.id===n.id:!1):n.index;return i===-1?null:{entity:t[e][i],index:i}}function VM(t,e){if(!(!e?.id||!e?.type))return t[e.type]?.[e.id]}function Eg(t,e){return t===void 0?e:t}var UM=(t=D1(),e)=>{let n=(i,a)=>({...t,[Dt(e).type]:{...t[Dt(e).type],[Dt(e).id]:{...i,...a}}});switch(e.type){case og:{if(!t[Dt(e).type]||!t[Dt(e).type][Dt(e).id])return t;let i=t[Dt(e).type][Dt(e).id];return typeof i=="string"?t:n(i,{[Dt(e).key]:Dt(e).value})}case sg:{if(!Df(t,Dt(e).id,Dt(e).type,Dt(e).key))return t;let i=t[Dt(e).type][Dt(e).id];if(typeof i=="string")return t;let a=Array.from(i[Dt(e).key]),[r]=a.splice(Dt(e).startIndex,1);return a.splice(Dt(e).endIndex,0,r),n(i,{[Dt(e).key]:a})}case _f:{let i=Dt(e).subjects,a=Dt(e).from,r=Dt(e).to||a,l=VM(t,a),u=r?.key||a.key;if(!Df(t,a.id,a.type,a.key)||!Df(t,r.id,r.type,r.key))return t;let f=[],h=[];if(i.type==="slice"){let C=i.startIndex,x=i.length;f=Array.from(l[a.key]),h=f.splice(C,x)}else{let C=Array.from(l[a.key]);for(let x of i.items){let w=sF(l,a.key,x);w&&(h.push(w.entity),C[w.index]=null),f=C.filter(R=>R!==null)}}let d={...l,[a.key]:f},m={...t,[a.type]:{...t[a.type],[a.id]:d}},y=VM(m,r);if(!y)return t;let g=r?.index===void 0?y[u].length:r.index,b=Array.from(y[r.key]);b.splice(g,0,...h);let T={...y,[u]:b};return{...m,[r.type]:{...m[r.type],[r.id]:T}}}case lg:return UM(t,{type:_f,payload:{subjects:{type:"list",items:[Dt(e).subject]},from:Dt(e).from,to:Dt(e).to}});case cg:{let{id:i,index:a,key:r,newIdentifier:l,reference:u,type:f}=Dt(e),h=t[f][i],d=gc(u);if(!h||!h[r]||!d||a<0)return t;let m=h[r],y=m[a],g=t[d.type]?.[d.id];if(!g||!y)return t;let b=CM(y,l),T=Array.from(m);T.splice(Eg(a,T.length+1),1,b);let C=n(h,{[r]:T}),x={...g,id:l};x["iiif-parser:hasPart"]&&(x["iiif-parser:hasPart"]=x["iiif-parser:hasPart"].filter(R=>R["iiif-parser:partOf"]===i).map(R=>({...R,id:l})));let w={...C[d.type],[l]:x};return C[d.type]=w,C}case rg:{let i=Object.keys(Dt(e).entities),a={...t};for(let r of i){let l=Dt(e).entities[r],u={...t[r]||{}},f=!1,h=Object.keys(l||{})||[];if(l&&h){for(let d of h)f=!0,u[d]=t[r][d]?oF(t[r][d],l[d]):l[d];f&&(a[r]=u)}}return a}case ug:{if(!Df(t,Dt(e).id,Dt(e).type,Dt(e).key))return t;let i=t[Dt(e).type][Dt(e).id],a=Array.from(i[Dt(e).key]);return a.splice(Eg(Dt(e).index,a.length+1),0,Dt(e).reference),n(i,{[Dt(e).key]:a})}case zf:case dg:{if(!Df(t,Dt(e).id,Dt(e).type,Dt(e).key))return t;let i=t[Dt(e).type][Dt(e).id],a=Array.from(i[Dt(e).key]),r=Eg(Dt(e).index,a.findIndex(l=>l&&l.id===Dt(e).reference.id));return r===-1||a[r]?.id!==Dt(e).reference.id?t:(e.type===zf?a.splice(r,1,Dt(e).reference):a.splice(r,1),n(i,{[Dt(e).key]:a}))}case fg:{let i=t[Dt(e).type][Dt(e).id];if(!i)return t;let a=Array.from(i.metadata||[]),r=Dt(e);return a.splice(Eg(e.payload.beforeIndex,a.length+1),0,{label:r.label,value:r.label}),n(i,{metadata:a})}case pg:{let i=t[Dt(e).type][Dt(e).id];if(typeof i=="string"||!i)return t;let a=Array.from(i.metadata||[]),[r]=a.splice(Dt(e).startIndex,1);return a.splice(Dt(e).endIndex,0,r),n(i,{metadata:a})}case If:case hg:{let i=t[Dt(e).type][Dt(e).id],a=Array.from(i.metadata||[]),r=Dt(e).atIndex;return r===void 0||r===-1||!a[r]?t:(e.type===If?a.splice(r,1,{label:Dt(e).label,value:Dt(e).value}):a.splice(r,1),n(i,{metadata:a}))}default:return t}},lF=(t={},e)=>{switch(e.type){case vg:case wg:return{...t,[e.payload.id]:{requestUri:e.payload.id,loadingState:Nf,uriMismatch:!1,resourceUri:e.payload.id}};case Sg:return{...t,[e.payload.requestId]:{...t[e.payload.requestId]||{},uriMismatch:!0,resourceUri:e.payload.actualId},[e.payload.actualId]:{requestUri:e.payload.requestId,loadingState:t[e.payload.requestId].loadingState,uriMismatch:!0,resourceUri:e.payload.actualId}};case bg:return{...t,[e.payload.id]:{...t[e.payload.id]||{},loadingState:vc,error:e.payload.message}};case xg:return{...t,[e.payload.id]:{...t[e.payload.id]||{},loadingState:bc,error:void 0}}}return t},uF=(t={},e)=>{let{id:n,updateValue:i,value:a,meta:r,key:l}=e&&e.payload||{};switch(e.type){case M1:return{...t,[n]:{...t[n]||{},[r]:{...t[n]&&t[n][r]||{},[l]:a}}};case O1:return{...t,[n]:{...t[n]||{},[r]:{...t[n]&&t[n][r]||{},[l]:t[n]&&t[n][r]?i(t[n][r][l]):i(void 0)}}};case _1:return t[n]&&t[n][r]&&t[n][r][l]?{...t,[n]:{...t[n]||{},[r]:{...t[n]&&t[n][r]||{},[l]:void 0}}}:t;default:return t}};function qM(t={}){let e=Object.keys(t);return function(n={},i){let a=!1,r={};for(let l=0;l<e.length;l++){let u=e[l];r[u]=t[u](n[u],i),a=a||r[u]!==n[u]}return a?r:n}}function cF(t){return(e,n)=>n&&n.type===Sc?n.payload.actions.reduce(t,e):n&&n.type===Tg?{...e,iiif:{...e.iiif,...n.payload.state}}:t(e,n)}var dF=qM({mapping:rF,entities:UM,requests:lF,meta:uF});function fF(){return{iiif:{entities:D1(),meta:{},mapping:{},requests:{}}}}function jM(t={}){let{enableDevtools:e=!1,iiifStoreName:n="iiif",defaultState:i=fF(),customReducers:a={}}=t,r=cF(qM({[n]:dF,...a}));return Zm(aF((typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?iF:(l,u)=>l)(eF(r,i),{enabled:e})))}function Pi(t,e,n,i=!0){e[Tc]=e[Tc]||[],e[Tc].push(t);let a=new Map;Object.defineProperty(e,t,{enumerable:i,get(){if(e[Hl][t]===void 0)return;let r=e[Hl][t];if(!r)return r;let l=n.get(e[Hl][t],{parent:this.id?{id:this.id,type:this.type}:void 0});return a.has(l)||(a.clear(),a.set(l,Fl(l,n))),a.get(l)},set(r){e[Hl][t]!==r&&(this[Bl]?n.modifyEntityField({id:this.id,type:this.type},t,YM(r)):this[Hl][t]=r)}})}var Hl=Symbol.for("_refs_"),Bl=Symbol.for("_reactive_"),Tc=Symbol.for("_defined_"),kM=Symbol.for("_parent_");function hF(t,e=!1,n){let i={id:"",type:"unknown",[Tc]:[],[Hl]:{},[kM]:n||null,[Bl]:null,is(a){return typeof a=="string"?this.id===a:a.id?a.id===this.id:!1},reactive(){if(!this[Bl])return this[Bl]=this.subscribe(()=>this.refresh(),!0),()=>{this.unreactive()}},refresh(){if(this.id){let a=this.unwrap();for(let r of Object.keys(a||{}))this[Tc].includes(r)?this[Hl][r]=a[r]:this[r]=a[r]}},unreactive(){this[Bl]&&(this[Bl](),this[Bl]=null)},unwrap(){if(!this.id)throw Error("Invalid object");let a=this[kM];return t.get(this.id,{parent:a?{id:a,type:"unknown"}:void 0})},toPresentation3(){return t.toPresentation3(this.unwrap())},toPresentation2(){return t.toPresentation2(this.unwrap())},valueOf(){return this.unwrap()},toJSON(){let a=this;return{...a,items:a.items,annotations:a.annotations,structures:a.structures,seeAlso:a.seeAlso,service:a.service,services:a.services,rendering:a.rendering,partOf:a.partOf,start:a.start,supplementary:a.supplementary,homepage:a.homepage,thumbnail:a.thumbnail,placeholderCanvas:a.placeholderCanvas,accompanyingCanvas:a.accompanyingCanvas,provider:a.provider}},subscribe(a,r=!0){return t.subscribe(()=>this.id?t.get(this.id):null,a,r)}};return Pi("items",i,t),Pi("annotations",i,t),Pi("structures",i,t),Pi("seeAlso",i,t),Pi("rendering",i,t),Pi("partOf",i,t),Pi("start",i,t,!1),Pi("supplementary",i,t),Pi("homepage",i,t),Pi("thumbnail",i,t),Pi("placeholderCanvas",i,t,!1),Pi("accompanyingCanvas",i,t,!1),Pi("provider",i,t),Pi("body",i,t),Pi("logo",i,t),i}function pF(t){return!!t[Tc]}function YM(t){return Array.isArray(t)?t.map(e=>YM(e)):!t||!t.type?t:{id:t.id,type:t.type}}function Fl(t,e,n=!1,i){if(Array.isArray(t))return t.map(u=>Fl(u,e,n));if(!t||!t.type||!t.id)return t;let a=hF(e,n),r=Object.create(a),l=Object.assign(r,t);return n&&l.reactive(),l}function GM(t){switch(t){case"Image":case"Video":case"Sound":case"Dataset":case"Text":case"Composite":case"List":case"Independents":case"Audience":return"ContentResource";case"ImageService1":case"ImageService2":case"ImageService3":return"Service"}return t}var Rc=class{constructor(t,e){Gn(this,"options",void 0),Gn(this,"store",void 0),Gn(this,"emitter",void 0),Gn(this,"isBatching",!1),Gn(this,"batchQueue",[]),Gn(this,"remoteFetcher",void 0),Gn(this,"staticFetcher",void 0),Gn(this,"defaultFetcher",n=>fetch(n).then(i=>{if(i.status===200)return i.json();{let a=Error(`${i.status} ${i.statusText}`);throw a.name="HTTPError",a}})),this.options=Object.assign({reducers:{},customFetcher:this.defaultFetcher,enableDevtools:!0},t||{}),this.store=e||jM({customReducers:this.options.reducers,defaultState:this.options.defaultState,enableDevtools:this.options.enableDevtools}),this.emitter=Wm(),this.remoteFetcher=L1(this,this.options.customFetcher),this.staticFetcher=L1(this,(n,i)=>i)}batch(t){this.isBatching=!0;try{t(this),this.isBatching=!1,this.dispatch(xc({actions:this.batchQueue}))}catch(e){throw this.batchQueue=[],this.isBatching=!1,e}this.batchQueue=[]}async asyncBatch(t){this.isBatching=!0;try{await t(this),this.isBatching=!1,this.dispatch(xc({actions:this.batchQueue}))}catch(e){throw this.batchQueue=[],this.isBatching=!1,e}this.batchQueue=[]}modifyEntityField(t,e,n){this.dispatch(Pl.modifyEntityField({id:t.id,type:t.type,key:e,value:n}))}dispatch(t){if(this.isBatching)this.batchQueue.push(t);else{if(t.type===Sc){for(let i of t.payload.actions)this.emitter.emit(i.type,{action:i,state:this.store.getState()});this.store.dispatch(t);let n=this.getState();for(let i of t.payload.actions)this.emitter.emit(`after:${i.type}`,{action:i,state:n});return}this.emitter.emit(t.type,{action:t,state:this.store.getState()}),this.store.dispatch(t);let e=this.store.getState();this.emitter.emit(`after:${t.type}`,{action:t,state:e});return}}on(t,e){return this.emitter.on(t,e),()=>{this.emitter.off(t,e)}}serialize(t,e){return S1(this.getState().iiif,t,e)}toPresentation2(t){return this.serialize(t,x1)}toPresentation3(t){return this.serialize(t,w1)}hydrate(t,e,n={}){return this.get(t,e,{...n,skipSelfReturn:!1})}get(t,e,n={}){typeof e!="string"&&(n=e||{},e=void 0);let{skipSelfReturn:i=!0}=n||{},a=n.parent?typeof n.parent=="string"?n.parent:n.parent.id:void 0;if(Array.isArray(t))return t.map(d=>this.get(d,n));let r=this.getState();if(ga(t)&&!n.preserveSpecificResources&&(t=t.source),typeof t=="string"){let d=GM(e||r.iiif.mapping[t]);if(!d)return i?null:{id:t,type:"unknown"};t={id:t,type:d}}if(t&&t.partOf&&!a&&!n.skipPartOfCheck){let d=Array.isArray(t.partOf)?t.partOf[0]:t.partOf;d&&(typeof d=="string"&&(a=d),typeof d.id=="string"&&(a=d.id))}let l=GM(e||t?.type),u=t?.id,f=r.iiif.entities[l];if(!f){let d=r.iiif.requests[u];return d&&d.resourceUri!==u?this.get(d.resourceUri,n):i?null:t}let h=f[t.id];return h&&h[mn]?yc(h,h[mn].find(d=>a?d[ya]===a:d[ya]===h.id)):f[t.id]||(i?null:t)}select(t){return t(this.getState())}getStore(){return this.store}getState(){return this.store.getState()}deep(t,e){if(t===void 0)return this.get(e,{skipSelfReturn:!1});if(typeof t=="function")try{let i=t(this.get(e,{skipSelfReturn:!1})),a=r=>this.deep(r,i);return a.size=Array.isArray(i)?i.length:1,a}catch{let i=a=>this.deep(a,void 0);return i.size=0,i}let n=i=>this.deep(i,t);return n.size=Array.isArray(t)?t.length:1,n}loadManifest(t,e,n){let i=typeof t=="string"?t:t.id;return this.load(i,e,n)}loadCollection(t,e,n){let i=typeof t=="string"?t:t.id;return this.load(i,e,n)}load(t,e,n){let i=typeof t=="string"?t:t.id;return e?Promise.resolve(this.staticFetcher(i,e,n)):Promise.resolve(this.remoteFetcher(i,{},n))}loadSync(t,e,n){let i=typeof t=="string"?t:t.id;return this.staticFetcher(i,e,n)}loadManifestSync(t,e,n){let i=typeof t=="string"?t:t.id;return this.loadSync(i,e,n)}loadCollectionSync(t,e,n){let i=typeof t=="string"?t:t.id;return this.loadSync(i,e,n)}areInputsEqual(t,e){return N1(t,e)}subscribe(t,e,n){return n===void 0&&(e===void 0||e===!1||e===!0)&&(n=e,e=t,t=i=>i),this.store.subscribe(t,i=>e(i,this),{equalityFn:N1,fireImmediately:!n})}async ensureLoaded(t){let e=typeof t=="string"?t:t.id;this.requestStatus(e)||await this.load(e)}requestStatus(t){return this.select(e=>e.iiif.requests[t])}getPaginationState(t){let e=typeof t=="string"?t:t.id;if(!e)return null;let n=this.getResourceMeta(e,"@vault/pagination");if(n?.state)return n.state;let i=this.get(t);if(i.first){let a={currentPage:null,currentPageIndex:null,isFetching:!1,isFullyLoaded:!1,next:i.first,page:1,pages:[],previous:null,totalItems:i.total,currentLength:0};return this.setMetaValue([e,"@vault/pagination","state"],a),a}return null}async loadNextPage(t,e){let n=typeof t=="string"?t:t.id;if(!n)return[null,null];let i=this.getPaginationState(t);if(!i||i.isFullyLoaded||!i.next)return[null,null];if(i.isFetching)return[i,null];let a=typeof i.next=="string"?i.next:i.next.id,r=i.currentPage,l={...i,isFetching:!0};this.setMetaValue([n,"@vault/pagination","state"],l);let u;try{u=await this.loadCollection(a,e,y=>{let{id:g,"@id":b,...T}=y||{};return b?{"@id":a,...T}:{id:a,...T}})}catch(y){let g={...i,isFetching:!1,error:y};return this.setMetaValue([n,"@vault/pagination","state"],g),[g,null]}if(!u){let y={...i,isFetching:!1,error:Error("Collection not found")};return this.setMetaValue([n,"@vault/pagination","state"],y),[y,null]}let f=this.get(n),h=[...f.items||[],...u.items||[]].map(y=>({id:y.id,type:y.type}));this.modifyEntityField({id:n,type:"Collection"},"items",h);let d=this.getPaginationState(t);if(!d)throw Error("Pagination state not found");let m={...d,isFetching:!1,error:null,currentPage:u.id,next:u.next?.id||null,currentPageIndex:d.pages.length,currentLength:h.length,pages:[...d.pages,{id:u.id,type:"Collection",startIndex:f.items.length,pageLength:u.items.length,order:typeof d.currentPageIndex=="number"?d.currentPageIndex+1:0}],isFullyLoaded:!u.next,previous:r,page:d.pages.length+1};return this.setMetaValue([n,"@vault/pagination","state"],m),[m,u]}getResourceMeta(t,e){let n=this.getState().iiif.meta[t];if(n)return e?n[e]:n}getObject(t,e,n={}){let{reactive:i,...a}=n;return Fl(this.get(t,e,a),this,i)}async loadObject(t,e){return Fl(await this.load(t,e),this)}async loadManifestObject(t,e){return Fl(await this.loadManifest(t,e),this)}async loadCollectionObject(t,e){return Fl(await this.loadCollection(t,e),this)}wrapObject(t){return Fl(this.get(t,{skipSelfReturn:!1}),this)}isWrapped(t){return pF(t)}setMetaValue([t,e,n],i){this.dispatch(typeof i=="function"?z1.setMetaValueDynamic({id:t,meta:e,key:n,updateValue:i}):z1.setMetaValue({id:t,meta:e,key:n,value:i}))}};function XM(){return typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}function Pf(t){let e=XM();try{let i=e.IIIF_VAULT;if(i)return i}catch{}let n=new Rc(t);try{e.IIIF_VAULT=n}catch{}return n}var H1=N(K(),1),gs=Cg.default.createContext({vault:null,setVaultInstance:t=>{}});function po({vault:t,vaultOptions:e,useGlobal:n,resources:i,children:a}){let[r,l]=(0,Cg.useState)(()=>t||(n?Pf(e):e?new Rc(e):new Rc));return(0,H1.jsx)(gs.Provider,{value:{vault:r,setVaultInstance:l},children:(0,H1.jsx)(Di,{value:i||{},children:a})})}var KM=N(ct(),1),ZM=N(ct(),1);var QM=N(ct(),1),ce=()=>{let{vault:t}=(0,QM.useContext)(gs);if(t===null)throw new Error("Vault not found. Ensure you have your provider set up correctly.");return t};var Ag=N(ct(),1);function _e(t,e=[]){let n=ce(),[i,a]=(0,Ag.useState)(()=>t(n.getState(),n));return(0,Ag.useEffect)(()=>n.subscribe(r=>t(r,n),r=>{a(r)},!1),e),i}var Vl=ZM.default.createContext([]);function Ul(){let t=(0,KM.useContext)(Vl);return _e(e=>t.map(n=>e.iiif.entities.Canvas[n]).filter(Boolean),[t])}var WM=N(ct(),1);function mo(t){let e=(0,WM.useContext)(gs);return t||(e&&e.vault?e.vault:Pf())}var JM=N(ct(),1);function Tn(t={},e=[]){let{id:n,selector:i}=t,a=Ti(),r=ce(),l=n||a.manifest,u=_e(f=>l?f.iiif.entities.Manifest[l]:void 0,[l]);return(0,JM.useMemo)(()=>{if(u)return i?i(u):u},[u,i,...e])}var EO=N(ct(),1),Dg=N(ct(),1);var ys=N(ct(),1);function Bf(t,{noCache:e=!1}={}){let n=typeof t=="string"?t:t.id,i=mo(),[a,r]=(0,ys.useState)(n),[l,u]=(0,ys.useState)(void 0),f=(0,ys.useMemo)(()=>i.get(n,{skipSelfReturn:!0})||void 0,[n,i]),[h,d]=(0,ys.useState)(f);return(0,ys.useEffect)(()=>{(async()=>{try{let m=f&&!e?f:await i.load(n),y=m?m.id||m["@id"]:null;m&&a!==y&&r(y),d(m)}catch(m){u(m)}})()},[n,e]),{isLoaded:!!h,id:a,requestId:n,error:l,resource:h,cached:!!(h&&h===f)}}function F1(t,e){let{id:n,isLoaded:i,error:a,resource:r,requestId:l,cached:u}=Bf(t,e);return{id:n,isLoaded:i,error:a,manifest:r,requestId:l,cached:u}}var $M=N(K(),1);function V1({manifest:t,children:e}){return(0,$M.jsx)(Di,{value:{manifest:t},children:e})}var tO=N(K(),1);function U1({range:t,children:e}){return(0,tO.jsx)(Di,{value:{range:t},children:e})}function eO(t,e){for(let n of e.items){if(n.type==="Canvas")return n;if(n.type==="SpecificResource")return n.source;if(n.type==="Range"){let i=eO(t,t.get(n));if(i)return i}}return null}function Mg(t,e){let n=[];for(let i of e.items)if(i.type==="SpecificResource"&&i.source?.type==="Canvas"&&(i.source.id.indexOf("#")!==-1?n.push({id:i.source.id.split("#")[0],type:"Canvas"}):n.push(i.source)),i.type==="Range"&&n.push(...Mg(t,t.get(i))),i.type==="SpecificResource"){let a=typeof i.source=="string"?i.source:i.source.id;n.push({id:a,type:"Canvas"})}return n}function mF(t,e,n){for(let i of e.structures){let a=q1(t,t.get(i),n);if(a)return a}return null}function q1(t,e,n){for(let i of e.items){let a=i?.source?.id?.split("#")[0];if(i.type==="SpecificResource"&&i.source===n||i.type==="SpecificResource"&&i.source?.type==="Canvas"&&n===a)return e;if(i.type==="Range"){let r=q1(t,t.get(i),n);if(r)return r}}return null}function gF(t,e,n,i=!1){let a=e.behavior,r=n?t.get(n):null;if(!r)return[];let l=r.behavior,u=i?!1:a.includes("paged"),f=u?!1:a.includes("continuous"),h=u||f?!1:a.includes("individuals"),d=l.includes("facing-pages"),m=l.includes("non-paged");if(d||m||h||i)return[{id:r.id,type:"Canvas"}];let[y,g]=Og(t,e);if(f)return y;let b=y.findIndex(T=>T.id===n);if(b===-1)return[];for(let T of g)if(T.includes(b))return T.map(C=>y[C]);return[{id:r.id,type:"Canvas"}]}function Og(t,e,{disablePaging:n,skipNonPaged:i}={}){let a=e.behavior,r=a.includes("paged"),l=r?!1:a.includes("continuous"),u=r||l?!1:a.includes("individuals"),f=e.type==="Manifest"?e.items:Mg(t,e);if(l)return[f,[f.map((b,T)=>T)]];if(u||!r||n)return[f,f.map((b,T)=>[T])];let h=[],d=[],m=()=>{d.length&&(h.push([...d]),d=[])},y=0,g=!1;for(let b=0;b<f.length;b++){let T=t.get(f[b]);if(T.behavior.includes("non-paged")){b===y&&y++,i||(m(),h.push([b]),m());continue}if(b===y||T.behavior.includes("facing-pages")){d.length&&(g=!0),m(),h.push([b]),m();continue}if(d.push(b),g){m(),g=!1;continue}d.length>1&&m()}return d.length&&m(),[f,h]}var cr=N(ct(),1);var nO=N(ct(),1);function Hf(t={},e=[]){let{id:n,selector:i}=t,a=Ti(),r=n||a.range,l=_e(u=>r?u.iiif.entities.Range[r]:void 0,[r]);return(0,nO.useMemo)(()=>{if(l)return i?i(l):l},[l,i,...e])}function j1({startCanvas:t,disablePaging:e}){let n=ce(),i=Tn(),a=Hf(),[r,l]=(0,cr.useState)(void 0),u=a||i;if(!u)throw new Error("Nothing selected");let[f,h]=(0,cr.useMemo)(()=>Og(n,u,{disablePaging:e}),[n,u,e]),d=(0,cr.useRef)(h);if(d.current!==h){let C=d.current[r][0],x=h.findIndex(w=>w.includes(C));d.current=h,l(x)}let m=(0,cr.useCallback)(T=>{let C=h.findIndex(x=>x.includes(T));l(C===-1?0:C)},[f,h]),y=(0,cr.useCallback)(T=>{let C=f.findIndex(x=>x.id===T);C!==-1?m(C):l(0)},[f,h]),g=(0,cr.useCallback)(()=>{l(T=>T>=h.length-1?T:T+1)},[h]),b=(0,cr.useCallback)(()=>{l(T=>T<=0?0:T-1)},[h]);return typeof r>"u"&&(t?y(t):l(0)),{visibleItems:h[r]?.map(T=>f[T].id)||[],cursor:r,items:f,sequence:h,hasPrevious:r>0,hasNext:r<h.length-1,setSequenceIndex:l,setCanvasIndex:m,setCanvasId:y,next:g,previous:b}}var fr=N(ct(),1);var aO={},iO=t=>{let e,n=new Set,i=(d,m)=>{let y=typeof d=="function"?d(e):d;if(!Object.is(y,e)){let g=e;e=m??(typeof y!="object"||y===null)?y:Object.assign({},e,y),n.forEach(b=>b(e,g))}},a=()=>e,f={setState:i,getState:a,getInitialState:()=>h,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(aO.env?aO.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},h=e=t(i,a,f);return f},va=t=>t?iO(t):iO;var mO=N(ct(),1),gO=N(fO(),1),zg={},{useDebugValue:LF}=mO.default,{useSyncExternalStoreWithSelector:DF}=gO.default,hO=!1,PF=t=>t;function zt(t,e=PF,n){(zg.env?zg.env.MODE:void 0)!=="production"&&n&&!hO&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),hO=!0);let i=DF(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,n);return LF(i),i}var pO=t=>{(zg.env?zg.env.MODE:void 0)!=="production"&&typeof t!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let e=typeof t=="function"?va(t):t,n=(i,a)=>zt(e,i,a);return Object.assign(n,e),n},Ig=t=>t?pO(t):pO;function BF(t){let e=t.service||t.services||[];for(let n of e)if(n.type==="AuthProbeService2")return!0;return!1}function dr(t,e,n){let i=e.findIndex(l=>l.service.id===t);if(i===-1)return e;let a=[...e],r=n(a[i]);return r===a[i]?e:(a[i]=r,a)}var Y1=()=>va((t,e)=>({currentAuth:-1,authItems:[],login:()=>{let n=e().authItems[e().currentAuth];if(!n||n.isPending||n.isLoggedIn)return;if(n.type!=="active")throw new Error("Cannot login to non-active service");let i=n.service.service.find(a=>a.type==="AuthAccessTokenService2");if(!i)throw new Error("Token service not found");t(()=>({authItems:dr(n.id,e().authItems,a=>({...a,isPending:!0}))})),G1(n.service).then(()=>{Ng(i).then(a=>{let r=a.expiresIn,l=Date.now()+r*1e3;t(()=>({authItems:dr(n.id,e().authItems,u=>({...u,isLoggedIn:!0,isPending:!1,session:{token:a.accessToken,expires:l}}))}))}).catch(a=>{t(()=>({authItems:dr(n.id,e().authItems,r=>({...r,isLoggedIn:!1,isPending:!1,error:a.message}))}))})})},logout:()=>{let n=e().authItems[e().currentAuth];if(!n||n.isPending||!n.isLoggedIn)return;if(n.type!=="active")throw new Error("Cannot logout of non-active service");let i=n.service.service.find(l=>l.type==="AuthLogoutService2");if(!i)return;let a=`${i.id}?origin=${yO()}`,r=window.open(a);t(()=>({authItems:dr(n.id,e().authItems,l=>({...l,isLoggedIn:!1,session:null,isPending:!1}))}))},nextAuth:()=>{let n=e().authItems.length,i=e().currentAuth+1;i>=n||t(()=>({currentAuth:i}))},previousAuth:()=>{let n=e().currentAuth-1;n<0||t(()=>({currentAuth:n}))},setAuth:n=>{n!==-1&&(n<0||n>=e().authItems.length)||t(()=>({currentAuth:n}))},addService:(n,i)=>{if(!n.service)return;let a=n.service.find(u=>u.type==="AuthAccessTokenService2"),r=n;if(e().authItems.find(u=>u.service.id===n.id)){t(()=>({authItems:dr(n.id,e().authItems,u=>({...u,instances:u.instances+1}))}));return}if(t(()=>({currentAuth:r.profile==="active"?0:e().currentAuth,authItems:[{id:n.id,type:n.profile,service:n,probeId:i,canAuthenticate:!0,instances:1,isPending:!1,isLoggedIn:!1,session:null},...e().authItems]})),n.profile==="external"){if(!a)throw new Error("Token service not found");Ng(a).then(u=>{t(()=>({authItems:dr(n.id,e().authItems,f=>({...f,isLoggedIn:!0,isPending:!1,session:{token:u.accessToken,expires:u.expiresIn}}))}))}).catch(u=>{t(()=>({authItems:dr(n.id,e().authItems,f=>({...f,isLoggedIn:!1,isPending:!1,canAuthenticate:!1,error:u.message}))}))})}if(n.profile==="kiosk"){if(!a)throw new Error("Token service not found");t(()=>({authItems:dr(n.id,e().authItems,u=>({...u,isPending:!0}))})),G1(r).then(()=>{Ng(a).then(u=>{t(()=>({authItems:dr(n.id,e().authItems,f=>({...f,isLoggedIn:!0,isPending:!1,session:{token:u.accessToken,expires:u.expiresIn}}))}))}).catch(u=>{t(()=>({authItems:dr(n.id,e().authItems,f=>({...f,isLoggedIn:!1,isPending:!1,error:u.message}))}))})})}n.profile},removeService:(n,i)=>{let a=e().currentAuth===e().authItems.findIndex(l=>l.service.id===n.id),r=e().currentAuth;if(a){let l=e().authItems.find(f=>f.service.id===n.id);l&&l.instances>1||(r=e().authItems.findIndex(h=>h.service.id!==n.id&&h.instances>0))}t(()=>({authItems:dr(n.id,e().authItems,l=>({...l,instances:l.instances-1})),currentAuth:r}))}})),X1=(t,e)=>va((n,i)=>({service:t,status:t?"unknown":"success",shouldRedirect:!1,redirectResource:null,shouldSubstitute:!1,substituteResource:null,error:null,errorHeading:null,errorNote:null,shouldDisplayResource:!1,token:e||null,async probe(){if(!i().service)return;let a=i().service?.id;if(!a){n({status:"error",error:"Service ID not found",errorHeading:{en:["Service ID not found"]}});return}n({status:"probing"});let r=i().token;try{let l=await fetch(a,{headers:r?{Authorization:`Bearer ${i().token}`,Accept:"application/json"}:{Accept:"application/json"}}).then(u=>u.json());if(l.status===200)n({status:"success",shouldDisplayResource:!0,error:null,errorHeading:null,errorNote:null,shouldSubstitute:!1,shouldRedirect:!1});else if(l.status<400&&l.status>=300){if(!l.location)throw new Error("Redirect location not found");n({status:"error",shouldDisplayResource:!1,shouldRedirect:!0,redirectResource:l.location||null})}else if(l.status===401)n({status:"error",shouldDisplayResource:!1,shouldRedirect:!1,shouldSubstitute:!!l.substitute,substituteResource:l.substitute||null,error:"Unauthorized",errorHeading:l.heading||{en:["Unauthorized"]},errorNote:l.note||null});else throw new Error("Unknown error")}catch(l){n({status:"error",error:l.message,errorHeading:{en:["Unknown error"]}})}},setToken(a){n({token:a})}}));function Q1(t){let e=t.service||t.services||[],n={hasAuth:!1,services:{}};for(let i of e)if(i.type==="AuthProbeService2"){n.services.probe=i,n.hasAuth=!0;let a=i.service.filter(r=>r.type==="AuthAccessService2");a[0]&&(n.services.access=a[0])}return n}async function Ng(t,{strict:e=!0}={}){return new Promise((n,i)=>{let a=Math.random().toString(36).substring(7),r=`${t.id}?messageId=${a}&origin=${window.location.origin}`,l=h=>{let d=h.data;if(d.messageId===a){if(e&&d.type!=="AuthAccessToken2"){u(),i("Invalid response, expected type=AuthAccessToken2");return}if(!d.accessToken){u(),i("Invalid response, expected accessToken");return}u(),n(d)}},u=()=>window.removeEventListener("message",l),f=document.createElement("iframe");f.src=r,f.style.display="none",document.body.appendChild(f),window.addEventListener("message",l)})}function yO(t){let e=window.location;if(t){let n=document.createElement("a");return n.href=t,n.protocol+"//"+n.hostname+(n.port?":"+n.port:"")}return e.protocol+"//"+e.hostname+(e.port?":"+e.port:"")}async function G1(t){let e=`${t.id}?origin=${yO()}`,n=window.open(e);if(!n)throw new Error("Failed to open window");return new Promise((i,a)=>{let r=setInterval(()=>{n.closed&&(clearInterval(r),i())},500)})}var Cc=N(ct(),1);function vO(t){let e=(0,Cc.useMemo)(()=>Q1(t),[t]),n=K1(e.services.access?.id),i=(0,Cc.useMemo)(()=>X1(e.services.probe,n),[e.services.probe]),a=zt(i);return(0,Cc.useEffect)(()=>{a.status==="unknown"&&!n&&a.probe()},[e.services.probe,a.status]),(0,Cc.useEffect)(()=>{n&&(a.setToken(n),a.probe())},[n]),[t,a,e.hasAuth]}var Ff=N(K(),1),ql=(0,fr.createContext)(null),bO=(0,fr.createContext)(null);bO.displayName="CurrentAuth";var SO=(0,fr.createContext)(null);SO.displayName="AuthActions";function W1({children:t}){let e=(0,fr.useMemo)(()=>Y1(),[]);return(0,Ff.jsx)(ql.Provider,{value:e,children:t})}function J1(){return!!(0,fr.useContext)(ql)}function Ac(){let t=(0,fr.useContext)(ql);if(!t)throw new Error("useAuthActions must be used within a AuthProvider");return t}function xO(){let t=Ac();return zt(t,n=>({login:n.login,logout:n.logout,nextAuth:n.nextAuth,previousAuth:n.previousAuth,setAuth:n.setAuth,addService:n.addService,removeService:n.removeService}))}function HF(){let t=Ac();return zt(t,e=>e)}function wO(t){let e=Ac();return zt(e,i=>i.authItems.find(a=>a.service.id===t))}function K1(t){let e=Ac();return zt(e,i=>i.authItems.find(a=>a.id===t)?.session?.token)}function FF(t){let e=Ac();return zt(e,i=>{let a=i.authItems.find(r=>r.service.id===t);return!a||!a.isLoggedIn||!a.session?null:a.session?.token||null})}function VF(t){let e=xO(),n=wO(t.service.id);return(0,fr.useEffect)(()=>(e?.addService(t.service,t.probeId),()=>{e?.removeService(t.service,t.probeId)}),[t.service]),n?(n.error||!n.isLoggedIn,t.children):null}function Z1(){return null}function $1(t){let[e,n,i]=vO(t.resource),a=t.fallbackComponent||Z1,r=t.loadingComponent||Z1,l=t.errorComponent||Z1,u=n.service,f=null;if(!i||!u)return t.children(e);let h=u.service.filter(d=>d.type==="AuthAccessService2");n.status==="error"&&(f=(0,Ff.jsx)(l,{resource:t.resource,error:n.error||"",heading:n.errorHeading,note:n.errorNote,extra:t.extra})),(n.status==="unknown"||n.status==="probing")&&(f=(0,Ff.jsx)(r,{})),n.status==="success"&&(f=t.children(e));for(let d of h)f=(0,Ff.jsx)(VF,{service:d,probeId:u.id,children:f},d.id);return f}var Vf=N(ct(),1);var UF=t=>t.id||t["@id"];function qF(t){return(Array.isArray(t.service)?t.service:[t.service]).find(n=>n?.profile==="http://iiif.io/api/search/0/autocomplete"||n?.profile==="http://iiif.io/api/search/1/autocomplete"||n?.profile==="AutoCompleteService1")}var TO=t=>{let e;typeof t=="string"?e={"@context":"http://iiif.io/api/search/1/context.json",profile:"http://iiif.io/api/search/1/search","@id":t,id:t,service:[]}:e=t;let n=e?UF(e):void 0,i=null;return va((a,r)=>({service:e,resources:[],lastQuery:{},loading:!1,error:!1,highlight:null,hasSearch:!!e,hasAutocomplete:e?!!qF(e):!1,errorMessage:"",search(l,u={}){if(!n)throw new Error("No search service found.");i&&!i.signal.aborted&&i.abort(),i=new AbortController;let f=new URLSearchParams;l.q&&f.set("q",l.q),l.motivation&&f.set("motivation",l.motivation),l.date&&f.set("date",l.date),l.user&&f.set("user",l.user),a({loading:!0}),fetch(`${n}?${f.toString()}`,{signal:i.signal,headers:{"Content-Type":"application/json",Accept:"application/json",...u.headers||{}}}).then(async h=>{if(!i?.signal.aborted)if(h.ok){let d=await h.json();a({resources:d.resources,error:!1,errorMessage:""})}else a({resources:[],error:!0,errorMessage:h.statusText})})},clearSearch(){a({resources:[],error:!1,errorMessage:""})},highlightResult(l){let u=r().resources.find(f=>f["@id"]===l);a({highlight:u})},nextResult(){let l=r().resources,u=r().highlight;if(!u){a({highlight:l[0]||null});return}let f=l.findIndex(h=>h["@id"]===u["@id"]);if(f===-1){a({highlight:l[0]||null});return}a({highlight:l[f+1]||l[0]||null})},previousResult(){let l=r().resources,u=r().highlight;if(!u){a({highlight:l[l.length-1]||null});return}let f=l.findIndex(h=>h["@id"]===u["@id"]);if(f===-1){a({highlight:l[l.length-1]||null});return}if(f===0){a({highlight:l[l.length-1]||null});return}a({highlight:l[f-1]||l[l.length-1]||null})}}))};function tx(){let t=Tn();return t?t.service.find(e=>e.profile==="SearchService1"||e.profile==="http://iiif.io/api/search/1/search"):void 0}var Lg=N(K(),1),Mc=(0,Vf.createContext)(null);Mc.displayName="Search";function RO(t){let e=tx();return t.store?(0,Lg.jsx)(Mc.Provider,{value:t.store,children:t.children}):(0,Lg.jsx)(jF,{service:e,children:t.children})}function jF({service:t,children:e}){let n=(0,Vf.useMemo)(()=>TO(t),[t]);return(0,Lg.jsx)(Mc.Provider,{value:n,children:e})}var Xi=N(K(),1),Uf=()=>{},Oc=(0,Dg.createContext)({setCurrentCanvasId:Uf,setCurrentCanvasIndex:Uf,nextCanvas:Uf,previousCanvas:Uf,items:[],sequence:[],setSequenceIndex:Uf,currentSequenceIndex:0,hasNext:!1,hasPrevious:!1});function CO(t){let e=Tn(),{cursor:n,visibleItems:i,next:a,sequence:r,items:l,setCanvasIndex:u,setCanvasId:f,previous:h,setSequenceIndex:d,hasNext:m,hasPrevious:y}=j1({startCanvas:t.startCanvas,disablePaging:t.pagingEnabled===!1}),g=(0,Dg.useMemo)(()=>({sequence:r,items:l,setCurrentCanvasId:f,nextCanvas:a,previousCanvas:h,totalCanvases:l.length,setCurrentCanvasIndex:u,setSequenceIndex:d,currentSequenceIndex:n,hasNext:m,hasPrevious:y}),[r,l,f,a,h,l,u,d,n]);return e?i.length===0?null:(0,Xi.jsx)(Oc.Provider,{value:g,children:(0,Xi.jsx)(Vl.Provider,{value:i,children:(0,Xi.jsx)(Va,{canvas:i[0],children:t.children})})}):(console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,Xi.jsx)("div",{children:"Sorry, something went wrong."}))}function ex(t){let e=mo(t.vault),n=F1(t.manifest);if(!n)return console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,Xi.jsx)("div",{children:"Sorry, something went wrong."});if(n.error)return(0,Xi.jsx)("div",{children:n.error.toString()});if(!n.isLoaded)return(0,Xi.jsx)("div",{children:"Loading..."});let i=(0,Xi.jsx)(CO,{...t,children:t.children});return(0,Xi.jsx)(po,{vault:e,children:(0,Xi.jsx)(V1,{manifest:n.id,children:(0,Xi.jsx)(W1,{children:(0,Xi.jsx)(RO,{children:t.rangeId?(0,Xi.jsx)(U1,{range:t.rangeId,children:i}):i})})})})}function jl(){return(0,EO.useContext)(Oc)}var _c=(t,e,n)=>{let i=t.length,a=n||It(i);for(let r=0;r<i;r++)a[r]=r%5===0?t[r+1]<e[3]&&t[r+3]>e[1]&&t[r+2]<e[4]&&t[r+4]>e[2]?1:0:t[r];return a};function It(t,e,n){return new Float32Array(t,e,n)}var AO=(t,e,n)=>{let i=t[1]<=e[3]&&t[3]>=e[1]&&t[2]<=e[4]&&t[4]>=e[2],a=n||It(5);return i?(a[0]=1,a[1]=Math.max(t[1],e[1]),a[2]=Math.max(t[2],e[2]),a[3]=Math.min(t[3],e[3]),a[4]=Math.min(t[4],e[4]),a):(a[0]=0,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a)},MO=t=>t.length/5;var Dr=(t,e,n)=>{let i=n||It(9);return i[0]=t[0]*e[0]+t[1]*e[3]+t[2]*e[6],i[1]=t[0]*e[1]+t[1]*e[4]+t[2]*e[7],i[2]=t[0]*e[2]+t[1]*e[5]+t[2]*e[8],i[3]=t[3]*e[0]+t[4]*e[3]+t[5]*e[6],i[4]=t[3]*e[1]+t[4]*e[4]+t[5]*e[7],i[5]=t[3]*e[2]+t[4]*e[5]+t[5]*e[8],i[6]=t[6]*e[0]+t[7]*e[3]+t[8]*e[6],i[7]=t[6]*e[1]+t[7]*e[4]+t[8]*e[7],i[8]=t[6]*e[2]+t[7]*e[5]+t[8]*e[8],i},de=class t{constructor(e){this.index=0,this.length=e,this.points=It(this.length)}static grid(e=1,n=1){return new t(5*e*n)}static point(e,n){let i=It(5);return i[0]=1,i[1]=e,i[2]=n,i[3]=e,i[4]=n,i}static positionPair(e){let n=It(5);return n[0]=1,n[1]=e.x1,n[2]=e.y1,n[3]=e.x2,n[4]=e.y2,n}static projection(e){return t.singleBox(e.width,e.height,e.x,e.y)}static singleBox(e,n,i=0,a=0){let r=It(5);return r[0]=1,r[1]=i,r[2]=a,r[3]=e+i,r[4]=n+a,r}row(e){return e(this)}addPoints(e,n,i,a){return this.points[this.index]=1,this.points[1+this.index]=e,this.points[2+this.index]=n,this.points[3+this.index]=i,this.points[4+this.index]=a,this.index+=5,this}addBox(e,n,i,a){return this.addPoints(e,n,e+i,n+a),this}build(){return this.points}};var hr=(t,e)=>{let n=t.length;for(let i=0;i<n;i++)t[i]=i%5===0?e[6]*t[i+1]+e[7]*t[i+2]+e[8]*t[i]:i%5%2===1?e[0]*t[i]+e[1]*t[i+1]+e[2]:e[3]*t[i-1]+e[4]*t[i]+e[5];return t},go=t=>{let e=It(9);return e[0]=t,e[4]=t,e[8]=1,e},di=(t,e)=>{let n=It(9);return n[0]=1,n[2]=t,n[4]=1,n[5]=e,n[8]=1,n},kl=(t,e,n)=>Dr(di((1-t)*e,(1-t)*n),go(t)),Qi=(t,e,n)=>{let i=t.length,a=n&&n.length>=i?n.slice(0,i):It(i);for(let r=0;r<i;r++)a[r]=r%5===0?e[6]*t[r+1]+e[7]*t[r+2]+e[8]*t[r]:r%5%2===1?e[0]*t[r]+e[1]*t[r+1]+e[2]:e[3]*t[r-1]+e[4]*t[r]+e[5];return a};var kF=Object.defineProperty,GF=(t,e,n)=>e in t?kF(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Pg=(t,e,n)=>(GF(t,typeof e!="symbol"?e+"":e,n),n);function Gl(t){return t.endsWith("info.json")?t:t.endsWith("/")?`${t}info.json`:`${t}/info.json`}var YF="http://library.stanford.edu/iiif/image-api/compliance.html#level0",IO="http://library.stanford.edu/iiif/image-api/compliance.html#level1",NO="http://library.stanford.edu/iiif/image-api/compliance.html#level2",XF="http://library.stanford.edu/iiif/image-api/conformance.html#level0",LO="http://library.stanford.edu/iiif/image-api/conformance.html#level1",DO="http://library.stanford.edu/iiif/image-api/conformance.html#level2",QF="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0",PO="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1",BO="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",KF="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level0",HO="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1",FO="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2",ZF="http://iiif.io/api/image/1/level0.json",WF="http://iiif.io/api/image/1/profiles/level0.json",VO="http://iiif.io/api/image/1/level1.json",UO="http://iiif.io/api/image/1/profiles/level1.json",qO="http://iiif.io/api/image/1/level2.json",jO="http://iiif.io/api/image/1/profiles/level2.json",JF="http://iiif.io/api/image/2/level0.json",$F="http://iiif.io/api/image/2/profiles/level0.json",kO="http://iiif.io/api/image/2/level1.json",GO="http://iiif.io/api/image/2/profiles/level1.json",YO="http://iiif.io/api/image/2/level2.json",XO="http://iiif.io/api/image/2/profiles/level2.json",tV="level0",QO="level1",KO="level2",eV="http://iiif.io/api/image/2/level0",ZO="http://iiif.io/api/image/2/level1",WO="http://iiif.io/api/image/2/level2",nV="https://iiif.io/api/image/1.1/compliance/#level0",JO="https://iiif.io/api/image/1.1/compliance/#level1",$O="https://iiif.io/api/image/1.1/compliance/#level2",t_=[WO,NO,DO,BO,FO,qO,jO,YO,XO,KO,$O],e_=[...t_,ZO,IO,LO,PO,HO,VO,UO,kO,GO,QO,JO],iV=[eV,ZO,WO,YF,IO,NO,XF,LO,DO,QF,PO,BO,KF,HO,FO,ZF,WF,VO,UO,qO,jO,JF,$F,kO,GO,YO,XO,tV,QO,KO,nV,JO,$O];var aV={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["sizeByWhListed"]},rV={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPx","regionSquare","sizeByWhListed","sizeByH","sizeByW","sizeByWh"]},oV={extraFormats:["jpg","png"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPct","regionByPx","regionSquare","rotationBy90s","sizeByWhListed","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"]};function sV(t){return t_.indexOf(t)!==-1?oV:e_.indexOf(t)!==-1?rV:aV}function lV(t){let e=t?Array.isArray(t.profile)?t.profile:[t.profile]:[],n={extraQualities:[],extraFormats:[],extraFeatures:[]};for(let i of e)if(typeof i=="string"&&(i=sV(i)),!!i){if(i.formats)for(let a of i.formats)n.extraFormats.indexOf(a)===-1&&n.extraFormats.push(a);if(i.qualities)for(let a of i.qualities)n.extraQualities.indexOf(a)===-1&&n.extraQualities.push(a);if(i.supports)for(let a of i.supports)n.extraFeatures.indexOf(a)===-1&&n.extraFeatures.push(a);if(i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea),i.extraFormats)for(let a of i.extraFormats)n.extraFormats.indexOf(a)===-1&&n.extraFormats.push(a);if(i.extraQualities)for(let a of i.extraQualities)n.extraQualities.indexOf(a)===-1&&n.extraQualities.push(a);if(i.extraFeatures)for(let a of i.extraFeatures)n.extraFeatures.indexOf(a)===-1&&n.extraFeatures.push(a);i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea)}if(t.extraFormats)for(let i of t.extraFormats)n.extraFormats.indexOf(i)===-1&&n.extraFormats.push(i);if(t.extraFeatures)for(let i of t.extraFeatures)n.extraFeatures.indexOf(i)===-1&&n.extraFeatures.push(i);if(t.extraQualities)for(let i of t.extraQualities)n.extraQualities.indexOf(i)===-1&&n.extraQualities.push(i);return n}function uV(t){try{if(t==="full")return{full:!0};if(t==="square")return{square:!0};let e=t.startsWith("pct:"),n=t.substr(e?4:0).split(",").map(i=>parseFloat(i));return{x:n[0],y:n[1],w:n[2],h:n[3],percent:e}}catch{throw new Error("Expected 'full', 'square' or 'x,y,w,h'. Found "+t)}}function cV(t){let e={upscaled:!1,max:!1,confined:!1};if(t[0]==="^"&&(e.upscaled=!0,t=t.slice(1)),t==="max"||t==="full")return e.max=!0,e.serialiseAsFull=t==="full",e;if(t[0]==="!"&&(e.confined=!0,t=t.slice(1)),t[0]==="p")return e.percentScale=parseFloat(t.slice(4)),e;let n=t.split(",").map(i=>i.trim());return n.length&&typeof n[0]<"u"&&(n[0]!==""&&(e.width=parseInt(n[0],10)),typeof n[1]<"u"&&n[1]!==""?(e.height=parseInt(n[1],10),e.version=2):e.version=3),e}function dV(t){let e={angle:0};if(t[0]==="!"&&(e.mirror=!0,t=t.substr(1)),e.angle=parseFloat(t)%360,Number.isNaN(e.angle))throw new Error(`Invalid rotation ${t}`);return e}function fV(t,e=""){let n=t.match(/^(([a-zA-Z]+):\/\/([^/]+))?((.*)+)/);if(!n)throw new Error(`Invalid or unknown input ${t}`);let i=n[2],a=n[3],r=n[4];if(r[0]==="/"&&(r=r.substring(1)),e.length>0){if(e[0]==="/"&&(e=e.substring(1)),e!==r.substring(0,e.length))throw new Error(`Path does not start with prefix (path: ${r}, prefix: ${e})`);r=r.substring(e.length)}return{scheme:i,server:a,path:r,prefix:e}}function hV(t,e=""){let{path:n,scheme:i,server:a,prefix:r}=fV(t,e),l=(n||"").split("/").reverse(),[u,f,h,d,...m]=l,y=m.reverse().filter(Boolean).join("/");if(l.length===1||u==="")return{type:"base",scheme:i,server:a,prefix:r,identifier:y};if(u==="info.json"){let[,...b]=l;return{type:"info",scheme:i,server:a,prefix:r,identifier:b.reverse().filter(Boolean).join("/")}}let g=(u||"").split(".");if(typeof g[1]>"u"||typeof g[0]>"u"||typeof d>"u"||typeof h>"u"||typeof f>"u")throw new Error("Invalid image request");return{type:"image",scheme:i,server:a,prefix:r,identifier:y,originalPath:n,region:uV(d),size:cV(h),rotation:dV(f),quality:g[0],format:g[1]}}function pV(t){let e=hV(Gl(t.id));if(e.type!=="info")throw new Error("Invalid service URL");let n=lV(t);return{identifier:e.identifier,originalPath:"",server:e.server,prefix:e.prefix,scheme:e.scheme,type:"image",quality:n.extraQualities.indexOf("default")===-1?n.extraQualities[0]:"default",region:{full:!0},size:{max:!0,upscaled:!1,confined:!1},format:"jpg",rotation:{angle:0}}}function mV(t,e,n){let i=n.length,a=[];for(let r=0;r<i;r++){let l=n[r];if(l){let u=l.width;a.push(t/u)}}return a}function gV(t,e,n){let i=n.length,a=[];for(let r=0;r<i;r++){let l=n[r];l&&a.push({width:Math.floor(t/l),height:Math.floor(e/l)})}return a}function gn(t){if(t["@id"])return t["@id"];if(t.id)return t.id}function Hg(t){if(!t||!t.profile||!gn(t))return!1;let e=Array.isArray(t.profile)?t.profile:[t.profile];for(let n of e)if(typeof n=="string"&&iV.indexOf(n)!==-1)return!0;return!1}function yV(t){if(!Hg(t))return!1;let e=Array.isArray(t.profile)?t.profile:[t.profile];for(let n of e)if(typeof n=="string"){if(e_.indexOf(n)!==-1)return!0}else{let i=[...n.supports||[],...n.extraFeatures||[]];if(i.indexOf("regionByPx")!==-1&&(i.indexOf("sizeByW")!==-1||i.indexOf("sizeByWh")!==-1))return!0}return!1}function Bg(t,e){if(e&&e.profile){let n=e.profile;if(n){let i=Array.isArray(n)?n:[n];return i.includes(`level${t}`)||i.includes(`http://iiif.io/api/image/2/level${t}.json`)||i.includes(`http://iiif.io/api/image/1/level${t}.json`)||i.includes(`http://iiif.io/api/image/1/profiles/level${t}.json`)}}return!1}function ix(t){return Hg(t)?Bg(0,t)?0:Bg(1,t)?1:Bg(2,t)?2:null:null}function n_(t){return(t["@context"]?Array.isArray(t["@context"])?t["@context"]:[t["@context"]]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1}function vV(t){if(!yV(t))return[];let e=[],n=Array.isArray(t.profile)?t.profile:[t.profile],i=n.length;for(let a=0;a<i;a++){let r=n[a];if(r&&typeof r!="string"&&(r.maxHeight||r.maxWidth))return[{id:gn(t),type:"variable",minWidth:0,minHeight:0,maxHeight:r.maxHeight||r.maxWidth,maxWidth:r.maxWidth||r.maxHeight,level:ix(t),version:t["@context"]==="http://iiif.io/api/image/3/context.json"?3:2}]}if(t.tiles){let a=t.tiles.length;for(let r=0;r<a;r++){let l=t.tiles[r];l&&(l.height||l.width)&&e.push({id:gn(t),type:"variable",minHeight:0,minWidth:0,maxHeight:l.height||l.width,maxWidth:l.width,level:ix(t),version:n_(t)?3:2})}}return e}function OO(t){let e=/^.*\/(full)\/(((\d+),(\d+)?)|max)\/(\d+)\/default\.(jpg|png|jpeg)$/,n=t.match(e);if(n&&n[4]&&n[5]){let i=n[1],a=parseInt(n[4],10),r=parseInt(n[5],10),l=n[7];if((i==="max"||i==="full")&&a&&r&&l)return{type:"fixed",id:t,height:r,width:a}}return{type:"unknown",id:t}}function bV(t){if(t["@type"])return t["@type"];if(t.type)return t.type}function SV(t){if(typeof t=="string")return OO(t);let e=bV(t);if(e!=="Image"&&e!=="sc:Image")return null;let n=t,i=gn(n);return i?i&&n.width&&n.height?{id:i,type:"fixed",width:n.width,height:n.height,unsafe:!0}:OO(i):null}function xV(t){return Hg(t)?(t&&t.sizes?t.sizes:[]).map(e=>({id:gn(t),type:"fixed-service",height:e.height,width:e.width,level:ix(t),version:n_(t)?3:2})):[]}function _O(t){let e=[],n=t.length;for(let i=0;i<n;i++){let a=t[i];if(!a)continue;let r=xV(a);r.length&&e.push(...r);let l=vV(a);l.length&&e.push(...l)}return e}function i_(t){let e=t.service?Array.isArray(t.service)?t.service:[t.service]:[],n=e.length,i=[];for(let a=0;a<n;a++)Hg(e[a])&&i.push(e[a]);return i}function wV(t,e=!0,n){let i=[],a=SV(t);if(a===null)return i;let r=t;if(i.push(a),e&&r&&r.width&&r.height){let l=[],u=i_(r);for(let f of u){let h={id:gn(f),width:r.width,height:r.height};if(n.canLoadSync(h)){let d=n.loadServiceSync(h);d&&(d.height||(d.height=r.height),d.width||(d.width=r.width),l.push(..._O([d])))}}if(l.length)return i.push(...l),i}return r.service&&i.push(..._O(r.service)),i}function TV({x:t=0,y:e=0,w:n,h:i,full:a,square:r,percent:l}){if(a)return"full";if(r)return"square";if(typeof n>"u"||typeof i>"u")throw new Error("RegionParameter: invalid region");let u=`${t},${e},${n},${i}`;return l?`pct:${u}`:u}function RV({max:t,percentScale:e,upscaled:n,confined:i,width:a,height:r,serialiseAsFull:l,version:u}){let f=[];return n&&f.push("^"),t?(f.push(l?"full":"max"),f.join("")):(i&&f.push("!"),e&&f.push(`pct:${e}`),a&&f.push(`${a}`),f.push(","),r&&u===3&&f.push(`${r}`),f.join(""))}function EV(t){return`${t.mirror?"!":""}${(t.angle||0)%360}`}function CV(t,e){let n=t.prefix.startsWith("/")?t.prefix.substr(1):t.prefix,i=`${t.scheme}://${t.server}/${n?`${n}/`:""}${t.identifier}`;if(t.type==="base")return i;if(t.type==="info")return`${i}/info.json`;let{size:a}=t,{region:r,rotation:l,format:u,quality:f}=t;if(e){let h=e["@context"]?Array.isArray(e["@context"])?e["@context"]:[e["@context"]]:[],d=e.profile,m=h.indexOf("http://iiif.io/api/image/2/context.json")!==-1||d==="level2",y=h.indexOf("http://iiif.io/api/image/3/context.json")!==-1;if((a.width===e.width&&!a.height||a.height===e.height&&!a.width||a.width===e.width&&a.height===e.height)&&(a={...a,max:!0}),m&&(a.max&&!a.serialiseAsFull&&(a={...a,serialiseAsFull:!0}),!a.max&&a.width&&a.height&&(a={...a,height:void 0}),a={...a,version:2}),y){if(a.max&&a.serialiseAsFull&&(a={...a,serialiseAsFull:!1}),a.width&&!a.height&&e.width&&e.height){let g=e.height/e.width;a={...a,height:Math.ceil(a.width*g)}}a={...a,version:3}}}return[i,TV(r),RV(a),EV(l),`${f}.${u}`].filter(Boolean).join("/")}function nx(t,e,n){let i=pV({"@context":t.version===3?"http://iiif.io/api/image/3/context.json":"http://iiif.io/api/image/2/context.json",id:Gl(gn(t)),profile:t.level===null||typeof t.level>"u"?"level0":`level${t.level}`,type:t.version===3?"ImageService3":"ImageService2"});if(i.type!=="image")throw new Error("Invalid service");return i.size.max=!1,i.size.width=e,i.size.height=n,{id:CV(i),type:"fixed",width:e,height:n||t.height/(t.width||1)*e,unsafe:t.width>e}}function zc(t){let e=t.replace(/(https?:\/\/)?(www.)?/i,"");return e.indexOf("/")!==-1?e.split("/")[0]:e}function AV(t,e,n){let i=t.width?t.width:t.maxWidth;return n.height<=t.maxHeight&&n.width<=t.maxWidth&&n.height>=t.minHeight&&n.width>=t.minWidth&&(!e||Math.abs(n.width-i)<Math.abs(e.width-i))}function MV(t,e){let n=[],i=Object.assign({unsafeImageService:!1,atAnyCost:!0,fallback:!0,minHeight:64,minWidth:64,maxHeight:1/0,maxWidth:1/0,returnAllOptions:!1,preferFixedSize:!1,allowUnsafe:!1,explain:!1,height:0,width:0},t),a=(d,m=0)=>i.explain?n.push(new Array(m).fill(0).map(y=>" ").join("")+d().trim()):void 0,r=[],l=[],u=null;a(()=>`Using configuration: ${JSON.stringify(i,null,2)}`);let f=(d,m)=>{if(a(()=>"Swapping choice",3),AV(i,m,d)){if(i.preferFixedSize&&d.unsafe){a(()=>`We found an image that was marked as unsafe, but it was the best size. (${d.id})`,4),l.push(d);return}i.returnAllOptions&&m&&l.push(m),a(()=>`We found a new image that was the best size. (${d.id})`,4),u=d}else i.returnAllOptions&&l.push(d)};a(()=>`The input shows we have ${e.length} list(s) of candidates to choose from.`);let h=e.length;for(let d=0;d<h;d++){let m=e[d]();a(()=>`Candidate group ${d}: ${JSON.stringify(m,null,2)}`,1);let y=m.length;a(()=>`Checking candidate list number ${d} and found ${y} potential ways of creating image(s)`,1);for(let g=0;g<y;g++){let b=m[g];if(a(()=>`-> Checking candidate ${g}`,1),b.type==="unknown"&&i.atAnyCost&&(a(()=>`We've found an unknown image type, adding this to the "last resort" list`,2),r.push(b)),b.type==="fixed"&&(b.unsafe?(a(()=>`We've found an unsafe fixed image type, adding this to the "last resort" list`,2),r.push(b)):(a(()=>"We've found a fixed size image, checking if it matches the request",2),f(b,u))),b.type==="fixed-service")if(i.unsafeImageService){a(()=>"Checking for an image from the tile source, without calculating the right height and width (unsafeImageService)",2);let T=nx(b,i.width,i.height);f(T,u)}else{a(()=>"Checking for an image from the tile source 3",2);let T=nx(b,b.width,b.height);f(T,u)}if(b.type==="variable"&&b.maxWidth){let T=nx({id:b.id,type:"fixed-service",width:b.maxWidth,height:b.maxWidth,level:b.level,version:b.version},b.maxWidth);f(T,u)}}if(u&&!i.returnAllOptions){if(u.unsafe||i.allowUnsafe)continue;a(()=>`We found a match in choice list number ${d}, no searching any more`);break}}return i.atAnyCost&&l.length===0?(a(()=>u?`We found an image! ${u.id} of type ${u.type}`:'We found no images, but "atAnyCost" is set, so returning that'),{best:u||r[0]||null,fallback:r.slice(1),log:n}):i.returnAllOptions?(a(()=>"Returning all options that we have found"),{best:(i.atAnyCost?u||l[0]||r[0]:u||l[0])||null,fallback:[...l,...r],log:n}):(a(()=>"Returning the best image that we found, and a fallback"),{best:u||l[0]||null,fallback:u?l:l.slice(1),log:n})}function OV(t,e,n){let i=t>e?t:e,a=n.length,r=[];for(let l=0;l<a;l++){let u=n[l];if(!u||u.scaleFactors.length===0)continue;let f=u.scaleFactors[0];if(!f)continue;let h=i/f,d=[f];for(;h>=u.width;)f=f*2,d.push(f),h=h/2;r.push({...u,scaleFactors:d})}return r}function _V(t,e){if(t.length!==e.length)return!1;if(t.length===0&&e.length===0)return!0;let n=t.length,i=!0;for(let r=0;r<n;r++){let l=t[r],u=e[r];if(l.width!==u.width||l.height!==u.height){i=!1;break}}if(i)return!0;let a=0;for(let r=0;r<n;r++)for(let l=0;l<n;l++)if(t[r].width===e[l].width&&t[r].height===e[l].height){a++;break}return a===n}function zO(t){return Bg(0,t)}var a_=class{constructor(t={}){Pg(this,"config",{verificationsRequired:1,approximateServices:!1,enableFetching:!0,disableThrottling:!1}),Pg(this,"fetchingCount",0),Pg(this,"imageServices",{}),Pg(this,"knownImageServers",{}),this.config=Object.assign(this.config,t)}setConfig(t){Object.assign(this.config,t)}sample(t,e,n=!0){let i=zc(gn(t)),a=Gl(gn(t)),r=this.knownImageServers[i];return this.imageServices[a]=Object.assign(t,{real:!0}),!r&&t.tiles&&!zO(t)?(this.knownImageServers[i]={verifications:0,malformed:!1,root:i,preLoaded:n,sampledId:gn(t),verified:!1,server:null,result:{context:t["@context"]||[],sampledProfile:t.profile,resourceServiceRatio:e&&t.height?e.height/t.height:1,sampledSizes:t.sizes||[],sizeRatios:mV(t.width,t.height,t.sizes||[]),sampledTiles:t.tiles||[]}},!0):this.verify(t)}preLoad(t,e=!0){this.knownImageServers[t.root]=t,e&&(this.knownImageServers[t.root].malformed=!1,this.knownImageServers[t.root].verifications=this.config.verificationsRequired)}predict(t,e=!1,n=!1){let i=t?.source,a=zc(gn(t)),r=this.knownImageServers[a],l=Gl(gn(t));return this.imageServices[l]?this.imageServices[l]||null:!this.config.approximateServices||!r||!r.result||!(i?.height||t.height)||!(i?.width||t.width)||!n&&(r.malformed||r.verifications<this.config.verificationsRequired)||zO(t.source)?null:(this.imageServices[l]||(this.imageServices[l]={"@context":r.result.context,"@id":gn(t),id:gn(t),protocol:"http://iiif.io/api/image",tiles:i?.tiles||OV(t.width,t.height,r.result.sampledTiles),sizes:i?.sizes||gV(Math.round(t.width/r.result.resourceServiceRatio),Math.round(t.height/r.result.resourceServiceRatio),r.result.sizeRatios),profile:i?.profile||r.result.sampledProfile,height:i?.height||t.height,width:i?.width||t.width,real:!1}),this.imageServices[l]||null)}async getThumbnailFromResource(t,e,n=!0,i=[]){let a=t?await this.getImageCandidates(t,n):[];return MV(e,[()=>i,()=>a])}async getImageCandidates(t,e=!0){let n=t;if(e&&n&&n.height&&n.width){let i=i_(n);for(let a of i){let r={id:gn(a),width:a.width?a.width:n.width,height:a.height?a.height:n.height,source:a};await this.loadService(r)}}return wV(t,e,this)}async verify(t){let e=this.predict(t,!1,!0),n=await this.fetchService(gn(t));if(!e)return!1;let i=e.height===n.height&&e.width===n.width&&e["@context"]===n["@context"]&&_V(e.sizes||[],n.sizes||[]);if(i){let a=zc(gn(t)),r=this.knownImageServers[a];r&&(r.verifications+=1,r.verifications>=this.config.verificationsRequired&&(r.verified=!0))}return i}canLoadSync(t){let e=typeof t=="string"?t:gn(t),n=Gl(e);if(this.imageServices[n])return!0;let i=this.knownImageServers[zc(e)];return!!(i&&!i.malformed&&i.verifications>=this.config.verificationsRequired)}async markAsMalformed(t){return this.knownImageServers[zc(gn(t))].malformed=!0,this.loadService(t,!0)}async fetchService(t,e=!1){let n=Gl(t),i=this.imageServices[n];if(i&&(!e||i.real))return i;if(!this.config.enableFetching)throw new Error("Fetching is not enabled");let a=await this.fetch(n).then(r=>r.json());return!a.id&&a["@id"]&&(a.id=a["@id"]),a.id!==t&&(a.id=t,a["@id"]&&(a["@id"]=t)),this.imageServices[n]=Object.assign(a,{real:!0}),this.imageServices[n]}async fetch(t,e){return fetch(t,e)}async loadService(t,e=!1){if(!this.config.disableThrottling){let a=!0;for(;a;)if(this.fetchingCount>=this.config.verificationsRequired)await new Promise(r=>setTimeout(r,500));else{a=!1;break}}let n=this.knownImageServers[zc(gn(t))];if(n&&!n.malformed&&!e){await n.result;let a=this.loadServiceSync(t);if(a)return a}this.fetchingCount++;let i=await this.fetchService(gn(t),e);return this.fetchingCount--,i.real&&this.sample(i,t),i}loadServiceSync(t){let e=Gl(gn(t));return this.imageServices[e]?this.imageServices[e]:this.config.approximateServices?this.predict(t):null}},dQ=new a_;var Fg={},yo={get(t){return t},setMetaValue([t,e,n],i){let a=yo.getResourceMeta(t,e),r=a?a[n]:void 0,l=typeof i=="function"?i(r):i;Fg[t]={...Fg[t]||{},[e]:{...(Fg[t]||{})[e]||{},[n]:l}}},getResourceMeta:(t,e)=>{let n=Fg[t];if(n)return e?n[e]:n},async load(t){let e=typeof t=="string"?t:t.id;return fetch(e).then(n=>n.json())},subscribe(t){return()=>{}},requestStatus(t){}};function zV(t){try{if(t==="full")return{full:!0};if(t==="square")return{square:!0};let e=t.startsWith("pct:"),n=t.substr(e?4:0).split(","),i=n.map(a=>parseFloat(a));return{x:i[0],y:i[1],w:i[2],h:i[3],percent:e}}catch{throw Error("Expected 'full', 'square' or 'x,y,w,h'. Found "+t)}}function IV(t){let e={upscaled:!1,max:!1,confined:!1};if(t[0]==="^"&&(e.upscaled=!0,t=t.slice(1)),t==="max"||t==="full")return e.max=!0,e.serialiseAsFull=t==="full",e;if(t[0]==="!"&&(e.confined=!0,t=t.slice(1)),t[0]==="p")return e.percentScale=parseFloat(t.slice(4)),e;let n=t.split(",").map(i=>i.trim());return n.length&&(n[0]!==""&&(e.width=parseInt(n[0],10)),n[1]!==""&&(e.height=parseInt(n[1],10))),e}function NV(t){let e={angle:0};if(t[0]==="!"&&(e.mirror=!0,t=t.substr(1)),e.angle=parseFloat(t)%360,Number.isNaN(e.angle))throw Error(`Invalid rotation ${t}`);return e}function LV(t,e=""){let n=t.match(/^(([a-zA-Z]+):\/\/([^/]+))?((.*)+)/);if(!n)throw Error(`Invalid or unknown input ${t}`);let i=n[2],a=n[3],r=n[4];if(r[0]==="/"&&(r=r.substring(1)),e.length>0){if(e[0]==="/"&&(e=e.substring(1)),e!==r.substring(0,e.length))throw Error(`Path does not start with prefix (path: ${r}, prefix: ${e})`);r=r.substring(e.length)}return{scheme:i,server:a,path:r,prefix:e}}function ax(t,e=""){let{path:n,scheme:i,server:a,prefix:r}=LV(t,e),l=n.split("/").reverse(),[u,f,h,d,...m]=l,y=m.reverse().filter(Boolean).join("/");if(l.length===1||u==="")return{type:"base",scheme:i,server:a,prefix:r,identifier:y};if(u==="info.json"){let[,...T]=l;return{type:"info",scheme:i,server:a,prefix:r,identifier:T.reverse().filter(Boolean).join("/")}}if(i===void 0||a===void 0||n===void 0||d===void 0||h===void 0||f===void 0||u===void 0)throw Error("Invalid image service URL");let[g="",b=""]=u.split(".");return{type:"image",scheme:i,server:a,prefix:r,identifier:y,originalPath:n,region:zV(d),size:IV(h),rotation:NV(f),quality:g,format:b}}function DV(t){return dc.indexOf(t)!==-1?$2:$m.indexOf(t)!==-1?J2:W2}function PV(t){let e=t?Array.isArray(t.profile)?t.profile:[t.profile]:[],n={extraQualities:[],extraFormats:[],extraFeatures:[]};for(let i of e)if(typeof i=="string"&&(i=DV(i)),!!i){if(i.formats)for(let a of i.formats)n.extraFormats.indexOf(a)===-1&&n.extraFormats.push(a);if(i.qualities)for(let a of i.qualities)n.extraQualities.indexOf(a)===-1&&n.extraQualities.push(a);if(i.supports)for(let a of i.supports)n.extraFeatures.indexOf(a)===-1&&n.extraFeatures.push(a);if(i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea),i.extraFormats)for(let a of i.extraFormats)n.extraFormats.indexOf(a)===-1&&n.extraFormats.push(a);if(i.extraQualities)for(let a of i.extraQualities)n.extraQualities.indexOf(a)===-1&&n.extraQualities.push(a);if(i.extraFeatures)for(let a of i.extraFeatures)n.extraFeatures.indexOf(a)===-1&&n.extraFeatures.push(a);i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea)}if(t.extraFormats)for(let i of t.extraFormats)n.extraFormats.indexOf(i)===-1&&n.extraFormats.push(i);if(t.extraFeatures)for(let i of t.extraFeatures)n.extraFeatures.indexOf(i)===-1&&n.extraFeatures.push(i);if(t.extraQualities)for(let i of t.extraQualities)n.extraQualities.indexOf(i)===-1&&n.extraQualities.push(i);return n}function rx(t){let e=Array.isArray(t.profile)?t.profile:[t.profile];for(let n of e)if(typeof n=="string"&&d1.indexOf(n)!==-1)return!0;return!1}function Pe(t){if(t["@id"])return t["@id"];if(t.id)return t.id}function qf(t){if(!t||!t.profile||!Pe(t))return!1;let e=Array.isArray(t.profile)?t.profile:[t.profile];for(let n of e)if(typeof n=="string"&&u1.indexOf(n)!==-1)return!0;return!1}function r_(t){if(!qf(t))return!1;let e=Array.isArray(t.profile)?t.profile:[t.profile];for(let n of e)if(typeof n=="string"){if($m.indexOf(n)!==-1)return!0}else{let i=[...n.supports||[],...n.extraFeatures||[]];if(i.indexOf("regionByPx")!==-1&&(i.indexOf("sizeByW")!==-1||i.indexOf("sizeByWh")!==-1))return!0}return!1}function BV({x:t=0,y:e=0,w:n,h:i,full:a,square:r,percent:l}){if(a)return"full";if(r)return"square";if(n===void 0||i===void 0)throw Error("RegionParameter: invalid region");let u=`${t},${e},${n},${i}`;return l?`pct:${u}`:u}function HV({max:t,percentScale:e,upscaled:n,confined:i,width:a,height:r,serialiseAsFull:l,version:u}){let f=[];return n&&f.push("^"),t?(f.push(l?"full":"max"),f.join("")):(i&&f.push("!"),e&&f.push(`pct:${e}`),a&&f.push(`${a}`),f.push(","),r&&u===3&&f.push(`${r}`),f.join(""))}function FV(t){return`${t.mirror?"!":""}${(t.angle||0)%360}`}function Nc(t,e){let n=t.prefix.startsWith("/")?t.prefix.substring(1):t.prefix,i=`${t.scheme}://${t.server}/${n?`${n}/`:""}${t.identifier}`;if(t.type==="base")return i;if(t.type==="info")return`${i}/info.json`;let{size:a}=t,{region:r,rotation:l,format:u,quality:f}=t;if(e){let h=e["@context"]?Array.isArray(e["@context"])?e["@context"]:[e["@context"]]:[],d=h.indexOf("http://iiif.io/api/image/2/context.json")!==-1,m=h.indexOf("http://iiif.io/api/image/3/context.json")!==-1;if((a.width===e.width&&!a.height||a.height===e.height&&!a.width||a.width===e.width&&a.height===e.height)&&(a={...a,max:!0}),d&&(a.max&&!a.serialiseAsFull&&(a={...a,serialiseAsFull:!0}),!a.max&&a.width&&a.height&&(a={...a,height:void 0}),a={...a,version:2}),m){if(a.max&&a.serialiseAsFull&&(a={...a,serialiseAsFull:!1}),a.width&&!a.height&&e.width&&e.height){let y=e.height/e.width;a={...a,height:Math.ceil(a.width*y)}}a={...a,version:3}}}return[i,BV(r),HV(a),FV(l),`${f}.${u}`].filter(Boolean).join("/")}function vs(t){return t.endsWith("info.json")?t:t.endsWith("/")?`${t}info.json`:`${t}/info.json`}function Vg(t){let e=ax(vs(t.id));if(e.type!=="info")throw Error("Invalid service URL");let n=PV(t);return{identifier:e.identifier,originalPath:"",server:e.server,prefix:e.prefix,scheme:e.scheme,type:"image",quality:n.extraQualities.indexOf("default")===-1?n.extraQualities[0]:"default",region:{full:!0},size:{max:!0,upscaled:!1,confined:!1},format:"jpg",rotation:{angle:0}}}function o_(t,e,n){let i=n.length,a=[];for(let r=0;r<i;r++){let l=n[r];if(!l)continue;let u=l.width;a.push(t/u)}return a}function s_(t,e,n){let i=n.length,a=[];for(let r=0;r<i;r++){let l=n[r];l&&a.push({width:Math.floor(t/l),height:Math.floor(e/l)})}return a}function Ic(t,e){if(e&&e.profile){let n=e.profile;if(n){let i=Array.isArray(n)?n:[n];if(i.includes(`level${t}`)||i.includes(`http://iiif.io/api/image/2/level${t}.json`)||i.includes(`http://iiif.io/api/image/1/level${t}.json`)||i.includes(`http://iiif.io/api/image/1/profiles/level${t}.json`))return!0;if(t===2){for(let a of i)if(dc.includes(a))return!0}if(t===1){for(let a of i)if($m.includes(a))return!0}if(t===0){for(let a of i)if(d1.includes(a))return!0}}}return!1}function Ug(t){return qf(t)?Ic(2,t)?2:Ic(1,t)?1:Ic(0,t)?0:null:null}function bs(t){let e=t.service?Array.isArray(t.service)?t.service:[t.service]:[],n=e.length,i=[];for(let a=0;a<n;a++)qf(e[a])&&i.push(e[a]);return i}function l_(t){if(t["@type"])return t["@type"];if(t.type)return t.type}function Yl(t){let e=t.replace(/(https?:\/\/)?(www.)?/i,"");return e.indexOf("/")===-1?e:e.split("/")[0]}function u_(t,e,n){let i=t>e?t:e,a=n.length,r=[];for(let l=0;l<a;l++){let u=n[l];if(!u||u.scaleFactors.length===0)continue;let f=u.scaleFactors[0];if(!f)continue;let h=i/f,d=[f];for(;h>=u.width;)f*=2,d.push(f),h/=2;r.push({...u,scaleFactors:d})}return r}function qg(t,e,n){let i=Vg({"@context":t.version===3?"http://iiif.io/api/image/3/context.json":"http://iiif.io/api/image/2/context.json",id:vs(Pe(t)),profile:t.level===null||t.level===void 0?"level0":`level${t.level}`,type:t.version===3?"ImageService3":"ImageService2"});if(i.type!=="image")throw Error("Invalid service");return i.size.max=!1,i.size.width=e,i.size.height=n,{id:Nc(i),type:"fixed",width:e,height:n||t.height/(t.width||1)*e,unsafe:t.width>e}}function c_(t,e,n){let i=t.width?t.width:t.maxWidth;return n.height<=t.maxHeight&&n.width<=t.maxWidth&&n.height>=t.minHeight&&n.width>=t.minWidth&&(!e||Math.abs(n.width-i)<Math.abs(e.width-i))}function d_(t,e){let n=[],i=Object.assign({unsafeImageService:!1,atAnyCost:!0,fallback:!0,minHeight:64,minWidth:64,maxHeight:1/0,maxWidth:1/0,returnAllOptions:!1,preferFixedSize:!1,allowUnsafe:!1,explain:!1,height:0,width:0},t),a=(d,m=0)=>i.explain?n.push(Array(m).fill(0).map(y=>" ").join("")+d().trim()):void 0,r=[],l=[],u=null;a(()=>`Using configuration: ${JSON.stringify(i,null,2)}`);let f=(d,m)=>{if(a(()=>"Swapping choice",3),c_(i,m,d)){if(i.preferFixedSize&&d.unsafe){a(()=>`We found an image that was marked as unsafe, but it was the best size. (${d.id})`,4),l.push(d);return}i.returnAllOptions&&m&&l.push(m),a(()=>`We found a new image that was the best size. (${d.id})`,4),u=d}else i.returnAllOptions&&l.push(d)};a(()=>`The input shows we have ${e.length} list(s) of candidates to choose from.`);let h=e.length;for(let d=0;d<h;d++){let m=e[d]();a(()=>`Candidate group ${d}: ${JSON.stringify(m,null,2)}`,1);let y=m.length;a(()=>`Checking candidate list number ${d} and found ${y} potential ways of creating image(s)`,1);for(let g=0;g<y;g++){let b=m[g];a(()=>`-> Checking candidate ${g}`,1),b.type==="unknown"&&i.atAnyCost&&(a(()=>`We've found an unknown image type, adding this to the "last resort" list`,2),r.push(b)),b.type==="fixed"&&(b.unsafe?(a(()=>`We've found an unsafe fixed image type, adding this to the "last resort" list`,2),r.push(b)):(a(()=>"We've found a fixed size image, checking if it matches the request",2),f(b,u))),b.type==="fixed-service"&&(i.unsafeImageService?(a(()=>"Checking for an image from the tile source, without calculating the right height and width (unsafeImageService)",2),f(qg(b,i.width,i.height),u)):(a(()=>"Checking for an image from the tile source 3",2),f(qg(b,b.width,b.height),u))),b.type==="variable"&&b.maxWidth&&f(qg({id:b.id,type:"fixed-service",width:b.maxWidth,height:b.maxWidth,level:b.level,version:b.version},b.maxWidth),u)}if(u&&!i.returnAllOptions){if(u.unsafe||i.allowUnsafe)continue;a(()=>`We found a match in choice list number ${d}, no searching any more`);break}}return i.atAnyCost&&l.length===0?(a(()=>u?`We found an image! ${u.id} of type ${u.type}`:'We found no images, but "atAnyCost" is set, so returning that'),{best:u||r[0]||null,fallback:r.slice(1),log:n}):i.returnAllOptions?(a(()=>"Returning all options that we have found"),{best:(i.atAnyCost?u||l[0]||r[0]:u||l[0])||null,fallback:[...l,...r],log:n}):(a(()=>"Returning the best image that we found, and a fallback"),{best:u||l[0]||null,fallback:u?l:l.slice(1),log:n})}function lx(t){return(t["@context"]?Array.isArray(t["@context"])?t["@context"]:[t["@context"]]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1}function f_(t){return qf(t)?(t&&t.sizes?t.sizes:[]).map(e=>({id:Pe(t),type:"fixed-service",height:e.height,width:e.width,level:Ug(t),version:lx(t)?3:2})):[]}function h_(t){if(!r_(t))return[];let e=[],n=Array.isArray(t.profile)?t.profile:[t.profile],i=n.length;for(let a=0;a<i;a++){let r=n[a];if(r&&typeof r!="string"&&(r.maxHeight||r.maxWidth))return[{id:Pe(t),type:"variable",minWidth:0,minHeight:0,maxHeight:r.maxHeight||r.maxWidth,maxWidth:r.maxWidth||r.maxHeight,level:Ug(t),version:t["@context"]==="http://iiif.io/api/image/3/context.json"?3:2}]}if(t.tiles){let a=t.tiles.length;for(let r=0;r<a;r++){let l=t.tiles[r];l&&(l.height||l.width)&&e.push({id:Pe(t),type:"variable",minHeight:0,minWidth:0,maxHeight:l.height||l.width,maxWidth:l.width,level:Ug(t),version:lx(t)?3:2})}}return e}function ox(t){let e=[],n=t.length;for(let i=0;i<n;i++){let a=t[i];if(!a)continue;let r=f_(a);r.length&&e.push(...r);let l=h_(a);l.length&&e.push(...l)}return e}function sx(t){let e=t.match(/^.*\/(full)\/(((\d+),(\d+)?)|max)\/(\d+)\/default\.(jpg|png|jpeg)$/);if(e&&e[4]&&e[5]){let n=e[1],i=parseInt(e[4],10),a=parseInt(e[5],10),r=e[7];if((n==="max"||n==="full")&&i&&a&&r)return{type:"fixed",id:t,height:a,width:i}}return{type:"unknown",id:t}}function jf(t){if(typeof t=="string")return sx(t);let e=l_(t);if(e!=="Image"&&e!=="sc:Image")return null;let n=t,i=Pe(n);return i?i&&n.width&&n.height?{id:i,type:"fixed",width:n.width,height:n.height,unsafe:!0}:sx(i):null}function p_(t,e=!0,n){let i=[],a=jf(t);if(a===null)return i;let r=t;if(i.push(a),e&&r&&r.width&&r.height){let l=[],u=bs(r);for(let f of u){let h={id:Pe(f),width:r.width,height:r.height};if(n.canLoadSync(h)){let d=n.loadServiceSync(h);d&&(d.height||(d.height=r.height),d.width||(d.width=r.width),l.push(...ox([d])))}}if(l.length)return i.push(...l),i}return r.service&&i.push(...ox(r.service)),i}function m_(t,e){if(t.length!==e.length)return!1;if(t.length===0&&e.length===0)return!0;let n=t.length,i=!0;for(let r=0;r<n;r++){let l=t[r],u=e[r];if(l.width!==u.width||l.height!==u.height){i=!1;break}}if(i)return!0;let a=0;for(let r=0;r<n;r++)for(let l=0;l<n;l++)if(t[r].width===e[l].width&&t[r].height===e[l].height){a++;break}return a===n}var Lc=class{constructor(t={}){Gn(this,"config",{verificationsRequired:1,approximateServices:!1,enableFetching:!0,disableThrottling:!1}),Gn(this,"fetchingCount",0),Gn(this,"imageServices",{}),Gn(this,"knownImageServers",{}),this.config=Object.assign(this.config,t)}setConfig(t){Object.assign(this.config,t)}sample(t,e,n=!0){let i=Yl(Pe(t)),a=vs(Pe(t)),r=this.knownImageServers[i];return this.imageServices[a]=Object.assign(t,{real:!0}),!r&&t.tiles&&!rx(t)?(this.knownImageServers[i]={verifications:0,malformed:!1,root:i,preLoaded:n,sampledId:Pe(t),verified:!1,server:null,result:{context:t["@context"]||[],sampledProfile:t.profile,resourceServiceRatio:e&&t.height?e.height/t.height:1,sampledSizes:t.sizes||[],sizeRatios:o_(t.width,t.height,t.sizes||[]),sampledTiles:t.tiles||[]}},!0):this.verify(t)}preLoad(t,e=!0){this.knownImageServers[t.root]=t,e&&(this.knownImageServers[t.root].malformed=!1,this.knownImageServers[t.root].verifications=this.config.verificationsRequired)}predict(t,e=!1,n=!1){let i=t?.source,a=Yl(Pe(t)),r=this.knownImageServers[a],l=vs(Pe(t));return this.imageServices[l]?this.imageServices[l]||null:!this.config.approximateServices||!r||!r.result||!(i?.height||t.height)||!(i?.width||t.width)||!n&&(r.malformed||r.verifications<this.config.verificationsRequired)||t.source&&rx(t.source)?null:(this.imageServices[l]||(this.imageServices[l]={"@context":r.result.context,"@id":Pe(t),id:Pe(t),protocol:"http://iiif.io/api/image",tiles:i?.tiles||u_(t.width,t.height,r.result.sampledTiles),sizes:i?.sizes||s_(Math.round(t.width/r.result.resourceServiceRatio),Math.round(t.height/r.result.resourceServiceRatio),r.result.sizeRatios),profile:i?.profile||r.result.sampledProfile,height:i?.height||t.height,width:i?.width||t.width,real:!1}),this.imageServices[l]||null)}async getThumbnailFromResource(t,e,n=!0,i=[]){let a=t?await this.getImageCandidates(t,n):[];return d_(e,[()=>i,()=>a])}async getImageCandidates(t,e=!0){let n=t;if(e&&n&&n.height&&n.width){let i=bs(n);for(let a of i){let r={id:Pe(a),width:a.width?a.width:n.width,height:a.height?a.height:n.height,source:a};await this.loadService(r)}}return p_(t,e,this)}async verify(t){let e=this.predict(t,!1,!0),n=await this.fetchService(Pe(t));if(!e)return!1;let i=e.height===n.height&&e.width===n.width&&e["@context"]===n["@context"]&&m_(e.sizes||[],n.sizes||[]);if(i){let a=Yl(Pe(t)),r=this.knownImageServers[a];r&&(r.verifications+=1,r.verifications>=this.config.verificationsRequired&&(r.verified=!0))}return i}canLoadSync(t){let e=typeof t=="string"?t:Pe(t),n=vs(e);if(this.imageServices[n])return!0;let i=this.knownImageServers[Yl(e)];return!!(i&&!i.malformed&&i.verifications>=this.config.verificationsRequired)}async markAsMalformed(t){return this.knownImageServers[Yl(Pe(t))].malformed=!0,this.loadService(t,!0)}async fetchService(t,e=!1){let n=vs(t),i=this.imageServices[n];if(i&&(!e||i.real))return i;if(!this.config.enableFetching)throw Error("Fetching is not enabled");let a=await this.fetch(n).then(r=>r.json());return!a.id&&a["@id"]&&(a.id=a["@id"]),a.id!==t&&(a.id=t,a["@id"]&&(a["@id"]=t)),this.imageServices[n]=Object.assign(a,{real:!0}),this.imageServices[n]}async fetch(t,e){return fetch(t,e)}async loadService(t,e=!1){if(!this.config.disableThrottling){let a=!0;for(;a;)if(this.fetchingCount>=this.config.verificationsRequired)await new Promise(r=>setTimeout(r,500));else{a=!1;break}}let n=this.knownImageServers[Yl(Pe(t))];if(n&&!n.malformed&&!e){await n.result;let a=this.loadServiceSync(t);if(a)return a}this.fetchingCount++;let i=await this.fetchService(Pe(t),e);return this.fetchingCount--,i.real&&this.sample(i,t),i}loadServiceSync(t){let e=vs(Pe(t));return this.imageServices[e]?this.imageServices[e]:this.config.approximateServices?this.predict(t):null}};function g_(t={}){let e=t.events||Wm(),n=t.loader||new Lc;return{store:Zm((i,a)=>({loaded:{},loadServiceSync:(r,l,u)=>{let f=r.id||r["@id"],h=a().loaded[f];if(h&&h.status==="done")return h.service;if(h&&h.status==="loading")return null;if(h&&h.status==="error")throw Error("Failed to load image service");let d={id:Pe(r),width:r.width||l?.width||0,height:r.height||l?.height||0,source:r},m=n.loadServiceSync(d);return m?(i(y=>({loaded:{...y.loaded,[f]:{status:"done",service:m,real:!0}}})),e.emit("image-service.loaded",{id:f,service:m})):u&&a().loadService(r,l).then(()=>{}),m},loadService:async(r,l)=>{let u=r.id||r["@id"],f=a().loaded[u];if(f&&f.status==="done")return f.service;if(f&&f.status==="loading")return new Promise((h,d)=>{let m=y=>{y.id===u&&(e.off("image-service.loaded",m),h(y.service||r))};e.on("image-service.loaded",m)});if(f&&f.status==="error"&&!l?.force)throw Error("Failed to load image service");e.emit("image-service.loading",{id:u});try{let h={id:Pe(r),width:r.width||0,height:r.height||0,source:r},d=await n.loadService(h,l?.force);return i(m=>({loaded:{...m.loaded,[u]:{status:"done",service:d,real:d.real}}})),e.emit("image-service.loaded",{id:u,service:d}),d}catch(h){throw e.emit("image-service.error",{id:u,error:h}),h}}})),events:e}}var ux=g_();var y_=new Lc;function cx(t=yo,e={}){let n=e.imageServiceLoader||y_;async function i(a,r,l=!1,u=[],f){let h=()=>n.getThumbnailFromResource(void 0,r,l,u);if(!a)return await n.getThumbnailFromResource(void 0,r,l,u);if(typeof a=="string"){let m=jf(a);return m&&u.push(m),await n.getThumbnailFromResource(void 0,r,l,u)}let d=t.get(a,{skipSelfReturn:!1});if(typeof d=="string")return{best:jf(d),fallback:[],log:[]};if(!d)return await h();switch(await(async m=>{if(m&&m.thumbnail&&m.thumbnail.length){let y=t.get(m.thumbnail[0]),g=await n.getImageCandidates(y,l);g&&g.length&&u.push(...g)}})(d),d.type){case"Annotation":{let m=Array.isArray(d.body)?d.body:[d.body],y=t.get(m[0]);return f&&!y.width&&(y.width=f.width,y.height=f.height),await n.getThumbnailFromResource(y,r,l,u)}case"Canvas":{let m=d;return i(m.items[0],r,l,u,{width:m.width,height:m.height})}case"AnnotationPage":return i(d.items[0],r,l,u,f);case"Choice":{let m=d;return!m.items||m.items[0]?await h():i(m.items[0],r,l,u,f)}case"Collection":{let m=d.items[0];return m?i(m,r,l,u,f):await h()}case"Manifest":{let m=d.items[0];return m?i(m,r,l,u,f):await h()}case"SpecificResource":case"Image":case"Dataset":case"Sound":case"Text":case"TextualBody":case"Video":return f&&!d.width&&(d.width=f.width,d.height=f.height),n.getThumbnailFromResource(d,r,l,u)}return await h()}return{getBestThumbnailAtSize:i}}var Vv=N(ct(),1),k=N(ct(),1);var ba=N(ct(),1);function v_(t,e){let n;return(...i)=>{window.clearTimeout(n),n=window.setTimeout(()=>t(...i),e)}}function dx({debounce:t,scroll:e,polyfill:n,offsetSize:i}={debounce:0,scroll:!1,offsetSize:!1}){let a=n||(typeof window>"u"?class{}:window.ResizeObserver);if(!a)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");let[r,l]=(0,ba.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),u=(0,ba.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:r,orientationHandler:null}),f=t?typeof t=="number"?t:t.scroll:null,h=t?typeof t=="number"?t:t.resize:null,d=(0,ba.useRef)(!1);(0,ba.useEffect)(()=>(d.current=!0,()=>void(d.current=!1)));let[m,y,g]=(0,ba.useMemo)(()=>{let x=()=>{if(!u.current.element)return;let{left:w,top:R,width:E,height:M,bottom:z,right:I,x:L,y:H}=u.current.element.getBoundingClientRect(),q={left:w,top:R,width:E,height:M,bottom:z,right:I,x:L,y:H};u.current.element instanceof HTMLElement&&i&&(q.height=u.current.element.offsetHeight,q.width=u.current.element.offsetWidth),Object.freeze(q),d.current&&!jV(u.current.lastBounds,q)&&l(u.current.lastBounds=q)};return[x,h?v_(x,h):x,f?v_(x,f):x]},[l,i,f,h]);function b(){u.current.scrollContainers&&(u.current.scrollContainers.forEach(x=>x.removeEventListener("scroll",g,!0)),u.current.scrollContainers=null),u.current.resizeObserver&&(u.current.resizeObserver.disconnect(),u.current.resizeObserver=null),u.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",u.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",u.current.orientationHandler))}function T(){u.current.element&&(u.current.resizeObserver=new a(g),u.current.resizeObserver.observe(u.current.element),e&&u.current.scrollContainers&&u.current.scrollContainers.forEach(x=>x.addEventListener("scroll",g,{capture:!0,passive:!0})),u.current.orientationHandler=()=>{g()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",u.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",u.current.orientationHandler))}let C=x=>{!x||x===u.current.element||(b(),u.current.element=x,u.current.scrollContainers=b_(x),T())};return UV(g,!!e),VV(y),(0,ba.useEffect)(()=>{b(),T()},[e,g,y]),(0,ba.useEffect)(()=>b,[]),[C,r,m]}function VV(t){(0,ba.useEffect)(()=>{let e=t;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[t])}function UV(t,e){(0,ba.useEffect)(()=>{if(e){let n=t;return window.addEventListener("scroll",n,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",n,!0)}},[t,e])}function b_(t){let e=[];if(!t||t===document.body)return e;let{overflow:n,overflowX:i,overflowY:a}=window.getComputedStyle(t);return[n,i,a].some(r=>r==="auto"||r==="scroll")&&e.push(t),[...e,...b_(t.parentElement)]}var qV=["x","y","top","bottom","left","right","width","height"],jV=(t,e)=>qV.every(n=>t[n]===e[n]);var Z=N(K(),1),Xh=N(N_(),1),g8=Object.create,E3=Object.defineProperty,y8=Object.getOwnPropertyDescriptor,v8=Object.getOwnPropertyNames,b8=Object.getPrototypeOf,S8=Object.prototype.hasOwnProperty,np=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),x8=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(var a=v8(e),r=0,l=a.length,u;r<l;r++)u=a[r],!S8.call(t,u)&&u!==n&&E3(t,u,{get:(f=>e[f]).bind(null,u),enumerable:!(i=y8(e,u))||i.enumerable});return t},C3=(t,e,n)=>(n=t==null?{}:g8(b8(t)),x8(e||!t||!t.__esModule?E3(n,"default",{value:t,enumerable:!0}):n,t)),Uv="onMouseDown.onMouseEnter.onMouseLeave.onMouseMove.onMouseOut.onMouseOver.onMouseUp.onTouchCancel.onTouchEnd.onTouchMove.onTouchStart.onPointerDown.onPointerMove.onPointerUp.onPointerCancel.onPointerEnter.onPointerLeave.onPointerOver.onPointerOut.onScroll.onWheel.onClick.onDragStart.onDragEnd.onDragEnter.onDragExit.onDrag.onDragOver.onContextMenu".split(".");function w8(){return Uv.reduce((t,e)=>(t[e]=[],t),{})}var Cd=Uv.reduce((t,e)=>(t[e.slice(2).toLowerCase()]=e,t[e]=e,t),{});function T8(t,e,n=1){let i=e.length;if(i===0)throw Error("No resources passed in.");let a=0,r=1/0;for(let l=0;l<i&&!(!e[l]||!e[l].display);l++){let u=$T(e[l].display.scale,t/(n||1));u<r&&(r=u,a=l)}return a}function $T(t,e){return Math.abs(t-e)}function Zh(t,e){let n=$T(t.x,e.x),i=$T(t.y,e.y);return Math.sqrt(n**2+i**2)}function R8(t){let e=t.length;return t.indexOf("/info.json")===e-10?t.slice(0,-10):t}function $h(t){"@babel/helpers - typeof";return $h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$h(t)}function E8(t,e){if($h(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var i=n.call(t,e||"default");if($h(i)!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function C8(t){var e=E8(t,"string");return $h(e)=="symbol"?e:e+""}function A(t,e,n){return(e=C8(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var lR=class Ov{constructor(e,n,i){A(this,"element",void 0),A(this,"runtime",void 0),A(this,"unsubscribe",void 0),A(this,"activatedEvents",[]),A(this,"eventHandlers",[]),A(this,"bounds",void 0),A(this,"listening",void 0),A(this,"pointerMoveEvent",void 0),A(this,"pointerEventState",{isClicking:!1,isDragging:!1,isPressed:!1,mousedOver:[],itemsBeingDragged:[],mouseDownStart:{x:0,y:0},lastTouches:[]}),A(this,"options",void 0),A(this,"_realPointerMove",r=>{this.pointerMoveEvent=r}),A(this,"onWheelEvent",r=>{r.preventDefault(),this.onPointerEvent(r)}),A(this,"onContextMenu",r=>{r.preventDefault();let l="onContextMenu";if(this.runtime.world.activatedEvents.indexOf(l)!==-1){let{x:u,y:f}=this.runtime.viewerToWorld(r.clientX-this.bounds.left,r.clientY-this.bounds.top);this.assignToEvent(r,u,f),this.runtime.world.propagatePointerEvent(l,r,u,f)}}),A(this,"onTouchEvent",r=>{let l=Cd[r.type],u=[],f=r.touches.length;for(let h=0;h<f;h++){let d=r.touches.item(h);if(!d)continue;let{x:m,y}=this.runtime.viewerToWorld(d.clientX-this.bounds.left,d.clientY-this.bounds.top),g={id:d.identifier,x:m,y};u.push(g)}u.length&&this.assignToEvent(r,u[0].x,u[0].y),l!=="onTouchEnd"&&l!=="onTouchCancel"?(this.pointerEventState.lastTouches=u,r.atlasTouches=u,this.runtime.world.propagateTouchEvent(l,r,u)):(r.atlasTouches=[],this.runtime.world.propagateTouchEvent(l,r,this.pointerEventState.lastTouches),this.pointerEventState.lastTouches=[])}),A(this,"onPointerEvent",r=>{if(r.button===2)return;let l=Cd[r.type];if(l&&this.runtime.world.activatedEvents.indexOf(l)!==-1){let{x:u,y:f}=this.runtime.viewerToWorld(r.clientX-this.bounds.left,r.clientY-this.bounds.top);this.assignToEvent(r,u,f),this.runtime.world.propagatePointerEvent(l,r,u,f)}}),A(this,"onPointerDown",r=>{r.button!==2&&(this.pointerEventState.isPressed=!0,this.pointerEventState.isClicking=!0,this.pointerEventState.mouseDownStart.x=r.clientX,this.pointerEventState.mouseDownStart.y=r.clientY,setTimeout(()=>{this.runtime&&(this.pointerEventState.isClicking=!1)},250),setTimeout(()=>{if(this.runtime&&this.pointerEventState.isPressed&&!this.pointerEventState.isDragging){let l=this.runtime.viewerToWorld(this.pointerEventState.mouseDownStart.x-this.bounds.left,this.pointerEventState.mouseDownStart.y-this.bounds.top);this.pointerEventState.isDragging=!0,this.pointerEventState.itemsBeingDragged=this.runtime.world.propagatePointerEvent("onDragStart",r,l.x,l.y)}},800),this.onPointerEvent(r))}),A(this,"onPointerUp",r=>{if(r.button!==2){if(this.pointerEventState.isClicking){let{x:l,y:u}=this.runtime.viewerToWorld(r.clientX-this.bounds.left,r.clientY-this.bounds.top);this.assignToEvent(r,l,u),this.runtime.world.propagatePointerEvent("onClick",r,l,u)}if(this.pointerEventState.isDragging){for(let l of this.pointerEventState.itemsBeingDragged)l.dispatchEvent("onDragEnd",r);this.pointerEventState.isDragging=!1}this.pointerEventState.isClicking=!1,this.pointerEventState.isPressed=!1,this.pointerEventState.itemsBeingDragged=[],this.onPointerEvent(r)}}),A(this,"onPointerMove",r=>{this.pointerMoveEvent=void 0;let{x:l,y:u}=this.runtime.viewerToWorld(r.clientX-this.bounds.left,r.clientY-this.bounds.top);if(Number.isNaN(l)||Number.isNaN(u))return;this.assignToEvent(r,l,u),this.runtime.world.propagatePointerEvent("onPointerMove",r,l,u);let f=this.runtime.world.propagatePointerEvent("onMouseMove",r,l,u),h=[],d=[];for(let m of f)h.push(m.id),d.push(m),this.pointerEventState.mousedOver.indexOf(m)===-1&&(m.dispatchEvent("onMouseEnter",r),m.dispatchEvent("onPointerEnter",r),m.dispatchEvent("onMouseOver",r),m.dispatchEvent("onPointerOver",r));for(let m of this.pointerEventState.mousedOver)h.indexOf(m.id)===-1&&(m.dispatchEvent("onMouseLeave",r),m.dispatchEvent("onPointerLeave",r),m.dispatchEvent("onMouseOut",r),m.dispatchEvent("onPointerOut",r));if(this.pointerEventState.isDragging)for(let m of this.pointerEventState.itemsBeingDragged)m.dispatchEvent("onDrag",r);if(this.pointerEventState.isPressed&&!this.pointerEventState.isDragging&&Zh(this.pointerEventState.mouseDownStart,{x:r.clientX,y:r.clientY})>50){let m=this.runtime.viewerToWorld(this.pointerEventState.mouseDownStart.x-this.bounds.left,this.pointerEventState.mouseDownStart.y-this.bounds.top);this.pointerEventState.isDragging=!0,this.pointerEventState.itemsBeingDragged=this.runtime.world.propagatePointerEvent("onDragStart",{...r,atlas:{x:m.x,y:m.y}},m.x,m.y)}this.pointerEventState.mousedOver=d}),this.element=e,this.runtime=n,this.unsubscribe=n.world.addLayoutSubscriber(this.layoutSubscriber.bind(this)),this.bounds=e.getBoundingClientRect(),this.listening=!1,this.options={simulationRate:0,...i||{}};let a=0;n.registerHook("useFrame",r=>{a+=r,a>this.options.simulationRate&&this.pointerMoveEvent&&(a=0,n.updateNextFrame())}),n.registerHook("useBeforeFrame",()=>{this.pointerMoveEvent&&this.onPointerMove(this.pointerMoveEvent)}),this.activateEvents()}updateBounds(){this.bounds=this.element.getBoundingClientRect(),this.runtime.updateRendererScreenPosition()}layoutSubscriber(e){e==="event-activation"&&this.listening==0&&this.activateEvents()}assignToEvent(e,n,i){Ov.eventPool.atlas.x=n,Ov.eventPool.atlas.y=i,e.atlas=Ov.eventPool.atlas}activateEvents(){this.listening=!0,this.element.addEventListener("pointermove",this._realPointerMove),this.element.addEventListener("pointerup",this.onPointerUp),this.element.addEventListener("pointerdown",this.onPointerDown),this.element.addEventListener("mousedown",this.onPointerEvent),this.element.addEventListener("mouseup",this.onPointerEvent),this.element.addEventListener("pointercancel",this.onPointerEvent),this.element.addEventListener("wheel",this.onWheelEvent),this.element.addEventListener("contextmenu",this.onContextMenu),this.element.addEventListener("touchstart",this.onTouchEvent),this.element.addEventListener("touchcancel",this.onTouchEvent),this.element.addEventListener("touchend",this.onTouchEvent),this.element.addEventListener("touchmove",this.onTouchEvent)}normalizeEventName(e){return e.startsWith("on")?e.slice(2).toLowerCase():e.toLowerCase()}stop(){this.listening=!1,this.element.removeEventListener("pointermove",this._realPointerMove),this.element.removeEventListener("pointerup",this.onPointerUp),this.element.removeEventListener("pointerdown",this.onPointerDown),this.element.removeEventListener("mousedown",this.onPointerEvent),this.element.removeEventListener("mouseup",this.onPointerEvent),this.element.removeEventListener("pointercancel",this.onPointerEvent),this.element.removeEventListener("wheel",this.onWheelEvent),this.element.removeEventListener("touchstart",this.onTouchEvent),this.element.removeEventListener("touchcancel",this.onTouchEvent),this.element.removeEventListener("touchend",this.onTouchEvent),this.element.removeEventListener("touchmove",this.onTouchEvent),this.unsubscribe();for(let[e,n]of this.eventHandlers)this.element.removeEventListener(this.normalizeEventName(e),n)}};A(lR,"eventPool",{atlas:{x:0,y:0}});var Gh=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Lv=typeof AbortController=="function"?AbortController:class{constructor(){this.signal=new A3}abort(t=Error("This operation was aborted")){this.signal.reason=this.signal.reason||t,this.signal.aborted=!0,this.signal.dispatchEvent({type:"abort",target:this.signal})}},A8=typeof AbortSignal=="function",M8=typeof Lv.AbortSignal=="function",A3=A8?AbortSignal:M8?Lv.AbortController:class{constructor(){this.reason=void 0,this.aborted=!1,this._listeners=[]}dispatchEvent(t){t.type==="abort"&&(this.aborted=!0,this.onabort(t),this._listeners.forEach(e=>e(t),this))}onabort(){}addEventListener(t,e){t==="abort"&&this._listeners.push(e)}removeEventListener(t,e){t==="abort"&&(this._listeners=this._listeners.filter(n=>n!==e))}},uR=new Set,GT=(t,e)=>{let n=`LRU_CACHE_OPTION_${t}`;qv(n)&&cR(n,`${t} option`,`options.${e}`,jv)},YT=(t,e)=>{let n=`LRU_CACHE_METHOD_${t}`;if(qv(n)){let{prototype:i}=jv,{get:a}=Object.getOwnPropertyDescriptor(i,t);cR(n,`${t} method`,`cache.${e}()`,a)}},O8=(t,e)=>{let n=`LRU_CACHE_PROPERTY_${t}`;if(qv(n)){let{prototype:i}=jv,{get:a}=Object.getOwnPropertyDescriptor(i,t);cR(n,`${t} property`,`cache.${e}`,a)}},M3=(...t)=>{typeof process=="object"&&process&&typeof process.emitWarning=="function"?process.emitWarning(...t):console.error(...t)},qv=t=>!uR.has(t),cR=(t,e,n,i)=>{uR.add(t),M3(`The ${e} is deprecated. Please use ${n} instead.`,"DeprecationWarning",t,i)},Ks=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),O3=t=>Ks(t)?t<=2**8?Uint8Array:t<=2**16?Uint16Array:t<=2**32?Uint32Array:t<=2**53-1?_v:null:null,_v=class extends Array{constructor(t){super(t),this.fill(0)}},_8=class{constructor(t){if(t===0)return[];this.heap=new(O3(t))(t),this.length=0}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}},jv=class tR{constructor(e={}){let{max:n=0,ttl:i,ttlResolution:a=1,ttlAutopurge:r,updateAgeOnGet:l,updateAgeOnHas:u,allowStale:f,dispose:h,disposeAfter:d,noDisposeOnSet:m,noUpdateTTL:y,maxSize:g=0,maxEntrySize:b=0,sizeCalculation:T,fetchMethod:C,fetchContext:x,noDeleteOnFetchRejection:w,noDeleteOnStaleGet:R,allowStaleOnFetchRejection:E,allowStaleOnFetchAbort:M,ignoreFetchAbort:z}=e,{length:I,maxAge:L,stale:H}=e instanceof tR?{}:e;if(n!==0&&!Ks(n))throw TypeError("max option must be a nonnegative integer");let q=n?O3(n):Array;if(!q)throw Error("invalid max value: "+n);if(this.max=n,this.maxSize=g,this.maxEntrySize=b||this.maxSize,this.sizeCalculation=T||I,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=C||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw TypeError("fetchMethod must be a function if specified");if(this.fetchContext=x,!this.fetchMethod&&x!==void 0)throw TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=Array(n).fill(null),this.valList=Array(n).fill(null),this.next=new q(n),this.prev=new q(n),this.head=0,this.tail=0,this.free=new _8(n),this.initialFill=1,this.size=0,typeof h=="function"&&(this.dispose=h),typeof d=="function"?(this.disposeAfter=d,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!m,this.noUpdateTTL=!!y,this.noDeleteOnFetchRejection=!!w,this.allowStaleOnFetchRejection=!!E,this.allowStaleOnFetchAbort=!!M,this.ignoreFetchAbort=!!z,this.maxEntrySize!==0){if(this.maxSize!==0&&!Ks(this.maxSize))throw TypeError("maxSize must be a positive integer if specified");if(!Ks(this.maxEntrySize))throw TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!f||!!H,this.noDeleteOnStaleGet=!!R,this.updateAgeOnGet=!!l,this.updateAgeOnHas=!!u,this.ttlResolution=Ks(a)||a===0?a:1,this.ttlAutopurge=!!r,this.ttl=i||L||0,this.ttl){if(!Ks(this.ttl))throw TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){let st="LRU_CACHE_UNBOUNDED";qv(st)&&(uR.add(st),M3("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",st,tR))}H&&GT("stale","allowStale"),L&&GT("maxAge","ttl"),I&&GT("length","sizeCalculation")}getRemainingTTL(e){return this.has(e,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new _v(this.max),this.starts=new _v(this.max),this.setItemTTL=(i,a,r=Gh.now())=>{if(this.starts[i]=a===0?0:r,this.ttls[i]=a,a!==0&&this.ttlAutopurge){let l=setTimeout(()=>{this.isStale(i)&&this.delete(this.keyList[i])},a+1);l.unref&&l.unref()}},this.updateItemAge=i=>{this.starts[i]=this.ttls[i]===0?0:Gh.now()},this.statusTTL=(i,a)=>{i&&(i.ttl=this.ttls[a],i.start=this.starts[a],i.now=e||n(),i.remainingTTL=i.now+i.ttl-i.start)};let e=0,n=()=>{let i=Gh.now();if(this.ttlResolution>0){e=i;let a=setTimeout(()=>e=0,this.ttlResolution);a.unref&&a.unref()}return i};this.getRemainingTTL=i=>{let a=this.keyMap.get(i);return a===void 0?0:this.ttls[a]===0||this.starts[a]===0?1/0:this.starts[a]+this.ttls[a]-(e||n())},this.isStale=i=>this.ttls[i]!==0&&this.starts[i]!==0&&(e||n())-this.starts[i]>this.ttls[i]}updateItemAge(e){}statusTTL(e,n){}setItemTTL(e,n,i){}isStale(e){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new _v(this.max),this.removeItemSize=e=>{this.calculatedSize-=this.sizes[e],this.sizes[e]=0},this.requireSize=(e,n,i,a)=>{if(this.isBackgroundFetch(n))return 0;if(!Ks(i))if(a){if(typeof a!="function")throw TypeError("sizeCalculation must be a function");if(i=a(n,e),!Ks(i))throw TypeError("sizeCalculation return invalid (expect positive integer)")}else throw TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i},this.addItemSize=(e,n,i)=>{if(this.sizes[e]=n,this.maxSize){let a=this.maxSize-this.sizes[e];for(;this.calculatedSize>a;)this.evict(!0)}this.calculatedSize+=this.sizes[e],i&&(i.entrySize=n,i.totalCalculatedSize=this.calculatedSize)}}removeItemSize(e){}addItemSize(e,n){}requireSize(e,n,i,a){if(i||a)throw TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:e=this.allowStale}={}){if(this.size)for(let n=this.tail;!(!this.isValidIndex(n)||((e||!this.isStale(n))&&(yield n),n===this.head));)n=this.prev[n]}*rindexes({allowStale:e=this.allowStale}={}){if(this.size)for(let n=this.head;!(!this.isValidIndex(n)||((e||!this.isStale(n))&&(yield n),n===this.tail));)n=this.next[n]}isValidIndex(e){return e!==void 0&&this.keyMap.get(this.keyList[e])===e}*entries(){for(let e of this.indexes())this.valList[e]!==void 0&&this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield[this.keyList[e],this.valList[e]])}*rentries(){for(let e of this.rindexes())this.valList[e]!==void 0&&this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield[this.keyList[e],this.valList[e]])}*keys(){for(let e of this.indexes())this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.keyList[e])}*rkeys(){for(let e of this.rindexes())this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.keyList[e])}*values(){for(let e of this.indexes())this.valList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.valList[e])}*rvalues(){for(let e of this.rindexes())this.valList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.valList[e])}[Symbol.iterator](){return this.entries()}find(e,n){for(let i of this.indexes()){let a=this.valList[i],r=this.isBackgroundFetch(a)?a.__staleWhileFetching:a;if(r!==void 0&&e(r,this.keyList[i],this))return this.get(this.keyList[i],n)}}forEach(e,n=this){for(let i of this.indexes()){let a=this.valList[i],r=this.isBackgroundFetch(a)?a.__staleWhileFetching:a;r!==void 0&&e.call(n,r,this.keyList[i],this)}}rforEach(e,n=this){for(let i of this.rindexes()){let a=this.valList[i],r=this.isBackgroundFetch(a)?a.__staleWhileFetching:a;r!==void 0&&e.call(n,r,this.keyList[i],this)}}get prune(){return YT("prune","purgeStale"),this.purgeStale}purgeStale(){let e=!1;for(let n of this.rindexes({allowStale:!0}))this.isStale(n)&&(this.delete(this.keyList[n]),e=!0);return e}dump(){let e=[];for(let n of this.indexes({allowStale:!0})){let i=this.keyList[n],a=this.valList[n],r=this.isBackgroundFetch(a)?a.__staleWhileFetching:a;if(r===void 0)continue;let l={value:r};if(this.ttls){l.ttl=this.ttls[n];let u=Gh.now()-this.starts[n];l.start=Math.floor(Date.now()-u)}this.sizes&&(l.size=this.sizes[n]),e.unshift([i,l])}return e}load(e){this.clear();for(let[n,i]of e){if(i.start){let a=Date.now()-i.start;i.start=Gh.now()-a}this.set(n,i.value,i)}}dispose(e,n,i){}set(e,n,{ttl:i=this.ttl,start:a,noDisposeOnSet:r=this.noDisposeOnSet,size:l=0,sizeCalculation:u=this.sizeCalculation,noUpdateTTL:f=this.noUpdateTTL,status:h}={}){if(l=this.requireSize(e,n,l,u),this.maxEntrySize&&l>this.maxEntrySize)return h&&(h.set="miss",h.maxEntrySizeExceeded=!0),this.delete(e),this;let d=this.size===0?void 0:this.keyMap.get(e);if(d===void 0)d=this.newIndex(),this.keyList[d]=e,this.valList[d]=n,this.keyMap.set(e,d),this.next[this.tail]=d,this.prev[d]=this.tail,this.tail=d,this.size++,this.addItemSize(d,l,h),h&&(h.set="add"),f=!1;else{this.moveToTail(d);let m=this.valList[d];if(n!==m){if(this.isBackgroundFetch(m)?m.__abortController.abort(Error("replaced")):r||(this.dispose(m,e,"set"),this.disposeAfter&&this.disposed.push([m,e,"set"])),this.removeItemSize(d),this.valList[d]=n,this.addItemSize(d,l,h),h){h.set="replace";let y=m&&this.isBackgroundFetch(m)?m.__staleWhileFetching:m;y!==void 0&&(h.oldValue=y)}}else h&&(h.set="update")}if(i!==0&&this.ttl===0&&!this.ttls&&this.initializeTTLTracking(),f||this.setItemTTL(d,i,a),this.statusTTL(h,d),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length===0?this.initialFill++:this.free.pop()}pop(){if(this.size){let e=this.valList[this.head];return this.evict(!0),e}}evict(e){let n=this.head,i=this.keyList[n],a=this.valList[n];return this.isBackgroundFetch(a)?a.__abortController.abort(Error("evicted")):(this.dispose(a,i,"evict"),this.disposeAfter&&this.disposed.push([a,i,"evict"])),this.removeItemSize(n),e&&(this.keyList[n]=null,this.valList[n]=null,this.free.push(n)),this.head=this.next[n],this.keyMap.delete(i),this.size--,n}has(e,{updateAgeOnHas:n=this.updateAgeOnHas,status:i}={}){let a=this.keyMap.get(e);if(a!==void 0)if(this.isStale(a))i&&(i.has="stale",this.statusTTL(i,a));else return n&&this.updateItemAge(a),i&&(i.has="hit"),this.statusTTL(i,a),!0;else i&&(i.has="miss");return!1}peek(e,{allowStale:n=this.allowStale}={}){let i=this.keyMap.get(e);if(i!==void 0&&(n||!this.isStale(i))){let a=this.valList[i];return this.isBackgroundFetch(a)?a.__staleWhileFetching:a}}backgroundFetch(e,n,i,a){let r=n===void 0?void 0:this.valList[n];if(this.isBackgroundFetch(r))return r;let l=new Lv;i.signal&&i.signal.addEventListener("abort",()=>l.abort(i.signal.reason));let u={signal:l.signal,options:i,context:a},f=(g,b=!1)=>{let{aborted:T}=l.signal,C=i.ignoreFetchAbort&&g!==void 0;return i.status&&(T&&!b?(i.status.fetchAborted=!0,i.status.fetchError=l.signal.reason,C&&(i.status.fetchAbortIgnored=!0)):i.status.fetchResolved=!0),T&&!C&&!b?d(l.signal.reason):(this.valList[n]===y&&(g===void 0?y.__staleWhileFetching?this.valList[n]=y.__staleWhileFetching:this.delete(e):(i.status&&(i.status.fetchUpdated=!0),this.set(e,g,u.options))),g)},h=g=>(i.status&&(i.status.fetchRejected=!0,i.status.fetchError=g),d(g)),d=g=>{let{aborted:b}=l.signal,T=b&&i.allowStaleOnFetchAbort,C=T||i.allowStaleOnFetchRejection,x=C||i.noDeleteOnFetchRejection;if(this.valList[n]===y&&(!x||y.__staleWhileFetching===void 0?this.delete(e):T||(this.valList[n]=y.__staleWhileFetching)),C)return i.status&&y.__staleWhileFetching!==void 0&&(i.status.returnedStale=!0),y.__staleWhileFetching;if(y.__returned===y)throw g},m=(g,b)=>{this.fetchMethod(e,r,u).then(T=>g(T),b),l.signal.addEventListener("abort",()=>{(!i.ignoreFetchAbort||i.allowStaleOnFetchAbort)&&(g(),i.allowStaleOnFetchAbort&&(g=T=>f(T,!0)))})};i.status&&(i.status.fetchDispatched=!0);let y=new Promise(m).then(f,h);return y.__abortController=l,y.__staleWhileFetching=r,y.__returned=null,n===void 0?(this.set(e,y,{...u.options,status:void 0}),n=this.keyMap.get(e)):this.valList[n]=y,y}isBackgroundFetch(e){return e&&typeof e=="object"&&typeof e.then=="function"&&Object.prototype.hasOwnProperty.call(e,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(e,"__returned")&&(e.__returned===e||e.__returned===null)}async fetch(e,{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:a=this.noDeleteOnStaleGet,ttl:r=this.ttl,noDisposeOnSet:l=this.noDisposeOnSet,size:u=0,sizeCalculation:f=this.sizeCalculation,noUpdateTTL:h=this.noUpdateTTL,noDeleteOnFetchRejection:d=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:y=this.ignoreFetchAbort,allowStaleOnFetchAbort:g=this.allowStaleOnFetchAbort,fetchContext:b=this.fetchContext,forceRefresh:T=!1,status:C,signal:x}={}){if(!this.fetchMethod)return C&&(C.fetch="get"),this.get(e,{allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:a,status:C});let w={allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:a,ttl:r,noDisposeOnSet:l,size:u,sizeCalculation:f,noUpdateTTL:h,noDeleteOnFetchRejection:d,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:g,ignoreFetchAbort:y,status:C,signal:x},R=this.keyMap.get(e);if(R===void 0){C&&(C.fetch="miss");let E=this.backgroundFetch(e,R,w,b);return E.__returned=E}else{let E=this.valList[R];if(this.isBackgroundFetch(E)){let H=n&&E.__staleWhileFetching!==void 0;return C&&(C.fetch="inflight",H&&(C.returnedStale=!0)),H?E.__staleWhileFetching:E.__returned=E}let M=this.isStale(R);if(!T&&!M)return C&&(C.fetch="hit"),this.moveToTail(R),i&&this.updateItemAge(R),this.statusTTL(C,R),E;let z=this.backgroundFetch(e,R,w,b),I=z.__staleWhileFetching!==void 0,L=I&&n;return C&&(C.fetch=I&&M?"stale":"refresh",L&&M&&(C.returnedStale=!0)),L?z.__staleWhileFetching:z.__returned=z}}get(e,{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:a=this.noDeleteOnStaleGet,status:r}={}){let l=this.keyMap.get(e);if(l!==void 0){let u=this.valList[l],f=this.isBackgroundFetch(u);return this.statusTTL(r,l),this.isStale(l)?(r&&(r.get="stale"),f?(r&&(r.returnedStale=n&&u.__staleWhileFetching!==void 0),n?u.__staleWhileFetching:void 0):(a||this.delete(e),r&&(r.returnedStale=n),n?u:void 0)):(r&&(r.get="hit"),f?u.__staleWhileFetching:(this.moveToTail(l),i&&this.updateItemAge(l),u))}else r&&(r.get="miss")}connect(e,n){this.prev[n]=e,this.next[e]=n}moveToTail(e){e!==this.tail&&(e===this.head?this.head=this.next[e]:this.connect(this.prev[e],this.next[e]),this.connect(this.tail,e),this.tail=e)}get del(){return YT("del","delete"),this.delete}delete(e){let n=!1;if(this.size!==0){let i=this.keyMap.get(e);if(i!==void 0)if(n=!0,this.size===1)this.clear();else{this.removeItemSize(i);let a=this.valList[i];this.isBackgroundFetch(a)?a.__abortController.abort(Error("deleted")):(this.dispose(a,e,"delete"),this.disposeAfter&&this.disposed.push([a,e,"delete"])),this.keyMap.delete(e),this.keyList[i]=null,this.valList[i]=null,i===this.tail?this.tail=this.prev[i]:i===this.head?this.head=this.next[i]:(this.next[this.prev[i]]=this.next[i],this.prev[this.next[i]]=this.prev[i]),this.size--,this.free.push(i)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return n}clear(){for(let e of this.rindexes({allowStale:!0})){let n=this.valList[e];if(this.isBackgroundFetch(n))n.__abortController.abort(Error("deleted"));else{let i=this.keyList[e];this.dispose(n,i,"delete"),this.disposeAfter&&this.disposed.push([n,i,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return YT("reset","clear"),this.clear}get length(){return O8("length","size"),this.size}static get AbortController(){return Lv}static get AbortSignal(){return A3}},z8=jv,kv=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[n[t]&63];return e},Yr=class{get crop(){return this._crop}set crop(t){this._crop=t}getObjectsAt(t){return[]}getAllPointsAt(t,e,n){return[]}getScheduledUpdates(t,e){return[]}constructor(){A(this,"__id",void 0),A(this,"__revision",0),A(this,"__host",void 0),A(this,"__onCreate",void 0),A(this,"__parent",void 0),A(this,"__owner",{value:void 0}),A(this,"__state",{}),A(this,"eventHandlers",void 0),A(this,"scale",1),A(this,"layers",[]),A(this,"time",[]),A(this,"_crop",void 0),A(this,"cropData",void 0),A(this,"id",void 0),A(this,"addEventListener",(t,e,n)=>{let i=Cd[t];if(!this.eventHandlers[i])throw Error(`Unknown event ${i}`);this.eventHandlers[i].indexOf(e)===-1&&this.eventHandlers[i].push(e)}),A(this,"removeEventListener",(t,e)=>{let n=Cd[t];if(!this.eventHandlers[n]){console.warn(`Unknown event ${n}`);return}this.eventHandlers[n].indexOf(e)!==-1&&(this.eventHandlers[n]=this.eventHandlers[n].filter(i=>i!==e))}),this.id=this.__id=kv(),this.eventHandlers=w8()}dispatchEvent(t,e){let n=this.eventHandlers[t],i=n?n.length:0,a=!1;if(i)for(let r=0;r<i;r++)try{n[r]?.(e),a=!0}catch(l){console.error(t,l)}return a}get x(){return this.points[1]}get y(){return this.points[2]}get width(){return this.points[3]-this.points[1]}get height(){return this.points[4]-this.points[2]}translate(t,e){hr(this.points,di(t,e))}atScale(t){hr(this.points,kl(t,this.x,this.y)),this.scale*=t}transform(t){hr(this.points,t)}applyProps(t){this.__revision++}appendChild(t){}removeChild(t){}insertBefore(t,e){}hideInstance(){}},yv=/([0-9]+(px|em)\s+)+(solid)\s+(.*)/g,vv={},I8=["backgroundColor","opacity","boxShadow","borderColor","borderWidth","borderStyle","outlineColor","outlineWidth","outlineOffset","outlineStyle"],Ed=class extends Yr{constructor(){super(),A(this,"id",void 0),A(this,"type","spacial-content"),A(this,"points",void 0),A(this,"hoverEvents",!1),A(this,"activeEvents",!1),A(this,"display",{x:0,y:0,scale:1,width:-1,height:-1,points:It(5)}),A(this,"_parsed",{border:{id:null,match:[]},outline:{id:null,match:[]}}),A(this,"hovering",void 0),A(this,"pressing",void 0),A(this,"props",{}),A(this,"addHover",()=>{this.hovering=!0,this.__revision++}),A(this,"removeHover",()=>{this.hovering=!1,this.pressing=!1,this.__revision++}),A(this,"addPress",()=>{this.pressing=!0,this.__revision++}),A(this,"removePress",()=>{this.pressing=!1,this.__revision++}),this.id=kv(12),this.points=It(5)}getAllPointsAt(t,e){return[[this,this.points,e]]}applyProps(t={}){let e=!1;if(t.interactive!==this.props.interactive&&(e=!0,this.props.interactive=t.interactive),t.style){let n=t.border||t.style.border;if(n!==this._parsed.border.id)if(!n)this._parsed.border.id=null,this._parsed.border.match=[];else{let i=vv[n]||yv.exec(n)||yv.exec(n);i&&(this._parsed.border.id=n,this._parsed.border.match=vv[n]=i)}if(this._parsed.border.id&&(t.style.borderWidth=this._parsed.border.match[1],t.style.borderStyle="solid",t.style.borderColor=this._parsed.border.match[4]),t.style.outline!==this._parsed.outline.id)if(!t.style.outline)this._parsed.outline.id=null,this._parsed.outline.match=[];else{let i=vv[t.style.outline]||yv.exec(t.style.outline)||yv.exec(t.style.outline);i&&(this._parsed.outline.id=t.style.outline,this._parsed.outline.match=vv[t.style.outline]=i)}this._parsed.outline.id&&(t.style.outlineWidth=this._parsed.outline.match[1],t.style.outlineStyle="solid",t.style.outlineColor=this._parsed.outline.match[4]),this.props.style=t.style,t.backgroundColor&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=t.backgroundColor,e=!0),t.style.background&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=t.style.background,e=!0);for(let i of I8)if(this.props.style[i]!==t.style[i]){e=!0;break}t.style[":hover"]!==this.props.hoverStyles&&(this.props.hoverStyles=t.style[":hover"],this.hoverEvents||(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),e=!0),t.style[":active"]!==this.props.pressStyles&&(this.props.pressStyles=t.style[":active"],this.activeEvents||(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),e=!0)}t.href!==this.props.href&&(this.props.href=t.href,e=!0),t.hrefTarget!==this.props.hrefTarget&&(this.props.hrefTarget=t.hrefTarget,e=!0),t.title!==this.props.title&&(this.props.title=t.title,e=!0),t.className!==this.props.className&&(this.props.className=t.className,t.className&&!this.hoverEvents&&(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),t.className&&!this.activeEvents&&(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),e=!0),t.relativeSize!==this.props.relativeSize&&(this.props.relativeSize=t.relativeSize,e=!0),t.relativeStyle!==this.props.relativeStyle&&(this.props.relativeStyle=t.relativeStyle,e=!0),t.html!==this.props.html&&(this.props.html=t.html,e=!0),t.target&&(t.target.width!==this.display.width||t.target.height!==this.display.height||t.target.x!==this.points[1]||t.target.y!==this.points[2])&&(e=!0,this.points=de.singleBox(t.target.width,t.target.height,t.target.x,t.target.y),this.display.points=de.singleBox(t.target.width,t.target.height,t.target.x,t.target.y),this.display.width=t.target.width,this.display.height=t.target.height),e&&this.__revision++}},bv=/([0-9]+(px|em)\s+)+(solid)\s+(.*)/g,Sv={},N8=["backgroundColor","opacity","boxShadow","borderColor","borderWidth","borderStyle","outlineColor","outlineWidth","outlineOffset","outlineStyle"],dR=class extends Yr{constructor(){super(),A(this,"id",void 0),A(this,"type","spacial-content"),A(this,"isShape",!0),A(this,"points",void 0),A(this,"hoverEvents",!1),A(this,"activeEvents",!1),A(this,"display",{x:0,y:0,scale:1,width:-1,height:-1,points:It(5)}),A(this,"boundingBox",null),A(this,"_parsed",{border:{id:null,match:[]},outline:{id:null,match:[]}}),A(this,"hovering",void 0),A(this,"pressing",void 0),A(this,"props",{}),A(this,"shape",{type:"none"}),A(this,"addHover",()=>{this.hovering=!0,this.__revision++}),A(this,"removeHover",()=>{this.hovering=!1,this.pressing=!1,this.__revision++}),A(this,"addPress",()=>{this.pressing=!0,this.__revision++}),A(this,"removePress",()=>{this.pressing=!1,this.__revision++}),this.id=kv(12),this.points=It(5),this.shape={type:"none"}}updateBoundingBox(){if(this.shape.type==="none")return;let t=this.shape.points;if(this.shape.points.length>2){let e=Math.min(...t.map(r=>r[0])),n=Math.min(...t.map(r=>r[1])),i=Math.max(0,...t.map(r=>r[0])),a=Math.max(0,...t.map(r=>r[1]));this.boundingBox={x:e,y:n,width:i-e,height:a-n};return}this.boundingBox=null}intersects(t){if(!t||this.shape.type==="none")return!1;let[e,n]=t,i=this.shape.points,a=this.boundingBox;if(a||(this.updateBoundingBox(),a=this.boundingBox),!a||e<a.x||e>a.x+a.width||n<a.y||n>a.height+a.y)return!1;let r=!1;for(let l=0,u=i.length-1;l<i.length;u=l++)i[l][1]>n!=i[u][1]>n&&e<(i[u][0]-i[l][0])*(n-i[l][1])/(i[u][1]-i[l][1])+i[l][0]&&(r=!r);return r}getAllPointsAt(t,e){return t[3]-t[1]===1&&t[4]-t[2]===1?this.intersects([t[1],t[2]])?[[this,this.points,e]]:[]:[[this,this.points,e]]}applyProps(t={}){let e=!1;if(t.points)if(this.shape.type!=="polygon"||this.shape.points.length!==t.points.length)this.shape={type:"polygon",points:t.points,open:t.open},this.updateBoundingBox();else{let n=!1,i=t.points.length;for(let a=0;a<i;a++)if(t.points[a][0]!==this.shape.points[a][0]||t.points[a][1]!==this.shape.points[a][1]){n=!0;break}n&&(this.shape={type:"polygon",points:t.points,open:t.open},this.updateBoundingBox())}if(t.interactive!==this.props.interactive&&(e=!0,this.props.interactive=t.interactive),(t.open||t.open===!1)&&(e=!0,this.shape.open=t.open),t.style){let n=t.border||t.style.border;if(n!==this._parsed.border.id)if(!n)this._parsed.border.id=null,this._parsed.border.match=[];else{let i=Sv[n]||bv.exec(n)||bv.exec(n);i&&(this._parsed.border.id=n,this._parsed.border.match=Sv[n]=i)}if(this._parsed.border.id&&(t.style.borderWidth=this._parsed.border.match[1],t.style.borderStyle="solid",t.style.borderColor=this._parsed.border.match[4]),t.style.outline!==this._parsed.outline.id)if(!t.style.outline)this._parsed.outline.id=null,this._parsed.outline.match=[];else{let i=Sv[t.style.outline]||bv.exec(t.style.outline)||bv.exec(t.style.outline);i&&(this._parsed.outline.id=t.style.outline,this._parsed.outline.match=Sv[t.style.outline]=i)}this._parsed.outline.id&&(t.style.outlineWidth=this._parsed.outline.match[1],t.style.outlineStyle="solid",t.style.outlineColor=this._parsed.outline.match[4]),this.props.style=t.style,t.backgroundColor&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=t.backgroundColor,e=!0),t.style.background&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=t.style.background,e=!0);for(let i of N8)if(this.props.style[i]!==t.style[i]){e=!0;break}t.style[":hover"]!==this.props.hoverStyles&&(this.props.hoverStyles=t.style[":hover"],this.hoverEvents||(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),e=!0),t.style[":active"]!==this.props.pressStyles&&(this.props.pressStyles=t.style[":active"],this.activeEvents||(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),e=!0)}t.href!==this.props.href&&(this.props.href=t.href,e=!0),t.hrefTarget!==this.props.hrefTarget&&(this.props.hrefTarget=t.hrefTarget,e=!0),t.title!==this.props.title&&(this.props.title=t.title,e=!0),t.className!==this.props.className&&(this.props.className=t.className,t.className&&!this.hoverEvents&&(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),t.className&&!this.activeEvents&&(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),e=!0),t.relativeSize!==this.props.relativeSize&&(this.props.relativeSize=t.relativeSize,e=!0),t.relativeStyle!==this.props.relativeStyle&&(this.props.relativeStyle=t.relativeStyle,e=!0),t.html!==this.props.html&&(this.props.html=t.html,e=!0),t.target&&(t.target.width!==this.display.width||t.target.height!==this.display.height||t.target.x!==this.points[1]||t.target.y!==this.points[2])&&(e=!0,this.points=de.singleBox(t.target.width,t.target.height,t.target.x,t.target.y),this.display.points=de.singleBox(t.target.width,t.target.height,t.target.x,t.target.y),this.display.width=t.target.width,this.display.height=t.target.height),e&&this.__revision++}},yi=class eR extends Yr{constructor(e){if(super(),A(this,"type","spacial-content"),A(this,"id",void 0),A(this,"uri",void 0),A(this,"display",void 0),A(this,"points",void 0),A(this,"priority",void 0),A(this,"style",{opacity:1}),!e)this.id="",this.uri="",this.display={x:0,y:0,scale:1,width:0,height:0,points:It(5)},this.points=It(5);else{let n=e.scale||1;this.id=e.id||e.uri,this.uri=e.uri,this.points=de.singleBox(e.width,e.height,e.x,e.y),this.display={x:0,y:0,scale:n,width:e.width/n,height:e.height/n,points:de.singleBox(e.width/n,e.height/n),rotation:e?.rotation}}}applyProps(e){let n=e.display?e.display.width:e.target.width,i=e.target.width/n;if(this.id=e.id||e.uri,this.uri=e.uri,this.points.set(de.singleBox(e.target.width,e.target.height,e.target.x,e.target.y)),e.style&&e.style.opacity!==void 0&&(this.style.opacity=e.style.opacity),e.crop){this.cropData=e.crop;let a=de.singleBox(e.crop.width,e.crop.height,e.crop.x,e.crop.y);hr(a,di(-e.crop.x,-e.crop.y)),this.crop?this.crop.set(a):this.crop=It(a)}e.display?(this.display.scale=i,this.display.width=e.display.width,this.display.height=e.display.height,this.display.rotation=e.display.rotation,this.display.points=de.singleBox(e.display.width,e.display.height)):(this.display.scale=i,this.display.width=e.target.width/i,this.display.height=e.target.height/i,this.display.points=de.singleBox(e.target.width/i,e.target.height/i))}getAllPointsAt(e,n,i){return[[this,this.crop||this.points,n]]}static fromSvg(e,n,i,a){return eR.fromImage("data:image/svg+xml;base64,"+btoa(e),n,i,a)}static fromImage(e,n,i,a){let r=new eR;return r.applyProps({uri:e,id:a,display:i,target:n}),r}getImageUrl(){return this.uri}};function xv(t,e,n){return Math.min(Math.max(t,e),n)}var Ei=class _3 extends Yr{constructor(e){super(),A(this,"id",void 0),A(this,"type","spacial-content"),A(this,"display",void 0),A(this,"tileWidth",void 0),A(this,"tileHeight",void 0),A(this,"columns",void 0),A(this,"rows",void 0),A(this,"style",{opacity:1}),A(this,"points",void 0),A(this,"service",void 0),A(this,"format","jpg"),A(this,"crop2",void 0),A(this,"version3",void 0),A(this,"tileUrl",void 0),this.tileUrl=R8(e.url),this.id=e.id||`${this.tileUrl}--${e.scaleFactor}--${e.tileWidth}x${e.tileHeight}`,this.points=e.displayPoints?e.displayPoints:Qi(e.points,go(e.scaleFactor)),this.tileWidth=e.tileWidth,this.tileHeight=e.tileHeight,this.columns=e.columns,this.rows=e.rows,this.version3=e.version3,this.display={x:0,y:0,width:e.width/e.scaleFactor,height:e.height/e.scaleFactor,points:e.points,scale:e.scaleFactor},e.format&&(this.format=e.format)}applyProps(e){if(e.style&&e.style.opacity!==void 0&&(this.style.opacity=e.style.opacity),e.service!==this.service&&(this.service=e.service),e.format?this.format=e.format:this.format="jpg",e.version3!==void 0&&(this.version3=e.version3),e.crop){this.cropData=e.crop;let n=It([...this.points]),i=n.length/5,a=e.crop.x||0,r=e.crop.y||0,l=e.crop.x+e.crop.width,u=e.crop.y+e.crop.height;for(let f=0;f<i;f++){let h=f*5;n[h+1]<l&&n[h+3]>a&&n[h+2]<u&&n[h+4]>r?(n[h+1]=xv(n[h+1],a,l),n[h+3]=xv(n[h+3],a,l),n[h+2]=xv(n[h+2],r,u),n[h+4]=xv(n[h+4],r,u)):n[h]=0}hr(n,di(-e.crop.x,-e.crop.y)),this.crop?this.crop.set(n):this.crop=n}}static fromTile(e,n,i,a,r,l,u,f){let h=i.height?i.height:i.width,d=u?Math.floor(n.width/a):Math.ceil(n.width/a),m=u?Math.floor(n.height/a):Math.ceil(n.height/a),y=Math.ceil(d/i.width),g=Math.ceil(m/h),b=de.grid(y,g),T=de.grid(y,g),C=r&&r["@context"]?Array.isArray(r["@context"])?r["@context"]:[r["@context"]]:[],x=f===void 0?C.indexOf("http://iiif.io/api/image/3/context.json")!==-1:f;for(let R=0;R<g;R++)for(let E=0;E<y;E++){let M=E*i.width,z=R*h;T.addPoints(M*a,z*a,E===y-1?n.width:(M+i.width)*a,R===g-1?n.height:(z+h)*a),b.addPoints(M,z,E===y-1?d:M+i.width,R===g-1?m:z+h)}let w=new _3({url:e,scaleFactor:a,points:b.build(),displayPoints:T.build(),width:n.width,height:n.height,tileWidth:i.width,tileHeight:h,columns:y,rows:g,format:l,version3:x});return w.applyProps({service:r}),w}getImageUrl(e){let n=this.points.slice(e*5,e*5+5),i=n[3]-n[1],a=n[4]-n[2],r=Math.ceil(i/this.display.scale),l=Math.ceil(a/this.display.scale),u=`${r>this.tileWidth?this.tileWidth:r},`;return this.version3&&(u+=`${l>this.tileHeight?this.tileHeight:l}`),`${this.tileUrl}/${n[1]},${n[2]},${i},${a}/${u}/0/default.${this.format||"jpg"}`}getAllPointsAt(e,n,i){let a=_c(this.crop||this.points,e);return[[this,a,n]]}transform(e){hr(this.points,e)}getScheduledUpdates(e,n){return[]}};function z3(t,e,n){if(!e||e[0]===0)return null;let i=t[3]-t[1],a=t[4]-t[2],r=e[3]-e[1],l=e[4]-e[2],u=i<r,f=a<l,h=e[1]+r/2-i/2,d=e[2]+l/2-a/2;return{minX:u?e[1]-n:h,maxX:u?e[3]-i+n:h,minY:f?e[2]-n:d,maxY:f?e[4]-a+n:d}}function I3(t){if(!t.enableFilters||!t.filters.brightness&&!t.filters.contrast&&!t.filters.grayscale&&!t.filters.invert&&!t.filters.sepia&&!t.filters.saturate&&!t.filters.hueRotate&&!t.filters.blur)return"none";let e="";return t.filters.brightness&&(e+=`brightness(${~~(100+t.filters.brightness*100)}%) `),t.filters.contrast&&(e+=`contrast(${~~(100+t.filters.contrast*100)}%) `),t.filters.grayscale&&(e+=`grayscale(${~~(t.filters.grayscale*100)}%) `),t.filters.invert&&(e+=`invert(${~~(t.filters.invert*100)}%) `),t.filters.sepia&&(e+=`sepia(${~~(t.filters.sepia*100)}%) `),t.filters.saturate&&(e+=`saturate(${~~(100+t.filters.saturate*100)}%) `),t.filters.hueRotate&&(e+=`hue-rotate(${t.filters.hueRotate}deg) `),t.filters.blur&&(e+=`blur(${t.filters.blur}px) `),e.trim()}function N3(t,e,n){return Math.max(e,Math.min(n,t))}function L8(){if(typeof navigator>"u")return;let t=navigator;return t.connection||t.mozConnection||t.webkitConnection}function D8(t){let e=10;return typeof navigator<"u"&&typeof navigator.hardwareConcurrency=="number"&&(e=N3(Math.round(navigator.hardwareConcurrency*.75),4,10)),t?.saveData?3:t?.effectiveType==="slow-2g"||t?.effectiveType==="2g"?2:t?.effectiveType==="3g"?Math.min(e,4):e}function P8(t,e){return e?.saveData||e?.effectiveType==="slow-2g"||e?.effectiveType==="2g"?0:e?.effectiveType==="3g"?2:Math.min(t+2,12)}function L3(t={}){let e=L8(),n=D8(e),i=typeof t.maxConcurrentRequests=="number"?Math.max(1,Math.floor(t.maxConcurrentRequests)):n;return{maxConcurrentRequests:i,maxPrefetchPerFrame:typeof t.maxPrefetchPerFrame=="number"?Math.max(0,Math.floor(t.maxPrefetchPerFrame)):P8(i,e),timeoutMs:typeof t.timeoutMs=="number"?Math.max(250,Math.floor(t.timeoutMs)):8e3,maxAttempts:typeof t.maxAttempts=="number"?Math.max(1,Math.floor(t.maxAttempts)):3,baseDelayMs:typeof t.baseDelayMs=="number"?Math.max(0,Math.floor(t.baseDelayMs)):250,maxDelayMs:typeof t.maxDelayMs=="number"?Math.max(0,Math.floor(t.maxDelayMs)):3e3,jitterRatio:typeof t.jitterRatio=="number"?N3(t.jitterRatio,0,1):.2,errorRetryIntervalMs:typeof t.errorRetryIntervalMs=="number"?Math.max(0,Math.floor(t.errorRetryIntervalMs)):3e4,revealDelayFrames:typeof t.revealDelayFrames=="number"?Math.max(0,Math.floor(t.revealDelayFrames)):1,revealBatchWindowFrames:typeof t.revealBatchWindowFrames=="number"?Math.max(0,Math.floor(t.revealBatchWindowFrames)):1,skipFadeIfLoadedWithinMs:typeof t.skipFadeIfLoadedWithinMs=="number"?Math.max(0,Math.floor(t.skipFadeIfLoadedWithinMs)):120}}function D3(t,e,n=Math.random){let i=Math.max(1,Math.floor(e)),a=t.baseDelayMs*2**(i-1),r=Math.min(t.maxDelayMs,a),l=r*t.jitterRatio;return l?Math.max(0,Math.floor(r+(n()*2-1)*l)):r}var P3=class extends Error{constructor(t="Image request cancelled",e=!0){super(t),A(this,"silent",void 0),this.name="ImageRequestCancelledError",this.silent=e}};function B3(t){return t instanceof P3}var ZL=0;function B8(t){return ZL+=1,`${ZL}:${t}`}function H3(t){return Error(`Image load timeout: ${t}`)}function WL(t,e){let n,i=document.createElement("img");i.decoding="async",e.crossOrigin&&(i.crossOrigin=e.crossOrigin);let a=!1;return{promise:new Promise((r,l)=>{let u=()=>{n&&clearTimeout(n),i.onload=null,i.onerror=null};i.onload=()=>{a||(a=!0,u(),r(i))},i.onerror=f=>{a||(a=!0,u(),l(f))},n=setTimeout(()=>{a||(a=!0,u(),l(H3(t)))},e.timeoutMs),i.src=t,i.complete&&i.naturalWidth>0&&(a=!0,u(),r(i))}),abort:()=>{a||(a=!0,n&&clearTimeout(n),i.onload=null,i.onerror=null,i.src="")}}}var F3=class{constructor(t){A(this,"timeoutMs",void 0),A(this,"crossOrigin",void 0),A(this,"useFetch",void 0),A(this,"cache",void 0),A(this,"inFlight",new Map),A(this,"knownConsumers",new Map),this.timeoutMs=t.timeoutMs,this.crossOrigin=t.crossOrigin,this.useFetch=!!t.useFetch&&typeof fetch<"u"&&typeof AbortController<"u",this.cache=t.cache||new Map}acquire(t,e){let n=this.cache.get(t);if(n&&n.naturalWidth>0)return{requestKey:`cached:${t}`,promise:Promise.resolve(n),release:()=>{}};let i=this.inFlight.get(t);i||(i={url:t,requestKey:B8(t),consumers:new Set,promise:Promise.resolve(document.createElement("img")),settled:!1,cancelled:!1,silentCancellation:!0},i.promise=this.createRequest(i).then(r=>(i.settled=!0,this.cache.set(t,r),r)).catch(r=>{throw i.settled=!0,i.cancelled?new P3("Image request cancelled",i.silentCancellation):r}).finally(()=>{i&&i.consumers.size===0&&this.inFlight.delete(t)}),this.inFlight.set(t,i)),i.consumers.add(e);let a=this.knownConsumers.get(e)||new Set;return a.add(t),this.knownConsumers.set(e,a),{requestKey:i.requestKey,promise:i.promise,release:r=>{this.release(t,e,r)}}}release(t,e,n={}){let i=this.knownConsumers.get(e);i&&(i.delete(t),i.size===0&&this.knownConsumers.delete(e));let a=this.inFlight.get(t);if(a&&(a.consumers.delete(e),n.silent===!1&&(a.silentCancellation=!1),!(a.consumers.size>0))){if(!a.settled){a.cancelled=!0,a.abortController&&a.abortController.abort(),a.abortDomImage&&a.abortDomImage();return}this.inFlight.delete(t)}}releaseConsumer(t,e={}){let n=this.knownConsumers.get(t);if(n)for(let i of[...n])this.release(i,t,e)}cancelAll(t={}){let e=[...this.knownConsumers.keys()];for(let n of e)this.releaseConsumer(n,t)}async createRequest(t){if(this.useFetch){let i=new AbortController;t.abortController=i;let a=setTimeout(()=>{i.abort(H3(t.url))},this.timeoutMs);try{let r=this.crossOrigin==="use-credentials"?"include":"same-origin",l=await fetch(t.url,{signal:i.signal,credentials:r});if(!l.ok)throw Error(`Image request failed (${l.status}): ${t.url}`);let u=await l.blob(),f=URL.createObjectURL(u);try{let{promise:h,abort:d}=WL(f,{timeoutMs:this.timeoutMs,crossOrigin:void 0});return t.abortDomImage=d,await h}finally{URL.revokeObjectURL(f)}}finally{clearTimeout(a)}}let{promise:e,abort:n}=WL(t.url,{timeoutMs:this.timeoutMs,crossOrigin:this.crossOrigin});return t.abortDomImage=n,e}},JL=/(-?[0-9]+(px|em)\s+|0\s+)(-?[0-9]+(px|em)\s+|0\s+)(-?[0-9]+(px|em)\s+|0\s+)?(-?[0-9]+(px|em)\s+|0\s+)?(.*)/g,$L={},H8=typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes("firefox"),F8=new Map,wv=class{constructor(t,e){A(this,"canvas",void 0),A(this,"ctx",void 0),A(this,"options",void 0),A(this,"imagesPending",0),A(this,"imagesLoaded",0),A(this,"imageIdsLoaded",[]),A(this,"frameIsRendering",!1),A(this,"pendingDrawCall",!1),A(this,"firstMeaningfulPaint",!1),A(this,"parallelTasks",6),A(this,"maxPrefetchPerFrame",8),A(this,"imageLoadingConfig",void 0),A(this,"imageRequestPool",void 0),A(this,"frameTasks",0),A(this,"loadingQueueOrdered",!0),A(this,"loadingQueue",[]),A(this,"currentTask",Promise.resolve()),A(this,"tasksRunning",0),A(this,"inFlightImageLoads",new Map),A(this,"requiredTileKeys",new Set),A(this,"requiredPrefetchTileKeys",new Set),A(this,"requestGeneration",0),A(this,"frameCounter",0),A(this,"pendingTileReveals",new Map),A(this,"stats",void 0),A(this,"averageJobTime",64),A(this,"lastKnownScale",1),A(this,"visible",[]),A(this,"previousVisible",[]),A(this,"rendererPosition",void 0),A(this,"dpi",void 0),A(this,"drawCalls",[]),A(this,"lastPaintedObject",void 0),A(this,"hostCache",void 0),A(this,"invalidated",[]),A(this,"fallbackRevealTimeout",null),A(this,"framePrefetchCount",0),A(this,"hasTilesFading",!1),A(this,"hasActiveLayerClip",!1),A(this,"_worker",()=>{if(this.loadingQueue.length&&this.tasksRunning<this.parallelTasks&&this.frameTasks<this.parallelTasks){let n=this.loadingQueue.pop();n&&(this.tasksRunning++,this.frameTasks++,this.currentTask=n.task().then(()=>{this.tasksRunning--}).catch(()=>{this.tasksRunning--}))}}),A(this,"_scheduled",0),A(this,"_doWork",()=>{this.loadingQueue.length===0&&this.tasksRunning===0&&this._scheduled&&(clearInterval(this._scheduled),this._scheduled=0);let n=this.parallelTasks||1;!this.firstMeaningfulPaint&&this.loadingQueue.length&&(n=this.loadingQueue.length);for(let i=0;i<n;i++)this._worker()}),this.canvas=t,this.rendererPosition=t.getBoundingClientRect(),this.ctx=t.getContext("2d",{alpha:!0}),this.ctx.imageSmoothingEnabled=!0,this.options=e||{},this.imageLoadingConfig=L3(this.options.imageLoading),this.parallelTasks=this.imageLoadingConfig.maxConcurrentRequests,this.maxPrefetchPerFrame=this.imageLoadingConfig.maxPrefetchPerFrame,this.imageRequestPool=new F3({timeoutMs:this.imageLoadingConfig.timeoutMs,crossOrigin:this.options.crossOrigin?"anonymous":void 0,useFetch:!!this.options.crossOrigin,cache:F8}),this.canvas.style.transition="opacity .3s",this.dpi=e?.dpi||1,this.options.readiness==="immediate"&&(this.firstMeaningfulPaint=!0,this.canvas.style.opacity="1"),this.hostCache=e?.lruCache?new z8({maxSize:1024*512*512,dispose:(n,i,a)=>{this.invalidated.push(i),n.width=0,n.height=0},sizeCalculation:(n,i)=>n.width*n.height}):{store:{},get(n){return this.store[n]},set(n,i){this.store[n]=i}}}getCanvasDims(){return{width:this.canvas.width/this.dpi,height:this.canvas.height/this.dpi}}resize(){this.rendererPosition=this.canvas.getBoundingClientRect()}getCompositeOwner(t){let e=t?.__parent;return e&&e.renderOptions?e:void 0}compareCompositeLoadPriority(t,e){let n=this.getCompositeOwner(t),i=this.getCompositeOwner(e);return!n||n!==i?0:(t?.display.scale||0)-(e?.display.scale||0)}isReady(){return this.firstMeaningfulPaint}afterFrame(t){if(this.clearTransform(),this.lastPaintedObject=void 0,this.frameIsRendering=!1,this.imagesPending=this.loadingQueue.length+this.tasksRunning+this.inFlightImageLoads.size+this.pendingTileReveals.size,this.imagesLoaded=0,this.loadingQueueOrdered||(this.loadingQueue=this.loadingQueue.sort((e,n)=>{let i=this.compareCompositeLoadPriority(e.paint,n.paint);return i===0?e.network&&n.network&&e.scale===n.scale?n.distance-e.distance:e.scale-n.scale:i}),this.loadingQueueOrdered=!0),this.scheduleSingleImageLookahead(t),this.previousVisible=this.visible,this.pruneStaleTileWork(),this.pendingDrawCall=!!this.drawCalls.length,this.pendingDrawCall)for(let e=0;e<this.drawCalls.length;e++){let n=this.drawCalls.shift();n&&n()}this.doOffscreenWork(),this.options.debug&&this.stats&&this.stats.end()}doOffscreenWork(){this.frameTasks=0,this.loadingQueue.length&&(this._worker(),this.loadingQueue.length&&this.tasksRunning<this.parallelTasks&&(this._scheduled||(this._scheduled=setInterval(this._doWork,0))))}getScale(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return this.lastKnownScale;let i=this.getCanvasDims(),a=i.width/t,r=i.height/e,l=(a<r?r:a)*(n&&this.dpi||1);return Number.isNaN(l)||(this.lastKnownScale=l),this.lastKnownScale}beforeFrame(t,e,n,i){this.options.debug&&this.stats&&this.stats.begin(),this.frameIsRendering=!0,this.frameCounter+=1,this.visible=[],this.framePrefetchCount=0,this.hasTilesFading=!1,this.requiredTileKeys.clear(),this.requiredPrefetchTileKeys.clear(),this.flushTileRevealBatch(),this.options.beforeFrame&&this.options.beforeFrame(e);let a=this.getCanvasDims();this.ctx.globalAlpha=1,this.canvas.dataset.background==="transparent"?this.ctx.clearRect(0,0,a.width,a.height):(this.ctx.fillStyle=this.canvas.dataset.background??"rgb(0, 0, 0)",this.ctx.fillRect(0,0,a.width,a.height));let r=I3(i);this.ctx.filter!==r&&(this.ctx.filter=r)}applyTransform(t,e,n,i,a){let r=t.__owner.value;if(r&&r.rotation){this.ctx.save();let l=e+i/2,u=n+a/2;this.ctx.translate(l,u),this.ctx.rotate(r.rotation*Math.PI/180),this.ctx.translate(-l,-u),this.lastPaintedObject=r}}clearTransform(){this.lastPaintedObject&&(this.lastPaintedObject.rotation&&this.ctx.restore(),this.lastPaintedObject=void 0)}getTileKey(t,e){return`${t.id}::${t.display.scale}::${e}`}nextRequestKey(t){return this.requestGeneration+=1,`${t}::${this.requestGeneration}`}markTileRequired(t,e){if(e){this.requiredPrefetchTileKeys.add(t);return}this.requiredTileKeys.add(t)}isTileRequired(t){return this.requiredTileKeys.has(t)||this.requiredPrefetchTileKeys.has(t)}shouldSkipFade(t,e=performance.now()){return t?.requestedAt?e-t.requestedAt<=this.imageLoadingConfig.skipFadeIfLoadedWithinMs:!1}enqueueTileReveal(t,e,n){let i=performance.now();if(this.imageLoadingConfig.revealDelayFrames===0&&this.imageLoadingConfig.revealBatchWindowFrames===0){let a=this.getTileState(e,n);this.setTileState(e,n,{...a,loadedAt:i,skipFade:this.shouldSkipFade(a,i)});return}this.pendingTileReveals.set(t,{imageBuffer:e,index:n,queuedFrame:this.frameCounter})}flushTileRevealBatch(){if(this.pendingTileReveals.size===0)return;let t=this.imageLoadingConfig.revealDelayFrames,e=this.imageLoadingConfig.revealBatchWindowFrames,n=performance.now(),i=[...this.pendingTileReveals.entries()].sort((r,l)=>r[1].queuedFrame-l[1].queuedFrame),a=0;for(;a<i.length;){let r=i[a];if(this.frameCounter-r[1].queuedFrame<t)break;let l=r[1].queuedFrame+e;for(;a<i.length&&i[a][1].queuedFrame<=l;){let[u,f]=i[a],h=this.getTileState(f.imageBuffer,f.index);h.state==="decoded"&&!h.loadedAt&&this.setTileState(f.imageBuffer,f.index,{...h,loadedAt:n,skipFade:this.shouldSkipFade(h,n)}),this.pendingTileReveals.delete(u),a+=1}}}emitImageError(t){this.options.onImageError&&this.options.onImageError({renderer:"canvas",...t})}releaseInFlightTileLoad(t,e={}){let n=this.inFlightImageLoads.get(t);n&&(n.release(e),this.inFlightImageLoads.delete(t))}pruneStaleTileWork(){let t=[];for(let n of this.loadingQueue){if(!n.tileKey||this.isTileRequired(n.tileKey)){t.push(n);continue}if(n.paint&&typeof n.index=="number"){let i=this.ensureImageBuffer(n.paint),a=this.getTileState(i,n.index);a.lastRequestKey===n.requestKey&&(a.state==="queued"||a.state==="loading")&&this.setTileState(i,n.index,{...a,state:"idle",cancelledAt:performance.now()})}n.tileKey&&this.pendingTileReveals.delete(n.tileKey)}this.loadingQueue=t;let e=[];for(let[n,i]of this.inFlightImageLoads.entries()){if(this.isTileRequired(n))continue;e.push(n);let a=this.getTileState(i.imageBuffer,i.index);a.lastRequestKey===i.requestKey&&a.state==="loading"&&this.setTileState(i.imageBuffer,i.index,{...a,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(n)}for(let n of e)this.releaseInFlightTileLoad(n,{silent:!0})}ensureImageBuffer(t){(!t.__host||!t.__host.canvas)&&this.createImageHost(t);let e=t.__host.canvas;return e.tiles||(e.tiles={}),e.indices||(e.indices=[]),e.loaded||(e.loaded=[]),e.canvases||(e.canvases=[]),e}getTileState(t,e){return t.tiles||(t.tiles={}),t.tiles[e]||(t.tiles[e]={state:"idle"},this.syncBufferState(t)),t.tiles[e]}setTileState(t,e,n){t.tiles||(t.tiles={}),t.tiles[e]=n,this.syncBufferState(t)}syncBufferState(t){let e=[],n=[],i=t.tiles||{},a=Object.keys(i);for(let r=0;r<a.length;r++){let l=parseInt(a[r],10),u=i[l].state;(u==="queued"||u==="loading")&&e.push(l),u==="decoded"&&n.push(l)}t.indices=e,t.loaded=n,t.loading=e.length>0}getCompositeRenderOptions(t){return t.__parent?.renderOptions}shouldClipLayerToBounds(t){return t instanceof yi||t instanceof Ei?!!this.getCompositeRenderOptions(t)?.clipToBounds:!1}getBoundsFromPoints(t){let e=1/0,n=1/0,i=-1/0,a=-1/0;for(let r=0;r<t.length;r+=5)t[r]&&(e=Math.min(e,t[r+1]),n=Math.min(n,t[r+2]),i=Math.max(i,t[r+3]),a=Math.max(a,t[r+4]));if(!(!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(i)||!Number.isFinite(a))&&!(i<=e||a<=n))return{x:e,y:n,width:i-e,height:a-n}}getLayerPolicy(t){return this.getCompositeRenderOptions(t)?.layerPolicy||"fallback-only"}isLayerActive(t){let e=t.__parent;return!e||this.getLayerPolicy(t)==="always-blend"?!0:typeof e.isImageActive=="function"?!!e.isImageActive(t):!0}getPrefetchRadius(t){let e=this.getCompositeRenderOptions(t);return e?typeof e.prefetchRadius=="number"?Math.max(0,e.prefetchRadius):e.loadingBias==="speed"?2:e.loadingBias==="data"?0:1:0}getFadeAlpha(t,e,n){if(e?.skipFade)return 1;if(e?.state==="decoded"&&!e.loadedAt&&(this.imageLoadingConfig.revealDelayFrames>0||this.imageLoadingConfig.revealBatchWindowFrames>0))return 0;let i=this.getCompositeRenderOptions(t);if(!i||!i.fadeInMs||i.fadeInMs<=0)return 1;let a=performance.now(),r=1;if(n&&i.fadeOnLayerChange&&i.layerPolicy!=="active-only"){let l=t.__parent;if(l&&typeof l.getImageActivatedAt=="function"){let u=l.getImageActivatedAt(t);typeof u=="number"&&(r=Math.min(r,Math.max(0,Math.min(1,(a-u)/i.fadeInMs))))}}return e?.loadedAt&&(n||i.fadeFallbackTiles)&&(r=Math.min(r,Math.max(0,Math.min(1,(a-e.loadedAt)/i.fadeInMs)))),r}schedulePrefetchNeighbours(t,e,n,i){if(!(e instanceof Ei)||this.framePrefetchCount>=this.maxPrefetchPerFrame||this.getCompositeRenderOptions(e)?.loadingBias==="data")return;let a=this.getPrefetchRadius(e);if(a<=0)return;let r=e.columns,l=e.rows;if(!r||!l)return;let u=n%r,f=Math.floor(n/r);for(let h=1;h<=a;h++)for(let d=-h;d<=h;d++)for(let m=-h;m<=h;m++){if(Math.max(Math.abs(m),Math.abs(d))!==h)continue;let y=u+m,g=f+d;if(y<0||g<0||y>=r||g>=l)continue;let b=g*r+y,T=this.getTileKey(e,b);if(this.markTileRequired(T,!0),this.schedulePaintToCanvas(t,e,b,i+h*1e3,!0)&&(this.framePrefetchCount++,this.framePrefetchCount>=this.maxPrefetchPerFrame))return}}scheduleSingleImageLookahead(t){if(this.maxPrefetchPerFrame<=0||this.framePrefetchCount>=this.maxPrefetchPerFrame||t.hasActiveZone())return;let e=1/0,n=-1/0,i=new Set;for(let y=0;y<this.visible.length;y++){let g=this.visible[y].__owner?.value;!g||g.type!=="world-object"||g.points[0]===0||(i.add(g),e=Math.min(e,g.points[2]),n=Math.max(n,g.points[4]))}if(!Number.isFinite(e)||!Number.isFinite(n))return;let a=n-e;if(a<=0)return;let r=a*1.5,l=n+r,u=e-r,f,h,d=t.getObjects();for(let y=0;y<d.length;y++){let g=d[y];if(!g||g.type!=="world-object"||g.points[0]===0||i.has(g))continue;let b=g.points[2],T=g.points[4],C=b>=n&&b<=l,x=T<=e&&T>=u;if(!C&&!x)continue;let w;for(let R=0;R<g.layers.length;R++){let E=g.layers[R];if(E instanceof yi){w=E;break}}if(w){if(C){let R=b-n;(!f||R<f.distance)&&(f={image:w,distance:R})}if(x){let R=e-T;(!h||R<h.distance)&&(h={image:w,distance:R})}}}let m=[f,h].filter(Boolean);for(let y of m){if(this.framePrefetchCount>=this.maxPrefetchPerFrame)break;let g=this.ensureImageBuffer(y.image);this.schedulePaintToCanvas(g,y.image,0,1e4+y.distance,!0)&&this.framePrefetchCount++}}paint(t,e,n,i,a,r){let l=this.ctx.globalAlpha,u=typeof t.__zoneVisibilityAlpha=="number"?t.__zoneVisibilityAlpha:1;if(t instanceof yi||t instanceof Ei){let d=t.display.rotation||0,m=d!==0;try{if(m){this.ctx.save();let L=n+a/2,H=i+r/2;t.crop&&(L-=t.crop[e*5+1],H-=t.crop[e*5+2]),this.ctx.translate(L,H),this.ctx.rotate(d*Math.PI/180),this.ctx.translate(-L,-H)}let y=this.options.paintImages!==!1,g=this.options.shouldPaintImage?this.options.shouldPaintImage(t,e):!0;if(!y||!g)return;this.visible.push(t);let b=(t.style?.opacity===void 0?1:t.style.opacity)*u;if(!b)return;this.ctx.globalAlpha=l*b;let T=this.ensureImageBuffer(t),C=this.getTileState(T,e);C.lastUsedAt=performance.now(),this.setTileState(T,e,C);let x=this.getTileKey(t,e);this.markTileRequired(x,!1);let w=this.isLayerActive(t),R=this.getCanvasDims(),E=Zh({x:n+a/2,y:i+r/2},{x:R.width/2,y:R.height/2}),M=this.invalidated.indexOf(T.canvases[e])!==-1,z=this.hostCache.get(T.canvases[e]),I=!!z&&!M;if(M&&this.setTileState(T,e,{...C,state:"idle"}),(M||!I||C.state==="idle"||C.state==="error")&&w&&(this.schedulePaintToCanvas(T,t,e,E,!1),this.schedulePrefetchNeighbours(T,t,e,E)),!this.firstMeaningfulPaint)return;if(z&&!M){let L=this.getFadeAlpha(t,C,w);if(L<1&&(this.hasTilesFading=!0),this.ctx.globalAlpha=l*b*L,t.crop&&t.cropData){if(t.crop[e*5]){let H=[t.crop[e*5+1]/t.display.scale-t.display.points[e*5+1],t.crop[e*5+2]/t.display.scale-t.display.points[e*5+2],1+(t.crop[e*5+3]-t.crop[e*5+1])/t.display.scale,1+(t.crop[e*5+4]-t.crop[e*5+2])/t.display.scale];H[0]+=t.cropData.x/t.display.scale,H[1]+=t.cropData.y/t.display.scale;let q=t.x*this.lastKnownScale,st=t.y*this.lastKnownScale,et=[n+q,i+st,a,r];et[0]+=q,et[1]+=st,this.ctx.drawImage(z,H[0],H[1],H[2],H[3],et[0],et[1],et[2]+1,et[3]+1)}}else H8?this.ctx.drawImage(z,0,0,t.display.points[e*5+3]-t.display.points[e*5+1],t.display.points[e*5+4]-t.display.points[e*5+2],n,i,a+1,r+1):this.ctx.drawImage(z,0,0,t.display.points[e*5+3]-t.display.points[e*5+1],t.display.points[e*5+4]-t.display.points[e*5+2],n,i,a+Number.MIN_VALUE+.5,r+Number.MIN_VALUE+.5)}}catch{}finally{m&&this.ctx.restore(),this.ctx.globalAlpha=l}}let f=t instanceof Ed&&this.options.box,h=t instanceof dR&&this.options.polygon;if((f||h)&&!t.props.className&&!t.props.html&&!t.props.href){if(this.visible.push(t),t.props.style){let d=Object.assign({},t.props.style||{},t.hovering?t.props.hoverStyles:{},t.pressing?t.props.pressStyles:{}),m=t.props.relativeStyle?1:a/t.width,y=d.opacity===void 0?1:d.opacity;this.ctx.globalAlpha=l*y*u;let g=0;d.borderWidth!==void 0&&(g=parseInt(d.borderWidth,10)*m);let b=0;d.outlineWidth!==void 0&&(b=parseInt(d.outlineWidth,10)*m);let T=0;if(d.outlineOffset!==void 0&&(T=parseInt(d.outlineOffset,10)*m),d.borderColor&&(this.ctx.strokeStyle=d.borderColor),d.boxShadow){let C=d.boxShadow.split(/,(?![^(]*\))/);for(let x of C){let w=$L[x]||JL.exec(x)||JL.exec(x);$L[x]=w,w&&(this.ctx.save(),this.ctx.shadowOffsetX=parseInt(w[1])*this.dpi*m,this.ctx.shadowOffsetY=parseInt(w[3])*this.dpi*m,this.ctx.shadowBlur=parseInt(w[5])*this.dpi*m,this.ctx.shadowColor=w[9],this.ctx.fillStyle="rgba(0,0,0,1)",this.ctx.fillRect(n+g,i+g,a,r),this.ctx.restore())}}if(this.ctx.fillStyle=d.backgroundColor||"transparent",this.ctx.lineWidth=g,h){let C=t.shape,x=C.points||[],w=x.length;this.ctx.beginPath();for(let R=0;R<w;R++)this.ctx.lineTo(n+x[R][0]*this.lastKnownScale,i+x[R][1]*this.lastKnownScale);C.open||this.ctx.closePath(),g&&this.ctx.stroke(),C.open||this.ctx.fill()}else g&&this.ctx.strokeRect(n+g/2,i+g/2,a+g,r+g),this.ctx.fillRect(n+g,i+g,a,r);b&&(d.outlineColor&&(this.ctx.strokeStyle=d.outlineColor),this.ctx.lineWidth=b,this.ctx.strokeRect(n-b/2-T,i-b/2-T,a+g*2+b+T*2,r+g*2+b+T*2))}this.ctx.globalAlpha=l}}schedulePaintToCanvas(t,e,n,i,a=!1){let r=this.getTileState(t,n),l=performance.now(),u=this.getTileKey(e,n);if(this.markTileRequired(u,a),this.pendingTileReveals.delete(u),r.nextRetryAt&&r.nextRetryAt>l||r.state==="queued"||r.state==="loading"||r.state==="decoded")return!1;let f=`${e.id}--${e.display.scale}-${n}`,h=this.nextRequestKey(u);t.canvases[n]=f;let d=this.invalidated.indexOf(f);return d!==-1&&this.invalidated.splice(d,1),this.setTileState(t,n,{...r,state:"queued",requestedAt:l,error:void 0,lastRequestKey:h,cancelledAt:void 0,skipFade:!1}),this.loadingQueueOrdered=!1,this.loadingQueue.push({id:f,scale:e.display.scale,kind:"network",tileKey:u,requestKey:h,network:!0,distance:i,paint:e,index:n,prefetch:a,task:async()=>{let m=this.getTileState(t,n);if(m.lastRequestKey!==h||m.state!=="queued"&&m.state!=="loading")return;let y=this.visible.indexOf(e)!==-1,g=this.previousVisible.indexOf(e)!==-1;if(!a&&!y&&!g){this.setTileState(t,n,{...m,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(u);return}let b=e.getImageUrl(n);this.setTileState(t,n,{...m,state:"loading",url:b,requestedAt:m.requestedAt||performance.now(),error:void 0});try{let T=`${u}::${h}`,C=this.imageRequestPool.acquire(b,T);this.inFlightImageLoads.set(u,{tileKey:u,requestKey:h,url:b,consumerId:T,paint:e,imageBuffer:t,index:n,release:C.release});let x=await C.promise;this.releaseInFlightTileLoad(u,{silent:!0});let w=this.getTileState(t,n);if(w.lastRequestKey!==h||w.state!=="loading")return;this.loadingQueueOrdered=!1,this.loadingQueue.push({id:`${f}--decode`,scale:e.display.scale,kind:"decode",tileKey:u,requestKey:h,distance:i,paint:e,index:n,prefetch:a,task:()=>new Promise(R=>{let E=this.getTileState(t,n);if(E.lastRequestKey!==h||E.state!=="loading"){R();return}let M=e.display.points.slice(n*5,n*5+5),z=document.createElement("canvas"),I=z.getContext("2d");z.width=M[3]-M[1],z.height=M[4]-M[2],this.hostCache.set(t.canvases[n],z),this.drawCalls.push(()=>{let L=this.getTileState(t,n);if(L.lastRequestKey!==h||L.state!=="loading"){R();return}I.drawImage(x,0,0,M[3]-M[1],M[4]-M[2]);let H=this.getTileState(t,n);this.setTileState(t,n,{...H,state:"decoded",loadedAt:void 0,error:void 0,attempts:0,nextRetryAt:void 0}),this.enqueueTileReveal(u,t,n),this.imagesLoaded++,R()})})})}catch(T){if(this.releaseInFlightTileLoad(u,{silent:!0}),B3(T)){let E=this.getTileState(t,n);E.lastRequestKey===h&&this.setTileState(t,n,{...E,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(u);return}let C=this.getTileState(t,n);if(C.lastRequestKey!==h)return;let x=(C.attempts||0)+1,w=x<this.imageLoadingConfig.maxAttempts,R=w?performance.now()+D3(this.imageLoadingConfig,x):performance.now()+this.imageLoadingConfig.errorRetryIntervalMs;this.setTileState(t,n,{...C,state:w?"idle":"error",error:T,attempts:x,nextRetryAt:R}),this.pendingTileReveals.delete(u),this.emitImageError({severity:"recoverable",imageUrl:b,contentId:e.id,tileIndex:n,attempt:x,maxAttempts:this.imageLoadingConfig.maxAttempts,willRetry:w,nextRetryAt:R,error:T})}}}),!0}afterPaintLayer(t,e){}prepareLayer(t,e){if(this.hasActiveLayerClip=!1,t.__owner.value&&(t.cropData&&this.lastKnownScale*(1/t.display.scale),this.applyTransform(t,e[1],e[2],e[3]-e[1],e[4]-e[2])),this.shouldClipLayerToBounds(t)){let n=this.getBoundsFromPoints(e);n&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.rect(n.x,n.y,n.width,n.height),this.ctx.clip(),this.hasActiveLayerClip=!0)}(!t.__host||!t.__host.canvas)&&(t instanceof yi||t instanceof Ei)&&this.createImageHost(t)}finishLayer(){this.hasActiveLayerClip&&(this.ctx.restore(),this.hasActiveLayerClip=!1),this.lastPaintedObject&&this.clearTransform()}createImageHost(t){t.__host=t.__host?t.__host:{},t.__host.canvas={canvas:void 0,canvases:[],tiles:{},indices:[],loaded:[],loading:!1}}getPointsAt(t,e,n,i){return t.getPointsAt(e,n,i)}getViewportBounds(t,e,n){let i=t.getActiveZone();if(i){i.recalculateBounds();let a=z3(e,i.points,n);if(a){let r=e[3]-e[1],l=e[4]-e[2];return{x1:a.minX,y1:a.minY,x2:a.maxX+r,y2:a.maxY+l}}}return null}pendingUpdate(){this.imagesPending=this.loadingQueue.length+this.tasksRunning+this.inFlightImageLoads.size+this.pendingTileReveals.size;let t=!this.pendingDrawCall&&this.drawCalls.length===0&&this.loadingQueue.length===0&&this.tasksRunning===0&&this.inFlightImageLoads.size===0&&this.pendingTileReveals.size===0;return!t&&this.visible.length===0&&this.options.readiness!=="immediate"&&this.fallbackRevealTimeout===null&&(this.fallbackRevealTimeout=setTimeout(()=>{this.canvas.style.opacity="1",this.firstMeaningfulPaint=!0,this.fallbackRevealTimeout=null},500)),!this.firstMeaningfulPaint&&t&&(this.visible.length||this.options.readiness==="immediate")?(this.canvas.style.opacity="1",this.firstMeaningfulPaint=t,!0):this.options.debug||this.hasTilesFading?!0:!t}getRendererScreenPosition(){return this.rendererPosition}resetReadyState(){this.options.readiness!=="immediate"&&(this.firstMeaningfulPaint=!1,this.fallbackRevealTimeout&&(clearTimeout(this.fallbackRevealTimeout),this.fallbackRevealTimeout=null))}reset(){this.loadingQueue=[],this.drawCalls=[],this._scheduled&&(clearInterval(this._scheduled),this._scheduled=0);for(let t of[...this.inFlightImageLoads.keys()])this.releaseInFlightTileLoad(t,{silent:!0});this.imageRequestPool.cancelAll({silent:!0}),this.inFlightImageLoads.clear(),this.requiredTileKeys.clear(),this.requiredPrefetchTileKeys.clear(),this.pendingTileReveals.clear(),this.requestGeneration+=1,this.frameCounter=0,this.fallbackRevealTimeout&&(clearTimeout(this.fallbackRevealTimeout),this.fallbackRevealTimeout=null),this.imagesPending=0,this.imagesLoaded=0,this.hasTilesFading=!1}},V3=class{constructor(t){A(this,"renderers",[]),A(this,"length",void 0);for(let e of t)e&&this.renderers.push(e);this.length=this.renderers.length}afterFrame(t,e,n,i){for(let a=0;a<this.length;a++)this.renderers[a].afterFrame(t,e,n,i)}afterPaintLayer(t,e){for(let n=0;n<this.length;n++)this.renderers[n].afterPaintLayer(t,e)}beforeFrame(t,e,n,i){for(let a=0;a<this.length;a++)this.renderers[a].beforeFrame(t,e,n,i)}triggerResize(){for(let t=0;t<this.length;t++){let e=this.renderers[t];e.triggerResize&&e.triggerResize()}}getPointsAt(t,e,n,i){return this.renderers[0].getPointsAt(t,e,n,i)}getScale(t,e){return this.renderers[0].getScale(t,e)}getViewportBounds(t,e,n){return this.renderers[0].getViewportBounds(t,e,n)}getRendererScreenPosition(){return this.renderers[0].getRendererScreenPosition()}isReady(){for(let t=0;t<this.length;t++)if(!this.renderers[t].isReady())return!1;return!0}paint(t,e,n,i,a,r){for(let l=0;l<this.length;l++)this.renderers[l].paint(t,e,n,i,a,r)}pendingUpdate(){for(let t=0;t<this.length;t++)if(this.renderers[t].pendingUpdate())return!0;return!1}prepareLayer(t,e){for(let n=0;n<this.length;n++)this.renderers[n].prepareLayer(t,e)}finishLayer(t,e){for(let n=0;n<this.length;n++)this.renderers[n].finishLayer(t,e)}resize(t,e){for(let n=0;n<this.length;n++)this.renderers[n].resize(t,e)}reset(){for(let t=0;t<this.length;t++)this.renderers[t].reset()}resetReadyState(){for(let t=0;t<this.length;t++)this.renderers[t].resetReadyState&&this.renderers[t].resetReadyState()}},V8=class extends Yr{constructor(...t){super(...t),A(this,"type","spacial-content")}getAllPointsAt(t,e,n){return[[this,this.points,e]]}},fR=class extends V8{constructor(t){super(),A(this,"id",void 0),A(this,"display",void 0),A(this,"points",void 0),A(this,"images",[]),A(this,"allImages",[]),A(this,"scaleFactors",[]),A(this,"aggregateBuffer",It(9)),A(this,"lazyLoader",void 0),A(this,"isFullyLoaded",!1),A(this,"isLoadingFullResource",!1),A(this,"maxScaleFactor",0),A(this,"layerSelection",new WeakMap),A(this,"layerSelectionFrame",0),A(this,"renderOptions",void 0),A(this,"_scheduleSortByScales",!1),A(this,"_sortByScales",()=>{this._scheduleSortByScales=!1,this.allImages.sort((n,i)=>i.display.width-n.display.width),this.images=[];let e=.1;for(let n of this.allImages)if(!(n.display.width<this.renderOptions.minSize&&n.display.height<this.renderOptions.minSize&&!n.priority)&&!(n instanceof yi&&(n.display.width>this.renderOptions.maxImageSize||n.display.height>this.renderOptions.maxImageSize)&&!n.priority)){if(Math.abs(n.display.scale-e)<.25||n.priority){let i=this.images.pop();i&&(i instanceof yi||i.priority)?(n.priority&&this.images.push(n),this.images.push(i)):n&&this.images.push(n)}else n&&this.images.push(n);e=n.display.scale}this.images.length===0&&(this.images=[...this.allImages]),this.scaleFactors=this.images.map(n=>n.display.scale),this.maxScaleFactor=this.scaleFactors.length?Math.max(...this.scaleFactors):0}),A(this,"loadFullResource",async()=>{if(!(this.isFullyLoaded||this.isLoadingFullResource)&&this.lazyLoader){this.isLoadingFullResource=!0;try{let e=await this.lazyLoader();this.addImages(e||[]),this.isFullyLoaded=!0}finally{this.isLoadingFullResource=!1}}}),A(this,"fallback",[this.loadFullResource]),this.id=t.id,this.points=de.singleBox(t.width,t.height),this.lazyLoader=t.loadFullImages,t.loadFullImages||(this.isFullyLoaded=!0),this.display={x:0,y:0,points:de.singleBox(t.width,t.height),height:t.height,width:t.width,scale:1},this.renderOptions={renderSmallestFallback:!0,renderLayers:2,minSize:255,maxImageSize:2048,quality:1.3,useDevicePixelRatio:!0,layerPolicy:"always-blend",loadingBias:"balanced",prefetchRadius:1,fadeInMs:300,fadeFallbackTiles:!1,fadeOnLayerChange:!1,clipToBounds:!1,...t.renderOptions||{}},this.addImages(t.images)}applyProps(t){let e=!1;t.renderSmallestFallback!==void 0&&t.renderSmallestFallback!==this.renderOptions.renderSmallestFallback&&(this.renderOptions.renderSmallestFallback=t.renderSmallestFallback),t.renderLayers!==void 0&&t.renderLayers!==this.renderOptions.renderLayers&&(this.renderOptions.renderLayers=t.renderLayers),t.minSize!==void 0&&t.minSize!==this.renderOptions.minSize&&(this.renderOptions.minSize=t.minSize,e=!0),t.maxImageSize!==void 0&&t.maxImageSize!==this.renderOptions.maxImageSize&&(this.renderOptions.maxImageSize=t.maxImageSize,e=!0),t.quality!==void 0&&t.quality!==this.renderOptions.quality&&(this.renderOptions.quality=t.quality),t.useDevicePixelRatio!==void 0&&t.useDevicePixelRatio!==this.renderOptions.useDevicePixelRatio&&(this.renderOptions.useDevicePixelRatio=t.useDevicePixelRatio),t.layerPolicy!==void 0&&t.layerPolicy!==this.renderOptions.layerPolicy&&(this.renderOptions.layerPolicy=t.layerPolicy),t.loadingBias!==void 0&&t.loadingBias!==this.renderOptions.loadingBias&&(this.renderOptions.loadingBias=t.loadingBias),t.prefetchRadius!==void 0&&t.prefetchRadius!==this.renderOptions.prefetchRadius&&(this.renderOptions.prefetchRadius=t.prefetchRadius),t.fadeInMs!==void 0&&t.fadeInMs!==this.renderOptions.fadeInMs&&(this.renderOptions.fadeInMs=t.fadeInMs),t.fadeFallbackTiles!==void 0&&t.fadeFallbackTiles!==this.renderOptions.fadeFallbackTiles&&(this.renderOptions.fadeFallbackTiles=t.fadeFallbackTiles),t.fadeOnLayerChange!==void 0&&t.fadeOnLayerChange!==this.renderOptions.fadeOnLayerChange&&(this.renderOptions.fadeOnLayerChange=t.fadeOnLayerChange),t.clipToBounds!==void 0&&t.clipToBounds!==this.renderOptions.clipToBounds&&(this.renderOptions.clipToBounds=t.clipToBounds),e&&this.sortByScales()}appendChild(t){this.addImages([t])}removeChild(t){if(this.images.indexOf(t)===-1&&this.allImages.indexOf(t)===-1)return;let e=this.getImageDedupeKey(t);this.images=this.images.filter(n=>n!==t&&this.getImageDedupeKey(n)!==e),this.allImages=this.allImages.filter(n=>n!==t&&this.getImageDedupeKey(n)!==e),this.sortByScales()}insertBefore(t,e){this.addImages([t])}hideInstance(){}addImages(t){let e=new Set(this.allImages),n=new Set(this.allImages.map(i=>this.getImageDedupeKey(i)));for(let i of t){if(!i||e.has(i))continue;let a=this.getImageDedupeKey(i);n.has(a)||(i.__parent=this,i.__owner=this.__owner,this.allImages.push(i),e.add(i),n.add(a))}this.sortByScales()}getImageDedupeKey(t){return`${t.id}::${t.display.scale}`}sortByScales(){this._scheduleSortByScales=!0}getScheduledUpdates(t,e){return this._scheduleSortByScales?[this._sortByScales]:this.isFullyLoaded?[]:e>1/this.maxScaleFactor?this.fallback:[]}getAllPointsAt(t,e,n){if(this.images.length===0)return[];let i=this.renderOptions.useDevicePixelRatio&&typeof window<"u"&&window.devicePixelRatio||1,a=T8(1/(n||1)/i,this.images,this.renderOptions.quality),r=this.images.length,l=e?Dr(e,di(this.x,this.y)):di(this.x,this.y),u=[a];if(a!==this.images.length-1&&this.images[a+1]){u=[];for(let b=r-1;b>=a;b--)u.push(b);let g=u[0];this.renderOptions.renderLayers&&(u=u.slice(-Math.min(u.length,this.renderOptions.renderLayers))),this.renderOptions.renderSmallestFallback&&u.indexOf(g)===-1&&u.unshift(g)}u.sort((g,b)=>{let T=this.images[g],C=this.images[b],x=T?T.display.scale:0;return(C?C.display.scale:0)-x});let f=new Set;switch(this.renderOptions.layerPolicy){case"always-blend":for(let g of u)f.add(g);break;case"active-only":f.add(a),u=[a];break;case"fallback-only":default:f.add(a),this.renderOptions.renderSmallestFallback&&u.length&&f.add(u[0]);break}let h=new Set;for(let g of f){let b=this.images[g];b&&h.add(b)}this.layerSelectionFrame+=1;let d=this.getNow(),m=d-Math.max(0,this.renderOptions.fadeInMs);for(let g of this.allImages){let b=this.layerSelection.get(g);if(!h.has(g)){this.layerSelection.set(g,{active:!1,frame:this.layerSelectionFrame});continue}let T=!!b&&b.frame===this.layerSelectionFrame-1,C=T&&b.active;this.layerSelection.set(g,{active:!0,frame:this.layerSelectionFrame,activatedAt:C&&typeof b.activatedAt=="number"?b.activatedAt:T?d:m})}let y=[];for(let g=0;g<u.length;g++){let b=u[g],T=this.images[b];y.push(...T.getAllPointsAt(t,l,n))}return y}isImageActive(t){let e=this.layerSelection.get(t);return!!e&&e.frame===this.layerSelectionFrame&&e.active}getImageActivatedAt(t){let e=this.layerSelection.get(t);if(!(!e||e.frame!==this.layerSelectionFrame||!e.active))return e.activatedAt}getNow(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}},Dv=class extends Yr{constructor(t){if(super(),A(this,"type","spacial-content"),A(this,"id",void 0),A(this,"uri",void 0),A(this,"display",void 0),A(this,"points",void 0),A(this,"getTexture",void 0),this.getTexture=()=>({source:void 0,hash:-1}),!t)this.id="",this.uri="",this.display={x:0,y:0,scale:1,width:0,height:0,points:It(5)},this.points=It(5);else{let e=t.scale||1;this.id=t.id||t.uri,this.uri=t.uri,this.points=de.singleBox(t.width,t.height),this.display={x:0,y:0,scale:e,width:t.width/e,height:t.height/e,points:e===1?this.points:de.singleBox(t.width/e,t.height/e)}}}applyProps(t){let e=t.display?t.display.width:t.target.width,n=t.target.width/e;this.id=t.id,this.points.set(de.singleBox(t.target.width,t.target.height)),this.display.scale=n,this.display.width=t.target.width/n,this.display.height=t.target.height/n,this.getTexture=t.getTexture,this.display.points=n===1?this.points:de.singleBox(t.target.width/n,t.target.height/n)}getAllPointsAt(t,e,n){return[[this,this.points,e]]}},Tv=85.05112878;function yr(t,e){if(!Number.isFinite(t))throw Error(`${e} must be a finite number`)}function t3(t,e){if(yr(t,e),t<=0)throw Error(`${e} must be greater than 0`)}function U8(t){if(!Number.isFinite(t))throw Error("Latitude must be a finite number");return t>Tv?Tv:t<-Tv?-Tv:t}function Pv(t){if(yr(t.west,"Map bounds west"),yr(t.south,"Map bounds south"),yr(t.east,"Map bounds east"),yr(t.north,"Map bounds north"),t.west<-180||t.west>180)throw Error("Map bounds west must be within [-180, 180]");if(t.east<-180||t.east>180)throw Error("Map bounds east must be within [-180, 180]");if(t.south<-90||t.south>90)throw Error("Map bounds south must be within [-90, 90]");if(t.north<-90||t.north>90)throw Error("Map bounds north must be within [-90, 90]");if(t.west>=t.east)throw Error("Map bounds must satisfy west < east (antimeridian crossing is not supported)");if(t.south>=t.north)throw Error("Map bounds must satisfy south < north");return t}function zv(t){if(!Number.isFinite(t))throw Error("Longitude must be a finite number");return(t+180)/360}function Iv(t){let e=U8(t)*Math.PI/180;return(1-Math.log(Math.tan(e)+1/Math.cos(e))/Math.PI)/2}function U3(t){if(!Number.isFinite(t))throw Error("Mercator X must be a finite number");return t*360-180}function q3(t){if(!Number.isFinite(t))throw Error("Mercator Y must be a finite number");let e=Math.PI*(1-2*t);return 180/Math.PI*Math.atan(Math.sinh(e))}function e3(t,e){return zv(t)*2**e}function n3(t,e){return Iv(t)*2**e}function i3(t,e){return U3(t/2**e)}function a3(t,e){return q3(t/2**e)}function q8(t){let e=Pv(t.bounds);t3(t.width,"Map world width"),t3(t.height,"Map world height");let n=zv(e.west),i=zv(e.east),a=Iv(e.north),r=Iv(e.south),l=i-n,u=r-a;if(!(l>0))throw Error("Map bounds produce an invalid mercator X span");if(!(u>0))throw Error("Map bounds produce an invalid mercator Y span");let f=(d,m)=>{let y=zv(d),g=Iv(m);return{x:(y-n)/l*t.width,y:(g-a)/u*t.height}},h=(d,m)=>{yr(d,"World x"),yr(m,"World y");let y=n+d/t.width*l,g=a+m/t.height*u;return{lng:U3(y),lat:q3(g)}};return{lngLatToWorld:f,worldToLngLat:h,lngLatBoundsToWorldRect:d=>{Pv(d);let m=f(d.west,d.north),y=f(d.east,d.south);return{x:m.x,y:m.y,width:y.x-m.x,height:y.y-m.y}},worldRectToLngLatBounds:d=>{yr(d.x,"World rect x"),yr(d.y,"World rect y"),yr(d.width,"World rect width"),yr(d.height,"World rect height");let m=h(d.x,d.y),y=h(d.x+d.width,d.y+d.height);return{west:m.lng,south:y.lat,east:y.lng,north:m.lat}},projectRing:d=>{let m=[];for(let[y,g]of d){let b=f(y,g);m.push([b.x,b.y])}return m}}}var j3="https://tile.openstreetmap.org/{z}/{x}/{y}.png";function j8(t){if(t.s)return t.s;let e=t.subdomains||[];if(e.length!==0)return e[Math.abs(t.x+t.y+t.z)%e.length]}function k8(t,e){let n=j8(e)||"";return t.replace(/\{z\}/g,`${e.z}`).replace(/\{x\}/g,`${e.x}`).replace(/\{y\}/g,`${e.y}`).replace(/\{s\}/g,n)}function G8(t,e){let n=t||j3;return typeof n=="function"?n(e):k8(n,e)}function Xs(t,e,n){return Math.min(n,Math.max(e,t))}function Y8(t){Pv(t.bounds);let e=Math.max(0,Math.floor(t.zoom)),n=2**e,i=n-1,a=e3(t.bounds.west,e),r=e3(t.bounds.east,e),l=n3(t.bounds.north,e),u=n3(t.bounds.south,e),f=Xs(a,0,n),h=Xs(r,0,n),d=Xs(l,0,n),m=Xs(u,0,n),y=Math.max(1e-9,h-f),g=Math.max(1e-9,m-d),b=Xs(Math.floor(a),0,i),T=Xs(Math.ceil(r)-1,0,i),C=Xs(Math.floor(l),0,i),x=Xs(Math.ceil(u)-1,0,i),w=Math.max(1,T-b+1),R=Math.max(1,x-C+1);return{columns:w,rows:R,count:w*R,minTileX:b,maxTileX:T,minTileY:C,maxTileY:x,westTile:f,eastTile:h,northTile:d,southTile:m,tileSpanX:y,tileSpanY:g}}function X8(t){Pv(t.bounds);let e=Math.max(0,Math.floor(t.zoom)),n=q8({bounds:t.bounds,width:t.worldWidth,height:t.worldHeight}),i=Y8({bounds:t.bounds,zoom:e}),a=typeof t.maxTiles=="number"?t.maxTiles:1/0;if(i.count>a)throw Error(`Map tile grid too large at zoom ${e}: ${i.count} tiles exceeds the configured max (${a})`);let r=[],l=[];for(let u=i.minTileY;u<=i.maxTileY;u++)for(let f=i.minTileX;f<=i.maxTileX;f++){let h=i3(f,e),d=i3(f+1,e),m=a3(u,e),y=a3(u+1,e),g=n.lngLatToWorld(h,m),b=n.lngLatToWorld(d,y);r.push(1,g.x,g.y,b.x,b.y),l.push({x:f,y:u,z:e})}return{points:It(r.length?r:[0]),tiles:l,columns:i.columns,rows:i.rows,count:i.count,minTileX:i.minTileX,maxTileX:i.maxTileX,minTileY:i.minTileY,maxTileY:i.maxTileY}}var Q8=class extends Ei{constructor(t){let e=t.scaleFactor||1,n=t.tileSize||256,i=t.tileSource||t.tileUrlTemplate||j3,a=X8({bounds:t.bounds,zoom:t.zoom,worldWidth:t.worldWidth,worldHeight:t.worldHeight}),r=t.id||`map-tiled-image-z${t.zoom}-${t.worldWidth}x${t.worldHeight}-${a.minTileX}:${a.maxTileX}-${a.minTileY}:${a.maxTileY}`;super({id:r,url:"map://tile-source",scaleFactor:e,points:a.points,displayPoints:a.points,tileWidth:n,tileHeight:n,width:t.worldWidth,height:t.worldHeight,columns:a.columns,rows:a.rows,format:"png",version3:!1}),A(this,"zoom",void 0),A(this,"bounds",void 0),A(this,"worldWidth",void 0),A(this,"worldHeight",void 0),A(this,"tileSize",void 0),A(this,"tileSource",void 0),A(this,"subdomains",void 0),A(this,"tileCoordinates",void 0),A(this,"minTileX",void 0),A(this,"maxTileX",void 0),A(this,"minTileY",void 0),A(this,"maxTileY",void 0),this.zoom=Math.max(0,Math.floor(t.zoom)),this.bounds={...t.bounds},this.worldWidth=t.worldWidth,this.worldHeight=t.worldHeight,this.tileSize=n,this.tileSource=i,this.subdomains=[...t.subdomains||[]],this.tileCoordinates=a.tiles,this.minTileX=a.minTileX,this.maxTileX=a.maxTileX,this.minTileY=a.minTileY,this.maxTileY=a.maxTileY}getImageUrl(t){let e=this.tileCoordinates[t];return e?G8(this.tileSource,{z:e.z,x:e.x,y:e.y,tileSize:this.tileSize,subdomains:this.subdomains}):""}},K8=class{constructor(t){A(this,"canvas",void 0),A(this,"context",void 0),A(this,"heightRatio",1),A(this,"widthRatio",1),A(this,"target",new Float32Array(5)),A(this,"initialWidth",void 0),A(this,"initialHeight",void 0),A(this,"bounds",void 0),A(this,"aggregate",void 0),A(this,"delta",0),A(this,"renderNextFrame",!0),this.canvas=t,this.initialWidth=t.width,this.initialHeight=t.height,this.context=t.getContext("2d"),this.context.globalAlpha=.5,this.aggregate=go(1)}isReady(){return!0}resize(){this.initialWidth=this.canvas.width,this.initialHeight=this.canvas.height,this.renderNextFrame=!0}afterFrame(t,e,n){if(this.renderNextFrame){this.context.clearRect(0,0,this.canvas.width,this.canvas.height);let i=this.initialWidth/t.width,a=this.initialHeight/t.height,r=this.widthRatio>this.heightRatio?i:a;if(this.target=n,this.bounds){let l=t.getPointsAt(this.bounds,this.aggregate,r);for(let[u,f]of l)if(u instanceof yi&&u.__host.canvas){let h=f.length/5;for(let d=0;d<h;d++)u.__host.canvas.canvases[d]&&(f[d+1]*r,f[d+2]*r,(f[d+3]-f[d+1])*r,(f[d+4]-f[d+2])*r)}}t.getPoints().forEach((l,u,f)=>{if(u%5==0&&l){let h={x1:f[u+1]*r,y1:f[u+2]*r,x2:f[u+3]*r,y2:f[u+4]*r,width:(f[u+3]-f[u+1])*r,height:(f[u+4]-f[u+2])*r};this.context.strokeStyle="red",this.context.strokeRect(h.x1,h.y1,h.width,h.height)}}),n&&(this.context.strokeStyle="red",this.context.lineWidth=window.devicePixelRatio||1,this.context.strokeRect(n[1]*r,n[2]*r,(n[3]-n[1])*r,(n[4]-n[2])*r))}}getActiveZone(t){return null}getPointsAt(t,e,n,i){return t.getPointsAt(e,n,i)}getScale(t,e){return 1}beforeFrame(t,e){this.bounds=de.singleBox(t.width,t.height)}drawImage(){}afterPaintLayer(t,e){}paint(t,e,n,i,a,r){this.renderNextFrame=!0}prepareLayer(t){}pendingUpdate(){return!1}hasActiveZone(){return!1}getViewportBounds(t,e,n){return null}getRendererScreenPosition(){return this.canvas.getBoundingClientRect()}finishLayer(){}reset(){}};function Rv(t,e,n,i,a){let r=Math.PI/180*a,l=Math.cos(r),u=Math.sin(r);return[l*(n-t)+u*(i-e)+t,l*(i-e)-u*(n-t)+e]}var Ho=class k3 extends Yr{constructor(e,n){super(),A(this,"id",void 0),A(this,"type","world-object"),A(this,"scale",void 0),A(this,"layers",void 0),A(this,"points",void 0),A(this,"worldPoints",void 0),A(this,"intersectionBuffer",It(5)),A(this,"aggregateBuffer",It(9)),A(this,"invertedBuffer",It(9)),A(this,"rotation",0),A(this,"filteredPointsBuffer",void 0),A(this,"_updatedList",[]),A(this,"geometry",void 0);let{x:i=0,y:a=0}=n||{};e?(this.id=e.id||"",this.scale=1,this.layers=e.layers,this.points=It([1,i,a,i+e.width,a+e.height]),this.worldPoints=It([1,i,a,i+e.width,a+e.height]),this.filteredPointsBuffer=It(e.layers.length*5)):(this.id="",this.scale=1,this.layers=[],this.points=It(5),this.worldPoints=It(5),this.filteredPointsBuffer=It(5))}static createWithProps(e){let n=new k3;return n.applyProps(e),n}applyProps(e){let n=e.x||0,i=e.y||0;e.id!==void 0&&(this.id=e.id);let a=e.scale===void 0?this.scale:e.scale;this.points[0]=1,this.points[1]=n,this.points[2]=i,this.points[3]=n+e.width,this.points[4]=i+e.height,this.rotation=e.rotation||0,this.worldPoints[3]=this.worldPoints[1]+e.width,this.worldPoints[4]=this.worldPoints[2]+e.height,e.scale&&e.scale!==1&&this.atScale(a),this.scale=a}appendChild(e){e.points[0]===0&&e.points.set(this.points),e.__owner.value=this,this.addLayers([e])}removeChild(e){this.layers=this.layers.filter(n=>n!==e),this.filteredPointsBuffer=It(this.layers.length*5)}insertBefore(e,n){let i=this.layers.indexOf(n);if(i===-1||this.layers.indexOf(e)!==-1)return;let a=this.layers.slice(0,i),r=this.layers.slice(i);this.layers=[...a,e,...r]}hideInstance(){console.warn("hideInstance: not yet implemented")}getObjectsAt(e,n){if(this.rotation&&(e=this.applyRotation(e)),_c(this.points,e,this.filteredPointsBuffer)[0]===0)return[];let i=this.layers.length,a=[];for(let r=0;r<i;r++){let l=this.layers[r];if(n&&l.isShape){let u=Qi(l.points,di(this.x,this.y));if(!l.intersects([e[1]-u[1],e[2]-u[2]]))continue}if(_c(Qi(l.points,di(this.x,this.y)),e,this.filteredPointsBuffer)[0]!==0&&a.push(l),n){let u=l;a.push(...u.getObjectsAt(e,n))}}return a}applyRotation(e){if(this.rotation){let n={x:e[1],y:e[2]},i={x:e[1],y:e[4]},a={x:e[3],y:e[2]},r={x:e[3],y:e[4]},l=this.points[1]+(this.points[3]-this.points[1])/2,u=this.points[2]+(this.points[4]-this.points[2])/2,[f,h]=Rv(l,u,n.x,n.y,this.rotation),[d,m]=Rv(l,u,i.x,i.y,this.rotation),[y,g]=Rv(l,u,a.x,a.y,this.rotation),[b,T]=Rv(l,u,r.x,r.y,this.rotation),C=Math.min(f,d,y,b),x=Math.max(f,d,y,b),w=Math.min(h,m,g,T),R=Math.max(h,m,g,T);return It([e[0],C,w,x,R])}return e}getAllPointsAt(e,n,i){let a=Dr(di(this.x,this.y),go(this.scale),this.aggregateBuffer);this.rotation&&(e=this.applyRotation(e));let r=AO(e,this.points,this.intersectionBuffer),l=this.layers.length,u=[],f=Qi(r,Dr(go(1/this.scale),di(-this.x,-this.y),this.invertedBuffer)),h=n?Dr(n,a,this.aggregateBuffer):a,d=i*this.scale;for(let m=0;m<l;m++)u.push(...this.layers[m].getAllPointsAt(f,h,d));return u}addLayers(e){let n=[];for(let i of e)this.layers.indexOf(i)===-1&&(n.push(i),i.points.length===5&&(i.points[1]<this.worldPoints[1]/this.scale||i.points[2]<this.worldPoints[2]/this.scale||i.points[3]>this.worldPoints[3]/this.scale||i.points[4]>this.worldPoints[4]/this.scale)&&(i.crop=i.crop||It([1,Math.max(this.worldPoints[1]/this.scale,i.points[1]),Math.max(this.worldPoints[2]/this.scale,i.points[2]),Math.min(this.worldPoints[3]/this.scale,i.points[3]),Math.min(this.worldPoints[4]/this.scale,i.points[4])])));this.layers=this.layers.concat(n),this.filteredPointsBuffer=It(this.layers.length*5)}getScheduledUpdates(e,n){let i=this.layers.length;this._updatedList=[];let a=n*this.scale;for(let r=0;r<i;r++){let l=this.layers[r].getScheduledUpdates(e,a);l&&this._updatedList.push(...l)}return this._updatedList}},mu=class G3 extends Yr{get x(){return 0}get y(){return 0}get width(){return this._width}get height(){return this._height}constructor(e=0,n=0,i=100,a="left-to-right"){super(),A(this,"id","world"),A(this,"_width",void 0),A(this,"_height",void 0),A(this,"aspectRatio",void 0),A(this,"viewingDirection",void 0),A(this,"aggregateBuffer",It(9)),A(this,"isDirty",!1),A(this,"zones",[]),A(this,"filteredPointsBuffer",void 0),A(this,"selectedZone",void 0),A(this,"triggerQueue",[]),A(this,"activatedEvents",[]),A(this,"_updatedList",[]),A(this,"translationBuffer",It(9)),A(this,"needsRecalculate",!0),A(this,"emptyPaintables",[]),A(this,"renderOrder",[]),A(this,"debugSubscribers",new Set),A(this,"zoneVisibilityFadeDurationMs",220),A(this,"zoneOutsideOpacity",.2),A(this,"zoneVisibilityFade",void 0),A(this,"points",void 0),A(this,"objects",[]),A(this,"subscriptions",[]),A(this,"_propagateEventTargets",[]),A(this,"_alreadyFlushed",[]),this._width=e,this._height=n,this.aspectRatio=Number.isNaN(e/n)?1:e/n,this.viewingDirection=a,this.points=It(i*5),this.filteredPointsBuffer=It(i*5)}static withProps(e){let n=new G3;return n.applyProps(e),n}applyProps(e){e.width!==void 0&&e.height!==void 0&&(e.width!==this._width||e.height!==this._height)&&this.resize(e.width,e.height),e.viewingDirection!==this.viewingDirection&&(this.viewingDirection=e.viewingDirection,this.triggerRepaint())}propagateTouchEvent(e,n,i){let a=[];for(let r of i)if(r.x&&r.y){let l=de.singleBox(1,1,r.x,r.y);a.push(this.getObjectsAt(l,!0).reverse())}return this.emitDebug({type:"touch",at:performance.now(),event:e,touches:i.length}),a.map(r=>this.propagateEvent(e,n,r,{bubbles:!0,cancelable:!0}))}propagatePointerEvent(e,n,i,a,r={}){let l=de.singleBox(1,1,i,a),u=this.getObjectsAt(l,!0).reverse(),f=this.propagateEvent(e,n,u,r);return this.emitDebug({type:"pointer",at:performance.now(),event:e,x:i,y:a,targets:f.length}),f}propagateEvent(e,n,i,{bubbles:a=!1,cancelable:r=!1}={}){n.atlasTarget=this,this._propagateEventTargets.length=1,this._propagateEventTargets[0]=this;let l=!1;n.stopPropagation=()=>{l=!0};let u=i.length;for(let d=u-1;d>=0;d--){this._propagateEventTargets.unshift(i[d][0]);let m=i[d][1].length;if(m)for(let y=0;y<m;y++)this._propagateEventTargets.unshift(i[d][1][y])}let f=this._propagateEventTargets.length,h=!1;for(let d=0;d<f&&(n.atlasTarget=this._propagateEventTargets[d],n.atlasWorld=this,h=this._propagateEventTargets[d].dispatchEvent(e,n)||h,!l);d++);return h&&this.triggerRepaint(),this._propagateEventTargets}appendChild(e){let n=this.appendWorldObject(e);this.renderOrder.push(n/5)}removeChild(e){let n=this.objects.indexOf(e);if(n===-1){for(let i of this.objects)if(i&&i.id===e.id){this.removeChild(i);return}return}this.objects[n]=null,this.renderOrder=this.renderOrder.filter(i=>i!==n),this.points[n*5]=0;for(let i of this.zones){let a=i.objects.indexOf(e);a!==-1&&(i.objects.splice(a,1),i.recalculateBounds())}this.triggerRepaint(),this.needsRecalculate=!0}insertBefore(e,n){let i=this.objects.indexOf(n);if(i===-1)return;let a=this.appendWorldObject(e);this.renderOrder.splice(i-1,0,a/5)}hideInstance(){}asWorldObject(){return null}addZone(e){this.zones.push(e)}removeZone(e){let n=this.zones.indexOf(e);if(n!==-1&&(this.zones.splice(n,1),this.selectedZone!==void 0)){if(this.selectedZone===n){this.selectedZone=void 0,this.trigger("zone-changed");return}this.selectedZone>n&&--this.selectedZone}}getZoneById(e){for(let n of this.zones)if(n.id===e)return n}hasZone(e){return this.getZoneById(e)!==void 0}selectZone(e){if(typeof e=="string"){let n=this.getZoneById(e);n&&(this.selectedZone=this.zones.indexOf(n),this.zoneVisibilityFade={zoneId:n.id,startedAt:performance.now()},this.trigger("zone-changed"))}else this.zones[e]&&(this.selectedZone=e,this.zoneVisibilityFade={zoneId:this.zones[e].id,startedAt:performance.now()},this.trigger("zone-changed"))}deselectZone(){this.selectedZone=void 0,this.zoneVisibilityFade=void 0,this.trigger("zone-changed")}getActiveZone(){if(this.selectedZone!==void 0)return this.zones[this.selectedZone]}hasActiveZone(){return this.selectedZone!==void 0}checkResizeInternalBuffer(){if(MO(this.points)===this.objects.length){let e=this.points,n=It(this.points.length*2);n.set(e,0),this.points=n}}appendWorldObject(e){this.checkResizeInternalBuffer();let n=this.objects.length*5,i=e.points;return e.points=this.points.subarray(this.objects.length*5,this.objects.length*5+5),e.points[1]=i[1],e.points[2]=i[2],e.points[3]=i[3],e.points[4]=i[4],this.objects.push(e),this.filteredPointsBuffer=It(this.objects.length*5),this.needsRecalculate=!0,this.triggerRepaint(),n}recalculateWorldSize(){let e=!1;if(this.needsRecalculate){let n=new Int32Array(this.objects.length),i=new Int32Array(this.objects.length),a=this.renderOrder.length;for(let u=0;u<a;u++){let f=this.renderOrder[u];this.objects[f]&&(n[u]=this.points[f*5+3],i[u]=this.points[f*5+4])}let r=Math.max(...n);r!==this._width&&(this._width=r,e=!0);let l=Math.max(...i);l!==this._height&&(this._height=l,e=!0),e&&this.trigger("recalculate-world-size",{width:r,height:l}),this.needsRecalculate=!1}return e}addObjectAt(e,n){n.width&&!n.height?n.height=n.width/e.width*e.height:n.height&&!n.width&&(n.width=n.height/e.height*e.width),(!n||!n.width||!n.height)&&(n.width=e.width,n.height=e.height);let{width:i,x:a,y:r}=n,l=i/e.width;this.checkResizeInternalBuffer(),this.points.set(de.singleBox(e.width,e.height,0,0),this.objects.length*5);let u=new Ho(e);return u.points=this.points.subarray(this.objects.length*5,this.objects.length*5+5),this.objects.push(u),this.scaleWorldObject(this.objects.length-1,l),this.translateWorldObject(this.objects.length-1,a,r),this.filteredPointsBuffer=It(this.points.length*2),this.triggerRepaint(),this.needsRecalculate=!0,u}scaleWorldObject(e,n){hr(this.points.subarray(e*5,e*5+5),kl(n,this.points[e*5+1],this.points[e*5+2]));let i=this.objects[e];i&&(i.atScale(n),this.triggerRepaint())}translateWorldObject(e,n,i){hr(this.points.subarray(e*5,e*5+5),di(n,i));let a=this.objects[e];a&&(a.translate(n,i),this.triggerRepaint())}resize(e,n){return this._width=e,this._height=n,this.aspectRatio=e/n,this.triggerRepaint(),this}getObjects(){return this.objects}getPoints(){return this.points}getPointsFromViewer(e,n){let i=de.singleBox(e.width,e.height,e.x,e.y);return this.getPointsAt(i,n,e.scale)}addLayoutSubscriber(e){return this.subscriptions.push(e),()=>{this.subscriptions.splice(this.subscriptions.indexOf(e),1)}}getScheduledUpdates(e,n){let i=_c(this.points,e,this.filteredPointsBuffer),a=this.objects.length;this._updatedList=[];for(let r=0;r<a;r++)if(i[r*5]!==0){if(!this.objects[r])continue;this._updatedList.push(...this.objects[r].getScheduledUpdates(e,n))}return this._updatedList}isZoneOutsideVisibilityFading(e){return!!(this.zoneVisibilityFade&&this.zoneVisibilityFade.zoneId===e.id&&performance.now()-this.zoneVisibilityFade.startedAt<this.zoneVisibilityFadeDurationMs)}getZoneOutsideVisibility(e){let n=this.zoneOutsideOpacity;if(!this.zoneVisibilityFade||this.zoneVisibilityFade.zoneId!==e.id)return n;let i=performance.now()-this.zoneVisibilityFade.startedAt;return i>=this.zoneVisibilityFadeDurationMs?n:1-Math.max(0,Math.min(1,i/this.zoneVisibilityFadeDurationMs))*(1-n)}getObjectsAt(e,n=!1,i=!1){let a=this.getActiveZone(),r=a&&i?this.getZoneOutsideVisibility(a)>0:!1,l=_c(this.points,e,this.filteredPointsBuffer),u=this.renderOrder.length,f=[];for(let h=0;h<u;h++){let d=this.renderOrder[h];if(l[d*5]!==0){let m=this.objects[d],y=!a||a.objects.indexOf(m)!==-1;if(!m||!y&&!r)continue;if(m.type!=="world-object"){f.push([m,[m]]);continue}n?f.push([m,m.getObjectsAt(e,n)]):f.push([m,this.emptyPaintables])}}return f}getPointsAt(e,n,i=1){let a=this.getActiveZone(),r=a?this.getZoneOutsideVisibility(a):0,l=this.getObjectsAt(e,!1,!0),u=Dr(go(i),di(-e[1],-e[2]),this.translationBuffer),f=n?Dr(n,u,this.aggregateBuffer):u,h=l.length,d=[];for(let m=0;m<h;m++)if(l[m]){let y=l[m][0],g=y.getAllPointsAt(e,f,i),b=!a||a.objects.indexOf(y)!==-1?1:r;for(let T=0;T<g.length;T++)g[T][0].__zoneVisibilityAlpha=b;d.push(...g)}return a&&this.isZoneOutsideVisibilityFading(a)&&this.triggerRepaint(),d}flushSubscriptions(){if(this.triggerQueue.length){this._alreadyFlushed=[];let e=this.triggerQueue.length;for(let n=0;n<e;n++){if(this._alreadyFlushed.indexOf(this.triggerQueue[n][0])!==-1)continue;this.triggerQueue[n][1]===void 0&&this._alreadyFlushed.push(this.triggerQueue[n][0]);let i=this.subscriptions.length;for(let a=0;a<i;a++)this.subscriptions[a].apply(null,this.triggerQueue[n])}this.triggerQueue=[]}}trigger(e,n){this.emitDebug({type:"trigger",at:performance.now(),event:e,data:n}),this.triggerQueue.push([e,n])}triggerEventActivation(){this.trigger("event-activation")}triggerRepaint(){this.trigger("repaint")}gotoRegion(e){this.trigger("goto-region",e)}goHome(e=!1,n){this.trigger("go-home",{immediate:e,paddingPx:n})}zoomTo(e,n,i){this.trigger("zoom-to",{point:n,factor:e,stream:i})}zoomIn(e){this.trigger("zoom-to",{point:e,factor:.5})}zoomOut(e){this.trigger("zoom-to",{point:e,factor:2})}constraintBounds(e){this.trigger("constrain-bounds",{immediate:e})}hasPendingAnimation(){return!!(this.zoneVisibilityFade&&performance.now()-this.zoneVisibilityFade.startedAt<this.zoneVisibilityFadeDurationMs)}addDebugSubscriber(e){return this.debugSubscribers.add(e),()=>{this.removeDebugSubscriber(e)}}removeDebugSubscriber(e){this.debugSubscribers.delete(e)}emitDebug(e){if(this.debugSubscribers.size!==0)for(let n of this.debugSubscribers)n(e)}};var Z8={background:"rgba(15, 23, 42, 0.7)",objectFill:"rgba(56, 189, 248, 0.22)",objectStroke:"rgba(56, 189, 248, 0.62)",viewportFill:"rgba(251, 191, 36, 0.22)",viewportStroke:"rgba(250, 204, 21, 1)",viewportLineWidth:2};function XT(t){if(!(typeof t!="number"||!Number.isFinite(t)))return Math.floor(t)}function W8(t,e){if(!t||e<=1)return null;let n=XT(t.total),i=XT(t.before),a=XT(t.after),r=n===void 0?i!==void 0||a!==void 0?Math.max(1,Math.max(0,i||0)+Math.max(0,a||0)+1):9:Math.max(1,n),l=i===void 0?void 0:Math.max(0,i),u=a===void 0?void 0:Math.max(0,a);l===void 0&&u===void 0?(l=Math.floor((r-1)/2),u=r-l-1):l===void 0?l=Math.max(0,r-(u||0)-1):u===void 0&&(u=Math.max(0,r-l-1));let f=l+u+1;return f!==r&&(r=f),r=Math.max(1,Math.min(e,r)),l=Math.min(l,r-1),u=r-l-1,{total:r,before:l,after:u}}function J8(t){let e=[];for(let n=0;n<t.zones.length;n++){let i=t.zones[n];i.recalculateBounds(),i.points[0]!==0&&e.push({zone:i,minX:i.points[1],minY:i.points[2],maxX:i.points[3],maxY:i.points[4]})}return e.sort((n,i)=>n.minY===i.minY?n.minX===i.minX?(n.zone?.id||"").localeCompare(i.zone?.id||""):n.minX-i.minX:n.minY-i.minY),e}function Y3(t,e){let n=W8(e.zoneWindow,t.zones.length);if(!n)return null;let i=J8(t);if(i.length<=n.total)return i;let a=tj(i,e.target)-n.before,r=a+n.total-1;return a<0&&(a=0,r=n.total-1),r>=i.length&&(r=i.length-1,a=Math.max(0,r-n.total+1)),i.slice(a,r+1)}function $8(t){if(!t)return null;if(Array.isArray(t)||ArrayBuffer.isView(t)){let e=t;return e[0]===0?null:{x:(e[1]+e[3])/2,y:(e[2]+e[4])/2}}return{x:t.x+t.width/2,y:t.y+t.height/2}}function tj(t,e){if(t.length===0)return 0;let n=$8(e);if(!n)return 0;for(let r=0;r<t.length;r++){let l=t[r];if(n.x>=l.minX&&n.x<=l.maxX&&n.y>=l.minY&&n.y<=l.maxY)return r}let i=0,a=1/0;for(let r=0;r<t.length;r++){let l=t[r],u=(l.minY+l.maxY)/2,f=Math.abs(n.y-u);f<a&&(a=f,i=r)}return i}function ej(t){if(t.length===0)return null;let e=t[0].minX,n=t[0].minY,i=t[0].maxX,a=t[0].maxY;for(let r=1;r<t.length;r++){let l=t[r];e=Math.min(e,l.minX),n=Math.min(n,l.minY),i=Math.max(i,l.maxX),a=Math.max(a,l.maxY)}return{x:e,y:n,width:Math.max(1,i-e),height:Math.max(1,a-n)}}function nR(t,e,n,i,a=0,r=0){let l=Math.max(1,t),u=Math.max(1,e),f=Math.min(n/l,i/u),h=l*f,d=u*f;return{scale:f,offsetX:(n-h)/2,offsetY:(i-d)/2,worldX:a,worldY:r,worldWidth:l,worldHeight:u}}function X3(t,e={}){let n=t.getActiveZone();if(n&&(n.recalculateBounds(),n.points[0]!==0))return{x:n.points[1],y:n.points[2],width:Math.max(1,n.points[3]-n.points[1]),height:Math.max(1,n.points[4]-n.points[2])};let i=Y3(t,e);if(i&&i.length>0){let a=ej(i);if(a)return a}return{x:0,y:0,width:Math.max(1,t.width),height:Math.max(1,t.height)}}function nj(t,e={}){let n=t.getActiveZone();if(n)return n.recalculateBounds(),n.points[0]===0?new Set:new Set([n.id]);let i=Y3(t,e);if(!i)return null;let a=new Set;for(let r of i)a.add(r.zone.id);return a}function ij(t,e,n){if(!t.scale||!Number.isFinite(t.scale))return{x:t.worldX,y:t.worldY};let i=t.worldX+(e-t.offsetX)/t.scale,a=t.worldY+(n-t.offsetY)/t.scale;return{x:Math.max(t.worldX,Math.min(t.worldX+t.worldWidth,i)),y:Math.max(t.worldY,Math.min(t.worldY+t.worldHeight,a))}}var aj=class extends K8{constructor(t,e={}){super(t),A(this,"style",void 0),A(this,"maxRects",void 0),A(this,"minVisibleRectSize",void 0),A(this,"drawFallbackBoxes",void 0),A(this,"zoneWindow",void 0),A(this,"sharedCanvasRenderer",void 0),A(this,"onRequestRender",void 0),A(this,"onDebugEvent",void 0),A(this,"baseCanvas",void 0),A(this,"baseContext",void 0),A(this,"worldTarget",de.singleBox(1,1,0,0)),A(this,"previewImageCache",new Map),A(this,"worldLayerDirty",!0),A(this,"lastWorldWidth",0),A(this,"lastWorldHeight",0),A(this,"lastTargetX",NaN),A(this,"lastTargetY",NaN),A(this,"lastTargetX2",NaN),A(this,"lastTargetY2",NaN),A(this,"lastRegionX",NaN),A(this,"lastRegionY",NaN),A(this,"lastRegionWidth",NaN),A(this,"lastRegionHeight",NaN),A(this,"worldLayerInvalidationVersion",0),A(this,"sharedCanvasResourcesPending",!1),this.style={...Z8,...e.style||{}},this.maxRects=Math.max(100,e.maxRects||5e3),this.minVisibleRectSize=Math.max(1,e.minVisibleRectSize||1),this.drawFallbackBoxes=e.drawFallbackBoxes!==!1,this.zoneWindow=e.zoneWindow,this.sharedCanvasRenderer=e.sharedCanvasRenderer,this.onRequestRender=e.onRequestRender,this.onDebugEvent=e.onDebugEvent,this.context.globalAlpha=1,this.context.imageSmoothingEnabled=!1,this.baseCanvas=document.createElement("canvas"),this.baseContext=this.baseCanvas.getContext("2d"),this.baseContext.imageSmoothingEnabled=!0,this.syncBaseLayerCanvas()}emitDebugEvent(t){this.onDebugEvent&&this.onDebugEvent(t)}requestRender(t){this.onRequestRender&&(this.emitDebugEvent({type:"render-request-forwarded",reason:t}),this.onRequestRender())}invalidateWorldLayer(t="manual"){this.worldLayerInvalidationVersion++,this.worldLayerDirty=!0,this.renderNextFrame=!0,this.emitDebugEvent({type:"world-layer-invalidated",reason:t}),this.requestRender(t)}resize(){super.resize(),this.syncBaseLayerCanvas(),this.invalidateWorldLayer("resize")}beforeFrame(t){(t.width!==this.lastWorldWidth||t.height!==this.lastWorldHeight)&&(this.lastWorldWidth=t.width,this.lastWorldHeight=t.height,this.invalidateWorldLayer("world-size-changed"))}paint(){this.renderNextFrame=!0}pendingUpdate(){return this.renderNextFrame||this.worldLayerDirty}afterFrame(t,e,n){let i=this.worldLayerInvalidationVersion;if(this.canvas.width<=0||this.canvas.height<=0){this.emitDebugEvent({type:"frame-skipped-zero-size-canvas",canvasWidth:this.canvas.width,canvasHeight:this.canvas.height,baseCanvasWidth:this.baseCanvas.width,baseCanvasHeight:this.baseCanvas.height}),this.renderNextFrame=!0;return}let a=X3(t,{target:n,zoneWindow:this.zoneWindow});this.hasRegionChanged(a)&&(this.worldLayerDirty=!0);let r=this.hasViewportChanged(n);if(this.renderNextFrame||this.worldLayerDirty||r){if((this.baseCanvas.width!==this.canvas.width||this.baseCanvas.height!==this.canvas.height)&&(this.syncBaseLayerCanvas(),this.worldLayerDirty=!0),this.baseCanvas.width<=0||this.baseCanvas.height<=0){this.emitDebugEvent({type:"frame-skipped-zero-size-canvas",canvasWidth:this.canvas.width,canvasHeight:this.canvas.height,baseCanvasWidth:this.baseCanvas.width,baseCanvasHeight:this.baseCanvas.height}),this.renderNextFrame=!0;return}if(this.worldLayerDirty){let l=this.worldLayerInvalidationVersion;this.sharedCanvasResourcesPending=!1,this.emitDebugEvent({type:"world-layer-render-start",region:a});try{this.renderWorldLayer(t,a)}finally{this.emitDebugEvent({type:"world-layer-render-end",region:a})}this.worldLayerDirty=this.sharedCanvasResourcesPending||l!==this.worldLayerInvalidationVersion}this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.context.drawImage(this.baseCanvas,0,0),this.renderViewportBox(n,a),this.lastTargetX=n[1],this.lastTargetY=n[2],this.lastTargetX2=n[3],this.lastTargetY2=n[4],this.lastRegionX=a.x,this.lastRegionY=a.y,this.lastRegionWidth=a.width,this.lastRegionHeight=a.height,this.renderNextFrame=this.sharedCanvasResourcesPending||i!==this.worldLayerInvalidationVersion}}hasViewportChanged(t){return this.lastTargetX!==t[1]||this.lastTargetY!==t[2]||this.lastTargetX2!==t[3]||this.lastTargetY2!==t[4]}hasRegionChanged(t){return this.lastRegionX!==t.x||this.lastRegionY!==t.y||this.lastRegionWidth!==t.width||this.lastRegionHeight!==t.height}syncBaseLayerCanvas(){this.baseCanvas.width=this.canvas.width,this.baseCanvas.height=this.canvas.height}shouldClipImagePaintToBounds(t){return t instanceof yi||t instanceof Ei?!!t.__parent?.renderOptions?.clipToBounds:!1}getBoundsFromPoints(t){let e=1/0,n=1/0,i=-1/0,a=-1/0;for(let r=0;r<t.length;r+=5)t[r]&&(e=Math.min(e,t[r+1]),n=Math.min(n,t[r+2]),i=Math.max(i,t[r+3]),a=Math.max(a,t[r+4]));if(!(!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(i)||!Number.isFinite(a))&&!(i<=e||a<=n))return{x:e,y:n,width:i-e,height:a-n}}getLayerClipBounds(t,e,n){if(!this.shouldClipImagePaintToBounds(t))return;let i=t.__parent,a=i?.crop||i?.points;if(!a)return;let r=e?Qi(a,e):a,l=this.getBoundsFromPoints(r);if(l)return{x:l.x+n.offsetX,y:l.y+n.offsetY,width:l.width,height:l.height}}renderWorldLayer(t,e){let n=this.baseContext;n.clearRect(0,0,this.baseCanvas.width,this.baseCanvas.height),n.fillStyle=this.style.background,n.fillRect(0,0,this.baseCanvas.width,this.baseCanvas.height);let i=t.getActiveZone(),a=nR(e.width,e.height,this.baseCanvas.width,this.baseCanvas.height,e.x,e.y);this.worldTarget[1]=e.x,this.worldTarget[2]=e.y,this.worldTarget[3]=e.x+e.width,this.worldTarget[4]=e.y+e.height;let r=t.getPointsAt(this.worldTarget,this.aggregate,a.scale),l=0;for(let u=0;u<r.length&&!(l>=this.maxRects);u++){let f=r[u][0],h=r[u][1],d=r[u][2],m=d?Qi(h,d):h,y=m.length/5,g=this.getLayerClipBounds(f,d,a);g&&(n.save(),n.beginPath(),n.rect(g.x,g.y,g.width,g.height),n.clip());try{for(let b=0;b<y&&!(l>=this.maxRects);b++){let T=b*5;if(m[T]===0)continue;if(i){let E=f?.__owner?.value;if(!E||i.objects.indexOf(E)===-1)continue}let C=m[T+1]+a.offsetX,x=m[T+2]+a.offsetY,w=Math.max(this.minVisibleRectSize,m[T+3]-m[T+1]),R=Math.max(this.minVisibleRectSize,m[T+4]-m[T+2]);f instanceof dR?this.renderGeometry(n,f,C,x,a.scale):f instanceof Ed?this.renderBox(n,f,C,x,w,R,a.scale):this.renderImagePaint(n,f,b,C,x,w,R)||this.drawFallbackBoxes&&this.renderFallbackBox(n,C,x,w,R),l++}}finally{g&&n.restore()}}}renderFallbackBox(t,e,n,i,a){let r=Math.round(e),l=Math.round(n),u=Math.max(1,Math.round(i)),f=Math.max(1,Math.round(a));t.fillStyle=this.style.objectFill,t.strokeStyle=this.style.objectStroke,t.lineWidth=1,t.fillRect(r,l,u,f),u>2&&f>2&&t.strokeRect(r+.5,l+.5,u-1,f-1)}renderImagePaint(t,e,n,i,a,r,l){if(r<=0||l<=0)return!1;let u;if(e instanceof Dv)u=e.getTexture()?.source;else if(e instanceof yi||e instanceof Ei){let d=this.renderSharedCanvasImage(t,e,n,i,a,r,l);if(d!==null)return d;if(typeof e.getImageUrl!="function")return!1;let m=e.getImageUrl(n);u=this.getLoadedPreviewImage(m)}if(!u)return!1;let f=Math.max(1,Math.round(r)),h=Math.max(1,Math.round(l));return t.drawImage(u,Math.round(i),Math.round(a),f,h),!0}ensureSharedCanvasImageBuffer(t){return t.__host?.canvas||this.sharedCanvasRenderer?.createImageHost?.(t),t.__host||(t.__host={}),t.__host.canvas||(t.__host.canvas={canvases:[],tiles:{}}),t.__host.canvas.canvases||(t.__host.canvas.canvases=[]),t.__host.canvas.tiles||(t.__host.canvas.tiles={}),t.__host.canvas}drawSharedCanvasTile(t,e,n,i,a,r,l,u){let f=Math.max(1,Math.round(l)),h=Math.max(1,Math.round(u));if(e.crop&&e.cropData){let g=n*5;if(!e.crop[g])return!1;let b=e.crop[g+1]/e.display.scale-e.display.points[g+1]+e.cropData.x/e.display.scale,T=e.crop[g+2]/e.display.scale-e.display.points[g+2]+e.cropData.y/e.display.scale,C=1+(e.crop[g+3]-e.crop[g+1])/e.display.scale,x=1+(e.crop[g+4]-e.crop[g+2])/e.display.scale;return t.drawImage(i,b,T,C,x,Math.round(a),Math.round(r),f,h),!0}let d=n*5,m=e.display.points[d+3]-e.display.points[d+1],y=e.display.points[d+4]-e.display.points[d+2];return t.drawImage(i,0,0,m,y,Math.round(a),Math.round(r),f,h),!0}renderSharedCanvasImage(t,e,n,i,a,r,l){let u=this.sharedCanvasRenderer;if(!u?.hostCache)return null;let f=this.ensureSharedCanvasImageBuffer(e),h=f.canvases?.[n],d=!!h&&!!u.invalidated?.includes(h),m=h&&!d?u.hostCache.get(h):void 0;if(m)return this.drawSharedCanvasTile(t,e,n,m,i,a,r,l);let y=f.tiles?.[n],g=Math.hypot(i+r/2-this.baseCanvas.width/2,a+l/2-this.baseCanvas.height/2);return(u.schedulePaintToCanvas?.(f,e,n,g,!1)||y?.state==="queued"||y?.state==="loading"||y?.state==="decoded")&&(this.sharedCanvasResourcesPending=!0),!1}getLoadedPreviewImage(t){let e=this.previewImageCache.get(t);if(e){if(e.status==="loading"&&e.image.complete){if(e.image.naturalWidth>0&&e.image.naturalHeight>0)return e.status="loaded",this.emitDebugEvent({type:"preview-image-loaded",imageUrl:t,cached:!0}),this.invalidateWorldLayer("preview-image-loaded"),e.image;e.status="error",this.emitDebugEvent({type:"preview-image-error",imageUrl:t});return}return e.status==="loaded"?e.image:void 0}let n=new Image,i={image:n,status:"loading"};return this.previewImageCache.set(t,i),this.emitDebugEvent({type:"preview-image-requested",imageUrl:t}),n.onload=()=>{i.status==="loading"&&(i.status="loaded",this.emitDebugEvent({type:"preview-image-loaded",imageUrl:t,cached:!1}),this.invalidateWorldLayer("preview-image-loaded"))},n.onerror=()=>{i.status==="loading"&&(i.status="error",this.emitDebugEvent({type:"preview-image-error",imageUrl:t}))},n.src=t,n.complete&&(n.naturalWidth>0&&n.naturalHeight>0?(i.status="loaded",this.emitDebugEvent({type:"preview-image-loaded",imageUrl:t,cached:!0}),this.invalidateWorldLayer("preview-image-loaded")):(i.status="error",this.emitDebugEvent({type:"preview-image-error",imageUrl:t}))),i.status==="loaded"?n:void 0}renderBox(t,e,n,i,a,r,l){let u=e.props?.style;if(!u){this.renderFallbackBox(t,n,i,a,r);return}let f=u.backgroundColor||this.style.objectFill,h=u.borderColor||this.style.objectStroke,d=u.borderWidth?parseInt(u.borderWidth,10):0,m=Math.max(0,d*(e.props?.relativeStyle?1:l));t.globalAlpha=typeof u.opacity=="number"?u.opacity:1,t.fillStyle=f,t.fillRect(Math.round(n),Math.round(i),Math.max(1,Math.round(a)),Math.max(1,Math.round(r))),m>0&&(t.strokeStyle=h,t.lineWidth=Math.max(1,m),t.strokeRect(Math.round(n)+t.lineWidth/2,Math.round(i)+t.lineWidth/2,Math.max(1,Math.round(a))-t.lineWidth,Math.max(1,Math.round(r))-t.lineWidth)),t.globalAlpha=1}renderGeometry(t,e,n,i,a){let r=e.shape;if(r.type!=="polygon"||r.points.length===0)return;let l=e.props?.style||{},u=l.backgroundColor||this.style.objectFill,f=l.borderColor||this.style.objectStroke,h=l.borderWidth?parseInt(l.borderWidth,10):0,d=Math.max(0,h*(e.props?.relativeStyle?1:a));t.globalAlpha=typeof l.opacity=="number"?l.opacity:1,t.beginPath();for(let m=0;m<r.points.length;m++){let y=n+r.points[m][0]*a,g=i+r.points[m][1]*a;m===0?t.moveTo(y,g):t.lineTo(y,g)}r.open||(t.closePath(),t.fillStyle=u,t.fill()),(d>0||r.open)&&(t.strokeStyle=f,t.lineWidth=Math.max(1,d||1),t.stroke()),t.globalAlpha=1}renderViewportBox(t,e){let n=nR(e.width,e.height,this.canvas.width,this.canvas.height,e.x,e.y),i=(t[1]-n.worldX)*n.scale+n.offsetX,a=(t[2]-n.worldY)*n.scale+n.offsetY,r=(t[3]-t[1])*n.scale,l=(t[4]-t[2])*n.scale,u=Math.round(i),f=Math.round(a),h=Math.max(1,Math.round(r)),d=Math.max(1,Math.round(l));this.context.fillStyle=this.style.viewportFill,this.context.fillRect(u,f,h,d),this.context.strokeStyle=this.style.viewportStroke,this.context.lineWidth=Math.max(1,this.style.viewportLineWidth),this.context.strokeRect(u+.5,f+.5,Math.max(1,h-1),Math.max(1,d-1))}},Qh=class extends Yr{constructor(){super(),A(this,"type","spacial-content"),A(this,"id",void 0),A(this,"points",void 0),A(this,"color","#000"),A(this,"backgroundColor",void 0),A(this,"hovering",void 0),A(this,"pressing",void 0),A(this,"text",""),A(this,"display",{x:0,y:0,scale:1,width:100,height:100,points:It(5)}),A(this,"className",void 0),A(this,"html",void 0),A(this,"interactive",!1),A(this,"props",{font:"18px Arial, sans-serif",lineHeight:1,textAlign:"left",verticalAlign:"top",paddingX:0,paddingY:0,fitParent:!1,lineBreak:"auto",strokeText:!1,sizeToFill:!1,maxFontSizeToFill:void 0,allowNewLine:!0,justifyLines:!1,renderHDPI:!1,textDecoration:"none",interactive:!1,relativeSize:!1}),this.id="",this.points=It(5)}getAllPointsAt(t,e){return[[this,this.points,e]]}applyProps({id:t,target:e,text:n,color:i,backgroundColor:a,fontSize:r=18,interactive:l,fontFamily:u="Arial, sans-serif",...f}){f.font=`${r}px ${u}`,this.interactive=l||!1,n!==void 0&&(this.text=n||""),i&&(this.color=i),a&&(this.backgroundColor=a),t&&(this.id=t),e&&(this.points=de.singleBox(e.width,e.height,e.x,e.y),this.display.points=this.points,this.display.width=e.width,this.display.height=e.height),this.props={...this.props,...f},this.__revision++}};function iR(t,e){let n=e?t:JSON.stringify(t),i=5381,a=n.length;for(;a;)i=i*33^n.charCodeAt(--a);let r=(i>>>0).toString(16);return r.length%2?"0"+r:r}var Q3=class{constructor(t){A(this,"$element",void 0),A(this,"stylesheetClasses",void 0),A(this,"activeStylesheetClasses",void 0),A(this,"sheetsDidUpdate",void 0),A(this,"sheetPrefix",void 0),A(this,"stylesheetEntries",void 0),this.sheetPrefix=t?.sheetPrefix||"a-",this.$element=document.createElement("style"),this.stylesheetClasses=[],this.activeStylesheetClasses=[],this.sheetsDidUpdate=!1,this.stylesheetEntries={}}getElement(){return this.$element}addStylesheet(t){let e=t.replace(/\s\s+/g," ").replace(/: /g,":").replace(/; /g,";").trim(),n=this.sheetPrefix+iR(e,!0);return this.stylesheetClasses.indexOf(n)===-1&&(this.stylesheetClasses.push(n),this.activeStylesheetClasses.push(n),this.stylesheetEntries[n]=e,this.sheetsDidUpdate=!0),n}removeStylesheet(t){let e=this.sheetPrefix+iR(t,!0);this.stylesheetClasses.indexOf(e)&&(this.stylesheetClasses=this.stylesheetClasses.filter(n=>n!==e)),this.sheetsDidUpdate=!0}clearClasses(){this.activeStylesheetClasses=[]}didUpdateActive(){if(this.activeStylesheetClasses.length){for(let t of this.activeStylesheetClasses)if(this.stylesheetClasses.indexOf(t)===-1)return!0;for(let t of this.stylesheetClasses)if(this.activeStylesheetClasses.indexOf(t)===-1)return!0}return!1}updateSheet(){(this.sheetsDidUpdate||this.didUpdateActive())&&(this.$element.innerText=this.activeStylesheetClasses.map(t=>`.${t}{${this.stylesheetEntries[t]}}`).join(""),this.sheetsDidUpdate=!1,this.stylesheetClasses=[...this.activeStylesheetClasses])}},K3=class{constructor(t,e){A(this,"htmlContainer",void 0),A(this,"visible",[]),A(this,"previousVisible",[]),A(this,"htmlIds",[]),A(this,"firstMeaningfulPaint",!1),A(this,"rendererPosition",void 0),A(this,"stylesheet",void 0),A(this,"options",void 0),A(this,"paintTx",1),A(this,"zIndex",0),A(this,"classes",void 0),this.htmlContainer=t,this.htmlContainer.innerHTML="",this.rendererPosition=this.htmlContainer.getBoundingClientRect(),this.options={triggerResize:()=>{},box:!1,text:!1,sheetPrefix:"",inlineStyles:!1,background:"",...e||{}},this.stylesheet=new Q3({sheetPrefix:this.options.sheetPrefix}),this.options.inlineStyles||this.htmlContainer.appendChild(this.stylesheet.getElement()),this.options.background&&this.htmlContainer.classList.add(this.stylesheet.addStylesheet(`
10
+ `);let y=g.state[a];if(y==null)return;JSON.stringify(r.getState())!==JSON.stringify(y)&&p(y);return}r.dispatchFromDevtools&&typeof r.dispatch=="function"&&r.dispatch(g)});case"DISPATCH":switch(m.payload.type){case"RESET":return p(f),a===void 0?l?.init(r.getState()):l?.init(Cu(c.name));case"COMMIT":if(a===void 0){l?.init(r.getState());return}return l?.init(Cu(c.name));case"ROLLBACK":return ep(m.state,g=>{if(a===void 0){p(g),l?.init(r.getState());return}p(g[a]),l?.init(Cu(c.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return ep(m.state,g=>{if(a===void 0){p(g);return}JSON.stringify(r.getState())!==JSON.stringify(g[a])&&p(g[a])});case"IMPORT_STATE":{let{nextLiftedState:g}=m.payload,y=g.computedStates.slice(-1)[0]?.state;if(!y)return;p(a===void 0?y:y[a]),l?.send(null,g);return}case"PAUSE_RECORDING":return h=!h}return}}),f},ep=(e,t)=>{let i;try{i=JSON.parse(e)}catch(n){console.error("[zustand devtools middleware] Could not parse the received json",n)}i!==void 0&&t(i)},WT=e=>(t,i,n)=>{let r=n.subscribe;return n.subscribe=(o,s,a)=>{let c=o;if(s){let u=a?.equalityFn||Object.is,l=o(n.getState());c=d=>{let h=o(d);if(!u(l,h)){let p=l;s(l=h,p)}},a?.fireImmediately&&s(l,l)}return r(c)},e(t,i,n)},$T=(e={},t)=>{switch(t.type){case hu:return{...e,[t.payload.id]:t.payload.type};case fu:return{...e,...t.payload.mapping};default:return e}};function Ya(e,t,i,n){return!(!e[i]||!e[i][t]||!e[i][t][n]||!Array.isArray(e[i][t][n]))}function jT(e,t){let i=e||{},n=t||{},r=n["iiif-parser:isExternal"]===!0,o={},s=new Set([...Object.keys(i),...Object.keys(n)]);for(let a of s){if(!Object.hasOwn(n,a)||n[a]===void 0){o[a]=i[a];continue}if(r&&(n[a]===null||Array.isArray(n[a])&&n[a].length===0)){o[a]=i[a];continue}if(n[a]!==void 0){o[a]=n[a];continue}o[a]=i[a]}return o}function xe(e){return e.payload||{}}function HT(e,t,i){if(!e[t]||!Array.isArray(e[t]))return null;let n=i.index===void 0?e[t].findIndex(r=>r?Xr(r)?.id===i.id:!1):i.index;return n===-1?null:{entity:e[t][n],index:n}}function Kv(e,t){if(!(!t?.id||!t?.type))return e[t.type]?.[t.id]}function Tu(e,t){return e===void 0?t:e}var Xv=(e=Jf(),t)=>{let i=(n,r)=>({...e,[xe(t).type]:{...e[xe(t).type],[xe(t).id]:{...n,...r}}});switch(t.type){case iu:{if(!e[xe(t).type]||!e[xe(t).type][xe(t).id])return e;let n=e[xe(t).type][xe(t).id];return typeof n=="string"?e:i(n,{[xe(t).key]:xe(t).value})}case nu:{if(!Ya(e,xe(t).id,xe(t).type,xe(t).key))return e;let n=e[xe(t).type][xe(t).id];if(typeof n=="string")return e;let r=Array.from(n[xe(t).key]),[o]=r.splice(xe(t).startIndex,1);return r.splice(xe(t).endIndex,0,o),i(n,{[xe(t).key]:r})}case $a:{let n=xe(t).subjects,r=xe(t).from,o=xe(t).to||r,s=Kv(e,r),a=o?.key||r.key;if(!Ya(e,r.id,r.type,r.key)||!Ya(e,o.id,o.type,o.key))return e;let c=[],u=[];if(n.type==="slice"){let g=n.startIndex,y=n.length;c=Array.from(s[r.key]),u=c.splice(g,y)}else{let g=Array.from(s[r.key]);for(let y of n.items){let x=HT(s,r.key,y);x&&(u.push(x.entity),g[x.index]=null),c=g.filter(w=>w!==null)}}let l={...s,[r.key]:c},d={...e,[r.type]:{...e[r.type],[r.id]:l}},h=Kv(d,o);if(!h)return e;let p=o?.index===void 0?h[a].length:o.index,f=Array.from(h[o.key]);f.splice(p,0,...u);let m={...h,[a]:f};return{...d,[o.type]:{...d[o.type],[o.id]:m}}}case ru:return Xv(e,{type:$a,payload:{subjects:{type:"list",items:[xe(t).subject]},from:xe(t).from,to:xe(t).to}});case su:{let{id:n,index:r,key:o,newIdentifier:s,reference:a,type:c}=xe(t),u=e[c][n],l=Xr(a);if(!u||!u[o]||!l||r<0)return e;let d=u[o],h=d[r],p=e[l.type]?.[l.id];if(!p||!h)return e;let f=Nv(h,s),m=Array.from(d);m.splice(Tu(r,m.length+1),1,f);let g=i(u,{[o]:m}),y={...p,id:s};y["iiif-parser:hasPart"]&&(y["iiif-parser:hasPart"]=y["iiif-parser:hasPart"].filter(w=>w["iiif-parser:partOf"]===n).map(w=>({...w,id:s})));let x={...g[l.type],[s]:y};return g[l.type]=x,g}case tu:{let n=Object.keys(xe(t).entities),r={...e};for(let o of n){let s=xe(t).entities[o],a={...e[o]||{}},c=!1,u=Object.keys(s||{})||[];if(s&&u){for(let l of u)c=!0,a[l]=e[o][l]?jT(e[o][l],s[l]):s[l];c&&(r[o]=a)}}return r}case ou:{if(!Ya(e,xe(t).id,xe(t).type,xe(t).key))return e;let n=e[xe(t).type][xe(t).id],r=Array.from(n[xe(t).key]);return r.splice(Tu(xe(t).index,r.length+1),0,xe(t).reference),i(n,{[xe(t).key]:r})}case ja:case au:{if(!Ya(e,xe(t).id,xe(t).type,xe(t).key))return e;let n=e[xe(t).type][xe(t).id],r=Array.from(n[xe(t).key]),o=Tu(xe(t).index,r.findIndex(s=>s&&s.id===xe(t).reference.id));return o===-1||r[o]?.id!==xe(t).reference.id?e:(t.type===ja?r.splice(o,1,xe(t).reference):r.splice(o,1),i(n,{[xe(t).key]:r}))}case lu:{let n=e[xe(t).type][xe(t).id];if(!n)return e;let r=Array.from(n.metadata||[]),o=xe(t);return r.splice(Tu(t.payload.beforeIndex,r.length+1),0,{label:o.label,value:o.label}),i(n,{metadata:r})}case uu:{let n=e[xe(t).type][xe(t).id];if(typeof n=="string"||!n)return e;let r=Array.from(n.metadata||[]),[o]=r.splice(xe(t).startIndex,1);return r.splice(xe(t).endIndex,0,o),i(n,{metadata:r})}case Ha:case cu:{let n=e[xe(t).type][xe(t).id],r=Array.from(n.metadata||[]),o=xe(t).atIndex;return o===void 0||o===-1||!r[o]?e:(t.type===Ha?r.splice(o,1,{label:xe(t).label,value:xe(t).value}):r.splice(o,1),i(n,{metadata:r}))}default:return e}},qT=(e={},t)=>{switch(t.type){case yu:case wu:return{...e,[t.payload.id]:{requestUri:t.payload.id,loadingState:qa,uriMismatch:!1,resourceUri:t.payload.id}};case bu:return{...e,[t.payload.requestId]:{...e[t.payload.requestId]||{},uriMismatch:!0,resourceUri:t.payload.actualId},[t.payload.actualId]:{requestUri:t.payload.requestId,loadingState:e[t.payload.requestId].loadingState,uriMismatch:!0,resourceUri:t.payload.actualId}};case vu:return{...e,[t.payload.id]:{...e[t.payload.id]||{},loadingState:ls,error:t.payload.message}};case xu:return{...e,[t.payload.id]:{...e[t.payload.id]||{},loadingState:cs,error:void 0}}}return e},UT=(e={},t)=>{let{id:i,updateValue:n,value:r,meta:o,key:s}=t&&t.payload||{};switch(t.type){case pu:return{...e,[i]:{...e[i]||{},[o]:{...e[i]&&e[i][o]||{},[s]:r}}};case mu:return{...e,[i]:{...e[i]||{},[o]:{...e[i]&&e[i][o]||{},[s]:e[i]&&e[i][o]?n(e[i][o][s]):n(void 0)}}};case gu:return e[i]&&e[i][o]&&e[i][o][s]?{...e,[i]:{...e[i]||{},[o]:{...e[i]&&e[i][o]||{},[s]:void 0}}}:e;default:return e}};function Zv(e={}){let t=Object.keys(e);return function(i={},n){let r=!1,o={};for(let s=0;s<t.length;s++){let a=t[s];o[a]=e[a](i[a],n),r=r||o[a]!==i[a]}return r?o:i}}function YT(e){return(t,i)=>i&&i.type===us?i.payload.actions.reduce(e,t):i&&i.type===Ru?{...t,iiif:{...t.iiif,...i.payload.state}}:e(t,i)}var GT=Zv({mapping:$T,entities:Xv,requests:qT,meta:UT});function KT(){return{iiif:{entities:Jf(),meta:{},mapping:{},requests:{}}}}function Qv(e={}){let{enableDevtools:t=!1,iiifStoreName:i="iiif",defaultState:n=KT(),customReducers:r={}}=e,o=YT(Zv({[i]:GT,...r}));return _c(WT((typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?VT:(s,a)=>s)(zT(o,n),{enabled:t})))}var XT=new Set(["List","Composite","Independents"]),ZT=new Set("@context.@id.@type.id.type.label.metadata.summary.requiredStatement.rights.navDate.navPlace.behavior.profile.format.height.width.duration.spatialScale.temporalScale.backgroundColor.interactionMode.viewingDirection.timeMode.services.service.canonical.via.thumbnail.provider.seeAlso.homepage.rendering.partOf.placeholderContainer.accompanyingContainer.annotations.value.language.items.source.environmentMap.selector.transform.action.lookAt.position.provides.fileSize.quantityValue.unit".split("."));function Qt(e){if(e===et||!Array.isArray(e))return;let t=e.filter(i=>i!==et);return t.length?t:void 0}function Jv(e){return Array.isArray(e)?e.filter(t=>t!==et):[]}function Wn(e){return e?[["@context",Yr]]:[]}function hs(e){if(e==null)return;let t=(Array.isArray(e)?e:[e]).filter(i=>i!=null);return t.length?t:void 0}function QT(e){if(e===et||e==null)return;if(!Array.isArray(e))return e;let t=e.filter(i=>i!==et&&i!=null);return t.length?t:void 0}function JT(e){if(!(!Array.isArray(e)||e.length===0))return e}function eP(e){if(!Pi(e))return!1;let t=e.type||e["@type"];return!t||!XT.has(t)?!1:Array.isArray(e.items)&&e.items.length===0}function tP(e){if(e===et||e==null)return;let t=(Array.isArray(e)?e:[e]).filter(i=>i!==et&&i!=null&&!eP(i));return t.length?t:void 0}function iP(e){if(!e||typeof e!="object"||Array.isArray(e)||(e.type||e["@type"])!=="Annotation")return e;let t=Hn(e.id||e["@id"]);return t?{id:t,type:"Annotation"}:{type:"Annotation"}}function Pi(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Rn(e,t){if(Array.isArray(t))return t.map(o=>Rn(e,o));if(!Pi(t))return t;let i=t.id||t["@id"];if(!i)return t;let n=t.type||t["@type"],r=e?.mapping?.[i];return n!=="ContentResource"&&r!=="ContentResource"?t:e?.entities?.ContentResource?.[i]||t}function so(e){if(Array.isArray(e))return e.map(i=>so(i)).filter(i=>i!=null&&i!==et);if(!Pi(e))return e;let t={};for(let[i,n]of Object.entries(e)){if(i.startsWith("iiif-parser:")||i==="@explicit"||n==null||n===et||Array.isArray(n)&&n.length===0)continue;let r=i==="@id"?"id":i==="@type"?"type":i,o=so(n);r==="id"&&!Hn(o)||(t[r]=r==="id"?Hn(o):o)}return t}function nP(e){let t=[];for(let[i,n]of Object.entries(e))ZT.has(i)||i.startsWith("iiif-parser:")||i==="@explicit"||n==null||n===et||Array.isArray(n)&&n.length===0||t.push([i,so(n)]);return t}function ib(e){if(Array.isArray(e)){let t=e.map(i=>ib(i)).filter(i=>i!=null);return t.length?t.length===1?t[0]:t:void 0}return typeof e=="string"?Hn(e)||e:Pi(e)?so(e):e}function jn(e,t){if(!Pi(e)||(e.type||e["@type"])!=="SpecificResource")return e;let i={...e,type:"SpecificResource"};for(let[a,c]of Object.entries(i))(a.startsWith("iiif-parser:")||a==="@explicit"||c==null||c===et||Array.isArray(c)&&c.length===0)&&delete i[a];let n=Hn(i.id||i["@id"]);if(n?i.id=n:delete i.id,delete i["@id"],delete i["@type"],i.source!==void 0){let a=ib(Rn(t,i.source));a===void 0?delete i.source:i.source=a}Pi(i.position)&&(i.position=jn(Rn(t,i.position),t)),Pi(i.lookAt)&&(i.lookAt=jn(i.lookAt,t));let r=hs(i.selector);r?i.selector=r:delete i.selector;let o=hs(i.transform);o?i.transform=o:delete i.transform;let s=hs(i.action);return s?i.action=s:delete i.action,i}function eb(e,t){return Pi(e)?jn(Rn(t,e),t):e}function rP(e,t){return Pi(e)?jn(Rn(t,e),t):e}function ip(e,t){if(e===et||e==null)return;if(typeof e=="string"){let o=Hn(e);return o?{id:o,type:"Canvas"}:void 0}if(!Pi(e))return;let i=Hn(e.id||e["@id"]),n=e.type||e["@type"];if(!n)return;if(n==="SpecificResource")return jn(e,t);let r={type:n};return i&&(r.id=i),e.partOf!==void 0&&(r.partOf=e.partOf),r}function Hn(e){if(e)return e.startsWith("vault://")?void 0:e}function oP(e){if(e.length===1){let t=e[0];if(t&&typeof t=="object"&&!Array.isArray(t))return t}return{type:"List",items:e}}function tb(e,t){let i=tP(e);if(!(!i||!i.length))return oP(t?i.map(n=>t(n)):i)}function*sP(e,t){if(!Array.isArray(e))return;let i=[];for(let n of e){if(n===et||n==null)continue;if(Pi(n)&&(n.type||n["@type"])==="SpecificResource"){i.push(jn(n,t));continue}let r=Pi(n)?n.id||n["@id"]:void 0;if((Pi(n)?n.type||n["@type"]||t?.mapping?.[r]:void 0)==="Range"){let o=yield n;o!==et&&i.push(o);continue}i.push(n)}return i.length?i:void 0}function wr(e){return[["id",Hn(e.id)],["type",e.type],["label",e.label],["metadata",e.metadata?.length?e.metadata:void 0],["summary",e.summary],["requiredStatement",e.requiredStatement],["rights",e.rights],["navDate",e.navDate],["navPlace",e.navPlace],["behavior",e.behavior?.length?e.behavior:void 0],["profile",e.profile],["format",e.format],["height",e.height],["width",e.width],["duration",e.duration],["spatialScale",e.spatialScale],["temporalScale",e.temporalScale],["backgroundColor",e.backgroundColor],["interactionMode",e.interactionMode?.length?e.interactionMode:void 0],["viewingDirection",e.viewingDirection==="left-to-right"?void 0:e.viewingDirection],["timeMode",e.timeMode],["services",Qt(e.services)],["service",Qt(e.service)],["canonical",e.canonical],["via",e.via?.length?e.via:void 0]]}function*$n(e){return[["thumbnail",Qt(yield e.thumbnail)],["provider",Qt(yield e.provider)],["seeAlso",Qt(yield e.seeAlso)],["service",Qt(e.service)],["services",Qt(e.services)],["homepage",Qt(yield e.homepage)],["rendering",Qt(yield e.rendering)],["partOf",hs(e.partOf)?.map(t=>so(t))],["placeholderContainer",e.placeholderContainer?yield e.placeholderContainer:void 0],["accompanyingContainer",e.accompanyingContainer?yield e.accompanyingContainer:void 0],["annotations",Qt(yield e.annotations)]]}function*Pu(e,t=!1,i=!1){return[...Wn(i),...wr(e),...yield*$n(e),["items",Qt(yield e.items)],...t?[["structures",Qt(yield e.structures)]]:[]]}function aP(e={}){return{Collection:function*(t,i,{isTopLevel:n}){return[...Wn(n),...wr(t),...yield*$n(t),["start",ip(Rn(i,t.start),i)],["items",Qt(yield t.items)],["first",t.first],["last",t.last],["total",t.total]]},CollectionPage:function*(t,i,{isTopLevel:n}){return[...Wn(n),...wr(t),...yield*$n(t),["items",Jv(yield t.items)],["next",t.next],["prev",t.prev],["startIndex",t.startIndex]]},Manifest:function*(t,i,{isTopLevel:n}){return[...yield*Pu(t,!0,n),["start",ip(Rn(i,t.start),i)]]},Timeline:function*(t,i,{isTopLevel:n}){return yield*Pu(t,!1,n)},Canvas:function*(t,i,{isTopLevel:n}){return yield*Pu(t,!1,n)},Scene:function*(t,i,{isTopLevel:n}){return yield*Pu(t,!1,n)},AnnotationPage:function*(t,i,{isTopLevel:n}){return[...Wn(n),...wr(t),...yield*$n(t),["items",Jv(yield t.items)],["next",t.next],["prev",t.prev],["startIndex",t.startIndex]]},AnnotationCollection:function*(t,i,{isTopLevel:n}){return[...Wn(n),...wr(t),...yield*$n(t),["items",Qt(yield t.items)],["first",t.first],["last",t.last],["total",typeof t.total=="number"?t.total:void 0]]},Annotation:function*(t,i,{isTopLevel:n}){return[...Wn(n),...wr(t),...yield*$n(t),["motivation",t.motivation?.length?t.motivation:void 0],["body",tb(yield t.body,r=>jn(r,i))],["target",tb(Rn(i,t.target),r=>jn(iP(r),i))],["timeMode",t.timeMode],["exclude",t.exclude?.length?t.exclude:void 0],["provides",t.provides?.length?t.provides:void 0],["scope",t.scope?.length?t.scope:void 0],["position",t.position?eb(t.position,i):void 0],["stylesheet",t.stylesheet]]},Range:function*(t,i,{isTopLevel:n}){return[...Wn(n),...wr(t),...yield*$n(t),["items",yield*sP(Rn(i,t.items),i)],["start",ip(Rn(i,t.start),i)],["supplementary",t.supplementary?yield t.supplementary:void 0]]},Agent:function*(t,i,{isTopLevel:n}){return[...Wn(n),["id",Hn(t.id)],["type",t.type||"Agent"],["label",t.label],["summary",t.summary],...yield*$n(t),["logo",Qt(yield t.logo)]]},ContentResource:function*(t,i,{isTopLevel:n}){if(t.type==="SpecificResource"){let r=jn(t,i);return[qf,n&&r&&typeof r=="object"?{"@context":Yr,...r}:r]}return[...Wn(n),...nP(t),...wr(t),...yield*$n(t),["value",t.value??void 0],["language",JT(t.language)],["items",t.items?Qt(yield t.items):void 0],["source",t.source?QT(yield t.source):void 0],["environmentMap",t.environmentMap?yield t.environmentMap:void 0],["selector",t.selector?hs(so(t.selector)):void 0],["transform",t.transform?hs(so(t.transform)):void 0],["action",t.action?.length?t.action:void 0],["lookAt",t.lookAt?rP(t.lookAt,i):void 0],["position",t.position?eb(t.position,i):void 0],["provides",t.provides?.length?t.provides:void 0],["fileSize",t.fileSize],["quantityValue",t.quantityValue],["unit",t.unit]]}}}var nb=aP();function lP(e){if(!e||typeof e!="object")return"unknown";let t=e,i=[t["@context"],t.profile].flat(1/0).filter(n=>typeof n=="string");return i.some(n=>n.includes("/presentation/4/"))?4:i.some(n=>n.includes("/presentation/3/"))?3:i.some(n=>n.includes("/presentation/2/"))||typeof t["@id"]=="string"||typeof t["@type"]=="string"?2:"unknown"}function ob(e,t,i,n){let{entities:r,resource:o,mapping:s,diagnostics:a=n?.diagnostics,sourceVersion:c=n?.sourceVersion}=e(i);if(o.id===void 0)return[Ua({id:t,message:"ID is not defined in resource."})];let u=[du({entities:r}),Xf({mapping:s})];if(o.id!==t&&(u.push(Kf({id:t,type:o.type})),u.push(Qf({requestId:t,actualId:o.id})),u.push(Su({id:o.id}))),c!==void 0&&a!==void 0){let l={sourceVersion:c,diagnostics:a};u.push(oo.setMetaValue({id:o.id,meta:"@vault/load",key:"report",value:l})),o.id!==t&&u.push(oo.setMetaValue({id:t,meta:"@vault/load",key:"report",value:l}))}return u.push(Su({id:t})),u}var rp=(e,t)=>ob(Ba,e,t,{sourceVersion:lP(t),diagnostics:[]}),sb=(e,t)=>ob(_a,e,t),cP=rp,rb=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function uP(e,t){return!!(e===t||rb(e)&&rb(t))}function op(e,t){if(!Array.isArray(e)||!Array.isArray(t))return e===t;if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!uP(e[i],t[i]))return!1;return!0}function dP(e){return e&&typeof e.then=="function"}function np(e,t,i){let n=e.iiif.requests[t],r=e.iiif.mapping[t];if(!r||!e.iiif.entities[r][n.resourceUri])return;let o=e.iiif.entities[r][n.resourceUri];return o&&o[mt]?os(o,o[mt].find(s=>i?s[fi]===i.id:s[fi]===o.id)):o}function sp(e,t,{waitTimeout:i=30,actionListFromResource:n=cP}={}){return(r,o,s)=>{let a=e.getStore(),c=a.getState(),u=c.iiif.requests[r];if(u){if(u.loadingState===cs){let d=np(c,r);if(d)return d}switch(u.loadingState){case ls:break;case qa:return(async()=>{let d,h=!1;try{let p=await Promise.race([new Promise((f,m)=>{h||(d=a.subscribe(()=>{let g=a.getState();if(g.iiif.requests[r].loadingState===ls){m();return}if(g.iiif.requests[r].loadingState===cs){let y=np(g,r);y?f(y):m()}}))}),new Promise((f,m)=>setTimeout(()=>{h=!0,m()},i*60*1e3))]);if(d&&d(),p)return p}catch{d&&d()}})()}}e.dispatch(Zf({id:r}));let l=d=>{if(!d)return;!d.id&&!d["@id"]&&(d["@type"]&&(d["@id"]=r),d.id=r);let h=n(r,d);return e.dispatch(ds({actions:h})),np(a.getState(),r)};try{let d=t(r,o);return dP(d)?(async()=>{try{let h=await d;return s&&(h=s(h)),l(h)}catch(h){throw e.dispatch(Ua({id:r,message:h.toString()})),h}})():l(s?s(d):d)}catch(d){throw e.dispatch(Ua({id:r,message:d.toString()})),d}}}function Ai(e){return{all:e=e||new Map,on:function(t,i){var n=e.get(t);n?n.push(i):e.set(t,[i])},off:function(t,i){var n=e.get(t);n&&(i?n.splice(n.indexOf(i)>>>0,1):e.set(t,[]))},emit:function(t,i){var n=e.get(t);n&&n.slice().map(function(r){r(i)}),(n=e.get("*"))&&n.slice().map(function(r){r(t,i)})}}}var ap=async e=>{let t=await fetch(e);if(t.status===200)return t.json();let i=Error(`${t.status} ${t.statusText}`);throw i.name="HTTPError",i};function qt(e,t,i,n=!0){t[fs]=t[fs]||[],t[fs].push(e);let r=new Map;Object.defineProperty(t,e,{enumerable:n,get(){if(t[lo][e]===void 0)return;let o=t[lo][e];if(!o)return o;let s=i.get(t[lo][e],{parent:this.id?{id:this.id,type:this.type}:void 0});return r.has(s)||(r.clear(),r.set(s,co(s,i))),r.get(s)},set(o){t[lo][e]!==o&&(this[ao]?i.modifyEntityField({id:this.id,type:this.type},e,ub(o)):this[lo][e]=o)}})}var lo=Symbol.for("_refs_"),ao=Symbol.for("_reactive_"),fs=Symbol.for("_defined_"),ab=Symbol.for("_parent_");function hP(e,t=!1,i){let n={id:"",type:"unknown",[fs]:[],[lo]:{},[ab]:i||null,[ao]:null,is(r){return typeof r=="string"?this.id===r:r.id?r.id===this.id:!1},reactive(){if(!this[ao])return this[ao]=this.subscribe(()=>this.refresh(),!0),()=>{this.unreactive()}},refresh(){if(this.id){let r=this.unwrap();for(let o of Object.keys(r||{}))this[fs].includes(o)?this[lo][o]=r[o]:this[o]=r[o]}},unreactive(){this[ao]&&(this[ao](),this[ao]=null)},unwrap(){if(!this.id)throw Error("Invalid object");let r=this[ab];return e.get(this.id,{parent:r?{id:r,type:"unknown"}:void 0})},toPresentation3(){return e.toPresentation3(this.unwrap())},toPresentation2(){return e.toPresentation2(this.unwrap())},valueOf(){return this.unwrap()},toJSON(){let r=this;return{...r,items:r.items,annotations:r.annotations,structures:r.structures,seeAlso:r.seeAlso,service:r.service,services:r.services,rendering:r.rendering,partOf:r.partOf,start:r.start,supplementary:r.supplementary,homepage:r.homepage,thumbnail:r.thumbnail,placeholderContainer:r.placeholderContainer,accompanyingContainer:r.accompanyingContainer,placeholderCanvas:r.placeholderCanvas,accompanyingCanvas:r.accompanyingCanvas,provider:r.provider}},subscribe(r,o=!0){return e.subscribe(()=>this.id?e.get(this.id):null,r,o)}};return qt("items",n,e),qt("annotations",n,e),qt("structures",n,e),qt("seeAlso",n,e),qt("rendering",n,e),qt("partOf",n,e),qt("start",n,e,!1),qt("supplementary",n,e),qt("homepage",n,e),qt("thumbnail",n,e),qt("placeholderContainer",n,e,!1),qt("accompanyingContainer",n,e,!1),qt("placeholderCanvas",n,e,!1),qt("accompanyingCanvas",n,e,!1),qt("provider",n,e),qt("body",n,e),qt("logo",n,e),n}function fP(e){return!!e[fs]}function ub(e){return Array.isArray(e)?e.map(t=>ub(t)):!e||!e.type?e:{id:e.id,type:e.type}}function co(e,t,i=!1,n){if(Array.isArray(e))return e.map(a=>co(a,t,i));if(!e||!e.type||!e.id)return e;let r=hP(t,i),o=Object.create(r),s=Object.assign(o,e);return i&&s.reactive(),s}function lb(e){switch(e){case"Image":case"Video":case"Audio":case"Sound":case"Model":case"Dataset":case"Text":case"TextualBody":case"Choice":case"Composite":case"List":case"Independents":case"Transform":case"Audience":case"SpecificResource":case"Quantity":case"RotateTransform":case"ScaleTransform":case"TranslateTransform":case"PerspectiveCamera":case"OrthographicCamera":case"AmbientLight":case"DirectionalLight":case"ImageBasedLight":case"PointLight":case"SpotLight":case"AmbientAudio":case"AudioEmitters":case"Camera":case"Light":case"PointAudio":case"SpotAudio":return"ContentResource";case"AnimationSelector":case"AudioContentSelector":case"FragmentSelector":case"ImageApiSelector":case"PointSelector":case"PolygonZSelector":case"CompositeSelector":case"SvgSelector":case"VisualContentSelector":case"WktSelector":return"Selector";case"CollectionPage":return"CollectionPage";case"ImageService1":case"ImageService2":case"ImageService3":return"Service"}return e}function Au(e){return typeof e=="string"?e:e&&typeof e=="object"&&typeof e.id=="string"?e.id:null}function cb(e){let t=new Set,i=[];for(let n of e){if(!n||typeof n.id!="string"||typeof n.type!="string")continue;let r=`${n.type}\0${n.id}`;t.has(r)||(t.add(r),i.push({id:n.id,type:n.type}))}return i}var Cn=class{constructor(e,t){xt(this,"presentationVersion",3),xt(this,"options",void 0),xt(this,"store",void 0),xt(this,"emitter",void 0),xt(this,"isBatching",!1),xt(this,"batchQueue",[]),xt(this,"remoteFetcher",void 0),xt(this,"staticFetcher",void 0),xt(this,"defaultFetcher",ap),this.options=Object.assign({reducers:{},customFetcher:ap,enableDevtools:!0},e||{}),this.store=t||Qv({customReducers:this.options.reducers,defaultState:this.options.defaultState,enableDevtools:this.options.enableDevtools}),this.emitter=Ai(),this.remoteFetcher=sp(this,this.options.customFetcher||ap,{actionListFromResource:this.getActionListFromResource()}),this.staticFetcher=sp(this,(i,n)=>n,{actionListFromResource:this.getActionListFromResource()})}getActionListFromResource(){return rp}batch(e){this.isBatching=!0;try{e(this),this.isBatching=!1,this.dispatch(ds({actions:this.batchQueue}))}catch(t){throw this.batchQueue=[],this.isBatching=!1,t}this.batchQueue=[]}async asyncBatch(e){this.isBatching=!0;try{await e(this),this.isBatching=!1,this.dispatch(ds({actions:this.batchQueue}))}catch(t){throw this.batchQueue=[],this.isBatching=!1,t}this.batchQueue=[]}modifyEntityField(e,t,i){this.dispatch(ro.modifyEntityField({id:e.id,type:e.type,key:t,value:i}))}dispatch(e){if(this.isBatching)this.batchQueue.push(e);else{if(e.type===us){for(let n of e.payload.actions)this.emitter.emit(n.type,{action:n,state:this.store.getState()});this.store.dispatch(e);let i=this.getState();for(let n of e.payload.actions)this.emitter.emit(`after:${n.type}`,{action:n,state:i});return}this.emitter.emit(e.type,{action:e,state:this.store.getState()}),this.store.dispatch(e);let t=this.store.getState();this.emitter.emit(`after:${e.type}`,{action:e,state:t});return}}on(e,t){return this.emitter.on(e,t),()=>{this.emitter.off(e,t)}}serialize(e,t){return Va(this.getState().iiif,e,t)}toPresentation2(e){return this.serialize(e,Wa)}toPresentation3(e){return this.serialize(e,Gf)}hydrate(e,t,i={}){return this.get(e,t,{...i,skipSelfReturn:!1})}get(e,t,i={}){typeof t!="string"&&(i=t||{},t=void 0);let{skipSelfReturn:n=!0}=i||{},r=i.parent?typeof i.parent=="string"?i.parent:i.parent.id:void 0;if(Array.isArray(e))return e.map(l=>this.get(l,i));let o=this.getState();if(ri(e)&&!i.preserveSpecificResources&&(e=e.source),typeof e=="string"){let l=lb(t||o.iiif.mapping[e]);if(!l)return n?null:{id:e,type:"unknown"};e={id:e,type:l}}if(e&&e.partOf&&!r&&!i.skipPartOfCheck){let l=Array.isArray(e.partOf)?e.partOf[0]:e.partOf;l&&(typeof l=="string"&&(r=l),typeof l.id=="string"&&(r=l.id))}let s=lb(t||e?.type),a=e?.id,c=o.iiif.entities[s];if(!c){let l=o.iiif.requests[a];return l&&l.resourceUri!==a?this.get(l.resourceUri,i):n?null:e}let u=c[e.id];return u&&u[mt]?os(u,u[mt].find(l=>r?l[fi]===r:l[fi]===u.id)):c[e.id]||(n?null:e)}select(e){return e(this.getState())}getStore(){return this.store}getState(){return this.store.getState()}deep(e,t){if(e===void 0)return this.get(t,{skipSelfReturn:!1});if(typeof e=="function")try{let n=e(this.get(t,{skipSelfReturn:!1})),r=o=>this.deep(o,n);return r.size=Array.isArray(n)?n.length:1,r}catch{let n=r=>this.deep(r,void 0);return n.size=0,n}let i=n=>this.deep(n,e);return i.size=Array.isArray(e)?e.length:1,i}loadManifest(e,t,i){let n=typeof e=="string"?e:e.id;return this.load(n,t,i)}loadCollection(e,t,i){let n=typeof e=="string"?e:e.id;return this.load(n,t,i)}load(e,t,i){let n=typeof e=="string"?e:e.id;return t?Promise.resolve(this.staticFetcher(n,t,i)):Promise.resolve(this.remoteFetcher(n,{},i))}loadSync(e,t,i){let n=typeof e=="string"?e:e.id;return this.staticFetcher(n,t,i)}loadManifestSync(e,t,i){let n=typeof e=="string"?e:e.id;return this.loadSync(n,t,i)}loadCollectionSync(e,t,i){let n=typeof e=="string"?e:e.id;return this.loadSync(n,t,i)}areInputsEqual(e,t){return op(e,t)}subscribe(e,t,i){return i===void 0&&(t===void 0||t===!1||t===!0)&&(i=t,t=e,e=n=>n),this.store.subscribe(e,n=>t(n,this),{equalityFn:op,fireImmediately:!i})}async ensureLoaded(e){let t=typeof e=="string"?e:e.id;this.requestStatus(t)||await this.load(t)}requestStatus(e){return this.select(t=>t.iiif.requests[e])}getPaginationState(e){let t=typeof e=="string"?e:e.id;if(!t)return null;let i=this.getResourceMeta(t,"@vault/pagination");if(i?.state)return i.state;let n=this.get(e);if(n?.first){let r=Au(n.first);if(!r)return null;let o={currentPage:null,currentPageIndex:null,isFetching:!1,isFullyLoaded:!1,next:r,page:1,pages:[],previous:null,totalItems:n.total,currentLength:0};return this.setMetaValue([t,"@vault/pagination","state"],o),o}return null}async loadNextPage(e,t){let i=typeof e=="string"?e:e.id;if(!i)return[null,null];let n=this.getPaginationState(e);if(!n||n.isFullyLoaded||!n.next)return[null,null];if(n.isFetching)return[n,null];let r=Au(n.next);if(!r){let y={...n,isFetching:!1,isFullyLoaded:!0,error:Error("Page reference does not have an id")};return this.setMetaValue([i,"@vault/pagination","state"],y),[y,null]}if(n.currentPage===r||n.pages.some(y=>y.id===r)){let y={...n,isFetching:!1,isFullyLoaded:!0,error:Error(`Pagination cycle detected at ${r}`)};return this.setMetaValue([i,"@vault/pagination","state"],y),[y,null]}let o=n.currentPage,s=this.get(i),a={...n,isFetching:!0};this.setMetaValue([i,"@vault/pagination","state"],a);let c;try{c=await this.load(r,t,y=>{let{id:x,"@id":w,...R}=y||{};return w?{"@id":r,...R}:{id:r,...R}})}catch(y){let x={...n,isFetching:!1,error:y};return this.setMetaValue([i,"@vault/pagination","state"],x),[x,null]}if(!c){let y={...n,isFetching:!1,error:Error(`Page not found: ${r}`)};return this.setMetaValue([i,"@vault/pagination","state"],y),[y,null]}let u=c;this.dispatch(ro.importEntities({entities:{[s.type]:{[i]:s}}}));let l=s.type==="AnnotationCollection"?"AnnotationPage":Au(s.first)===r&&s.first?.type?s.first.type:void 0;if(l==="AnnotationPage"&&u.type!=="AnnotationPage"||s.type==="Collection"&&!["Collection","CollectionPage"].includes(u.type)){let y={...n,isFetching:!1,error:Error(`Expected ${l||"collection"} page, received ${u.type||"unknown"}`)};return this.setMetaValue([i,"@vault/pagination","state"],y),[y,null]}let d=this.getPaginatedItems(e),h=u.items||[],p=cb([...d,...h]);u.type==="Collection"&&this.modifyEntityField({id:i,type:s.type},"items",p);let f=this.getPaginationState(e);if(!f)throw Error("Pagination state not found");let m=Au(u.next),g={...f,isFetching:!1,error:null,currentPage:u.id||null,next:m,currentPageIndex:f.pages.length,currentLength:p.length,pages:[...f.pages,{id:u.id,type:u.type,startIndex:typeof u.startIndex=="number"?u.startIndex:d.length,pageLength:h.length,order:typeof f.currentPageIndex=="number"?f.currentPageIndex+1:0}],isFullyLoaded:!m,previous:o,page:f.pages.length+1};return this.setMetaValue([i,"@vault/pagination","state"],g),[g,c]}getPaginatedItems(e){let t=this.getPaginationState(e);return t?cb(t.pages.flatMap(i=>this.get({id:i.id,type:i.type})?.items||[])):[]}async loadPageChain(e){let t=this.getPaginationState(e);for(;t&&!t.isFullyLoaded&&t.next&&!t.error;)[t]=await this.loadNextPage(e);return t}getLoadReport(e){let t=typeof e=="string"?e:e.id;return this.getResourceMeta(t,"@vault/load")?.report}getResourceMeta(e,t){let i=this.getState().iiif.meta[e];if(i)return t?i[t]:i}getObject(e,t,i={}){let{reactive:n,...r}=i;return co(this.get(e,t,r),this,n)}async loadObject(e,t){return co(await this.load(e,t),this)}async loadManifestObject(e,t){return co(await this.loadManifest(e,t),this)}async loadCollectionObject(e,t){return co(await this.loadCollection(e,t),this)}wrapObject(e){return co(this.get(e,{skipSelfReturn:!1}),this)}isWrapped(e){return fP(e)}setMetaValue([e,t,i],n){this.dispatch(typeof n=="function"?oo.setMetaValueDynamic({id:e,meta:t,key:i,updateValue:n}):oo.setMetaValue({id:e,meta:t,key:i,value:n}))}};function db(){return typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}function Ga(e){let t=db();try{let n=t.IIIF_VAULT;if(n)return n}catch{}let i=new Cn(e);try{t.IIIF_VAULT=i}catch{}return i}var hb=class extends Cn{constructor(...e){super(...e),xt(this,"presentationVersion",4)}getActionListFromResource(){return sb}serialize(e,t){return Fa(this.getState().iiif,e,t)}toPresentation2(e){let t=Ba(this.toPresentation3(e));return Va({entities:t.entities,mapping:t.mapping,requests:{}},t.resource,Wa)}toPresentation3(e){return this.serialize(e,Na)}toPresentation4(e){return this.serialize(e,nb)}loadCollectionPage(e,t,i){return this.load(e,t,i)}loadCollectionPageSync(e,t,i){return this.loadSync(e,t,i)}async loadCollectionPageObject(e,t){return super.loadObject(e,t)}};function Sr(e){return!!e&&typeof e=="object"&&e.presentationVersion===4}var lp=P(D(),1),Xi=ps.default.createContext({vault:null,setVaultInstance:e=>{}});function qn({vault:e,vaultOptions:t,useGlobal:i,resources:n,version:r=3,children:o}){let s=(0,ps.useMemo)(()=>e||(r===4?new hb(t):i?Ga(t):t?new Cn(t):new Cn),[i,e,t,r]),[a,c]=(0,ps.useState)(),u=d=>c({generated:s,vault:d}),l=e||(a&&a.generated===s?a.vault:s);return(0,lp.jsx)(Xi.Provider,{value:{vault:l,setVaultInstance:u},children:(0,lp.jsx)(Zt,{value:n||{},children:o})})}var cp=P(Z(),1),pb=P(Z(),1);var fb=P(Z(),1);function Rr(){let{vault:e}=(0,fb.useContext)(Xi);if(!e)throw new Error("Vault not found. Ensure you have your provider set up correctly.");return e}function We(){return Rr()}var Iu=P(Z(),1);function ms(e,t,i=[]){let n=(0,Iu.useMemo)(()=>{let r=e.getState(),o=t(r,e);return{snapshot(){let s=e.getState();return s!==r&&(o=t(s,e),r=s),o},subscribe(s){return Sr(e)?e.subscribe(()=>s(),!0):e.subscribe(()=>s(),!0)}}},[e,...i]);return(0,Iu.useSyncExternalStore)(n.subscribe,n.snapshot,n.snapshot)}function Ue(e,t=[]){return ms(We(),e,t)}var Un=pb.default.createContext([]);function up(){let e=(0,cp.useContext)(Un);return Ue(t=>e.map(i=>t.iiif.entities.Canvas[i]).filter(Boolean),[e])}function Ka(){let e=(0,cp.useContext)(Un);return Ue(t=>e.flatMap(i=>{let n=t.iiif.mapping[i]==="Timeline"?t.iiif.entities.Timeline[i]:t.iiif.entities.Canvas[i];return n?[n]:[]}),[e])}var mb=P(Z(),1);function Zi(e){let t=(0,mb.useContext)(Xi);return e||t.vault||Ga()}var gb=P(Z(),1);function Pt(e={},t=[]){let{id:i,selector:n}=e,r=kt(),o=i||r.manifest,s=Ue(a=>o?a.iiif.entities.Manifest[o]:void 0,[o]);return(0,gb.useMemo)(()=>{if(s)return n?n(s):s},[s,n,...t])}var qb=P(Z(),1),Du=P(Z(),1);var gs=P(Z(),1);function Xa(e,{noCache:t=!1}={}){let i=typeof e=="string"?e:e.id,n=Zi(),r=(0,gs.useMemo)(()=>{let u=t?void 0:n.get(i,{skipSelfReturn:!0})||void 0;return{id:i,vault:n,noCache:t,initialData:u}},[i,n,t]),[o,s]=(0,gs.useState)();(0,gs.useEffect)(()=>{let u=!0;return r.initialData||n.load(i).then(l=>{u&&s({request:r,resource:l})},l=>{u&&s({request:r,error:l instanceof Error?l:new Error(String(l))})}),()=>{u=!1}},[r]);let a=o?.request===r?o:void 0,c=a?.resource||r.initialData;return{id:c?.id||i,requestId:i,isLoaded:!!c,error:a?.error,cached:!!c&&c===r.initialData,resource:c}}function dp(e,t){let{id:i,isLoaded:n,error:r,resource:o,requestId:s,cached:a}=Xa(e,t);return{id:i,isLoaded:n,error:r,manifest:o,requestId:s,cached:a}}var yb=P(D(),1);function hp({manifest:e,children:t}){return(0,yb.jsx)(Zt,{value:{manifest:e},children:t})}var vb=P(D(),1);function fp({range:e,children:t}){return(0,vb.jsx)(Zt,{value:{range:e},children:t})}var Eu={},Bi={get(e){return e},setMetaValue([e,t,i],n){let r=Bi.getResourceMeta(e,t),o=r?r[i]:void 0,s=typeof n=="function"?n(o):n;Eu[e]={...Eu[e]||{},[t]:{...(Eu[e]||{})[t]||{},[i]:s}}},getResourceMeta:(e,t)=>{let i=Eu[e];if(i)return t?i[t]:i},async load(e){let t=typeof e=="string"?e:e.id;return fetch(t).then(i=>i.json())},subscribe(e){return()=>{}},requestStatus(e){}};function pp(e,t){return e.get(t,{preserveSpecificResources:!0})??t}function Mu(e,t){for(let i of t.items){if(typeof i=="string")return{id:i,type:"Canvas"};let n=pp(e,i);if(n.type==="Canvas")return n;if(n.type==="SpecificResource"&&n.source?.type==="Canvas")return n.source;if(n.type==="Range"){let r=Mu(e,n);if(r)return r}}return null}function Za(e,t){return bb(e,t).filter(i=>i.type==="Canvas")}function bb(e,t){let i=new Map,n=new Set,r=(s,a)=>{if(!s)return;let[c]=a==="Canvas"?xn(s):[s];i.set(`${a}:${c}`,{id:c,type:a})},o=s=>{if(s.id){if(n.has(s.id))return;n.add(s.id)}for(let a of s.items||[]){if(typeof a=="string"){r(a,"Canvas");continue}let c=pp(e,a);if(c.type==="Range"){c.items&&o(c);continue}if(c.type==="SpecificResource"){let u=c.source;typeof u=="string"?r(u,"Canvas"):u&&(u.type==="Canvas"||u.type==="Timeline"||u.type==="Scene")&&r(u.id,u.type);continue}(c.type==="Canvas"||c.type==="Timeline"||c.type==="Scene")&&r(c.id,c.type)}};return o(t),[...i.values()]}function mp(e,t,i){for(let n of t.structures){let r=Qa(e,e.get(n),i);if(r)return r}return null}function Qa(e,t,i){for(let n of t.items){let r=typeof n=="string"?n:pp(e,n);if(typeof r=="string")continue;let o=r.source?.id?.split("#")[0];if(r.type==="Canvas"&&r.id?.split("#")[0]===i||r.type==="SpecificResource"&&r.source===i||r.type==="SpecificResource"&&r.source?.type==="Canvas"&&i===o)return t;if(r.type==="Range"){let s=Qa(e,r,i);if(s)return s}}return null}function gp(e=Bi,t,i,n=!1){let r=t.behavior||[],o=i?e.get(i):null;if(!o)return[];let s=o.behavior||[],a=n?!1:r.includes("paged"),c=a?!1:r.includes("continuous"),u=a||c?!1:r.includes("individuals"),l=s.includes("facing-pages"),d=s.includes("non-paged");if(l||d||u||n)return[{id:o.id,type:"Canvas"}];let[h,p]=uo(e,t);if(c)return h;let f=h.findIndex(m=>m.id===i);if(f===-1)return[];for(let m of p)if(m.includes(f))return m.map(g=>h[g]);return[{id:o.id,type:"Canvas"}]}function uo(e=Bi,t,{disablePaging:i,skipNonPaged:n}={}){let r=t.behavior||[],o=r.includes("paged"),s=o?!1:r.includes("continuous"),a=o||s?!1:r.includes("individuals"),c=t.type==="Manifest"?t.items.flatMap(f=>typeof f=="string"?[{id:f,type:"Canvas"}]:f?.type==="Canvas"?[f]:[]):Za(e,t);if(s)return[c,[c.map((f,m)=>m)]];if(a||!o||i)return[c,c.map((f,m)=>[m])];let u=[],l=[],d=()=>{l.length&&(u.push([...l]),l=[])},h=0,p=!1;for(let f=0;f<c.length;f++){let m=e.get(c[f]).behavior||[];if(m.includes("non-paged")){f===h&&h++,n||(d(),u.push([f]),d());continue}if(f===h||m.includes("facing-pages")){l.length&&(p=!0),d(),u.push([f]),d();continue}if(l.push(f),p){d(),p=!1;continue}l.length>1&&d()}return l.length&&d(),[c,u]}function xb(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.id=="string"&&(t.type==="Canvas"||t.type==="Timeline")}function wb(e,t,i={}){if(t.type!=="Manifest"||!t.items.some(u=>xb(u)&&u.type==="Timeline")){let[u,l]=uo(e,t,i);return[u.map(({id:d})=>({id:d,type:"Canvas"})),l]}let n=t.items.flatMap(u=>xb(u)?[{id:u.id,type:u.type}]:[]),[r,o]=uo(e,t,i),s=o.map(u=>u.map(l=>r[l]?.id).filter(Boolean)),a=new Set,c=[];for(let[u,l]of n.entries()){if(l.type==="Timeline"){c.push([u]);continue}if(a.has(l.id))continue;let d=s.find(h=>h.includes(l.id))||[l.id];d.forEach(h=>a.add(h)),c.push(d.flatMap(h=>{let p=n.findIndex(f=>f.id===h);return p<0?[]:[p]}))}return[n,c]}var Qi=P(Z(),1);var Sb=P(Z(),1);function Ja(e={},t=[]){let{id:i,selector:n}=e,r=kt(),o=i||r.range,s=Ue(a=>o?a.iiif.entities.Range[o]:void 0,[o]);return(0,Sb.useMemo)(()=>{if(s)return n?n(s):s},[s,n,...t])}function ku({startCanvas:e,disablePaging:t}){let i=We(),n=Pt(),r=Ja(),[o,s]=(0,Qi.useState)(void 0),a=r||n;if(!a)throw new Error("Nothing selected");let[c,u]=(0,Qi.useMemo)(()=>wb(i,a,{disablePaging:t}),[i,a,t]),l=(0,Qi.useRef)(u);if(l.current!==u){let g=l.current[o][0],y=u.findIndex(x=>x.includes(g));l.current=u,s(y)}let d=(0,Qi.useCallback)(m=>{let g=u.findIndex(y=>y.includes(m));s(g===-1?0:g)},[c,u]),h=(0,Qi.useCallback)(m=>{let g=c.findIndex(y=>y.id===m);g!==-1?d(g):s(0)},[c,u]),p=(0,Qi.useCallback)(()=>{s(m=>m>=u.length-1?m:m+1)},[u]),f=(0,Qi.useCallback)(()=>{s(m=>m<=0?0:m-1)},[u]);return typeof o>"u"&&(e?h(e):s(0)),{visibleItems:u[o]?.map(m=>c[m].id)||[],cursor:o,items:c,sequence:u,hasPrevious:o>0,hasNext:o<u.length-1,setSequenceIndex:s,setCanvasIndex:d,setCanvasId:h,next:p,previous:f}}function pP(e){return ku(e)}var tn=P(Z(),1);var Cb={},Rb=e=>{let t,i=new Set,n=(l,d)=>{let h=typeof l=="function"?l(t):l;if(!Object.is(h,t)){let p=t;t=d??(typeof h!="object"||h===null)?h:Object.assign({},t,h),i.forEach(f=>f(t,p))}},r=()=>t,c={setState:n,getState:r,getInitialState:()=>u,subscribe:l=>(i.add(l),()=>i.delete(l)),destroy:()=>{(Cb.env?Cb.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},u=t=e(n,r,c);return c},Ji=e=>e?Rb(e):Rb;var Fb=P(Z(),1),Nb=P(Ob(),1),Lu={},{useDebugValue:OP}=Fb.default,{useSyncExternalStoreWithSelector:LP}=Nb.default,Lb=!1,_P=e=>e;function be(e,t=_P,i){(Lu.env?Lu.env.MODE:void 0)!=="production"&&i&&!Lb&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),Lb=!0);let n=LP(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,i);return OP(n),n}var _b=e=>{(Lu.env?Lu.env.MODE:void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let t=typeof e=="function"?Ji(e):e,i=(n,r)=>be(t,n,r);return Object.assign(i,t),i},_u=e=>e?_b(e):_b;function FP(e){let t=e.service||e.services||[];for(let i of t)if(i.type==="AuthProbeService2")return!0;return!1}function en(e,t,i){let n=t.findIndex(s=>s.service.id===e);if(n===-1)return t;let r=[...t],o=i(r[n]);return o===r[n]?t:(r[n]=o,r)}var bp=()=>Ji((e,t)=>({currentAuth:-1,authItems:[],login:()=>{let i=t().authItems[t().currentAuth];if(!i||i.isPending||i.isLoggedIn)return;if(i.type!=="active")throw new Error("Cannot login to non-active service");let n=i.service.service.find(r=>r.type==="AuthAccessTokenService2");if(!n)throw new Error("Token service not found");e(()=>({authItems:en(i.id,t().authItems,r=>({...r,isPending:!0}))})),vp(i.service).then(()=>{Fu(n).then(r=>{let o=r.expiresIn,s=Date.now()+o*1e3;e(()=>({authItems:en(i.id,t().authItems,a=>({...a,isLoggedIn:!0,isPending:!1,session:{token:r.accessToken,expires:s}}))}))}).catch(r=>{e(()=>({authItems:en(i.id,t().authItems,o=>({...o,isLoggedIn:!1,isPending:!1,error:r.message}))}))})})},logout:()=>{let i=t().authItems[t().currentAuth];if(!i||i.isPending||!i.isLoggedIn)return;if(i.type!=="active")throw new Error("Cannot logout of non-active service");let n=i.service.service.find(s=>s.type==="AuthLogoutService2");if(!n)return;let r=`${n.id}?origin=${Db()}`,o=window.open(r);e(()=>({authItems:en(i.id,t().authItems,s=>({...s,isLoggedIn:!1,session:null,isPending:!1}))}))},nextAuth:()=>{let i=t().authItems.length,n=t().currentAuth+1;n>=i||e(()=>({currentAuth:n}))},previousAuth:()=>{let i=t().currentAuth-1;i<0||e(()=>({currentAuth:i}))},setAuth:i=>{i!==-1&&(i<0||i>=t().authItems.length)||e(()=>({currentAuth:i}))},addService:(i,n)=>{if(!i.service)return;let r=i.service.find(a=>a.type==="AuthAccessTokenService2"),o=i;if(t().authItems.find(a=>a.service.id===i.id)){e(()=>({authItems:en(i.id,t().authItems,a=>({...a,instances:a.instances+1}))}));return}if(e(()=>({currentAuth:o.profile==="active"?0:t().currentAuth,authItems:[{id:i.id,type:i.profile,service:i,probeId:n,canAuthenticate:!0,instances:1,isPending:!1,isLoggedIn:!1,session:null},...t().authItems]})),i.profile==="external"){if(!r)throw new Error("Token service not found");Fu(r).then(a=>{e(()=>({authItems:en(i.id,t().authItems,c=>({...c,isLoggedIn:!0,isPending:!1,session:{token:a.accessToken,expires:a.expiresIn}}))}))}).catch(a=>{e(()=>({authItems:en(i.id,t().authItems,c=>({...c,isLoggedIn:!1,isPending:!1,canAuthenticate:!1,error:a.message}))}))})}if(i.profile==="kiosk"){if(!r)throw new Error("Token service not found");e(()=>({authItems:en(i.id,t().authItems,a=>({...a,isPending:!0}))})),vp(o).then(()=>{Fu(r).then(a=>{e(()=>({authItems:en(i.id,t().authItems,c=>({...c,isLoggedIn:!0,isPending:!1,session:{token:a.accessToken,expires:a.expiresIn}}))}))}).catch(a=>{e(()=>({authItems:en(i.id,t().authItems,c=>({...c,isLoggedIn:!1,isPending:!1,error:a.message}))}))})})}i.profile},removeService:(i,n)=>{let r=t().currentAuth===t().authItems.findIndex(s=>s.service.id===i.id),o=t().currentAuth;if(r){let s=t().authItems.find(c=>c.service.id===i.id);s&&s.instances>1||(o=t().authItems.findIndex(u=>u.service.id!==i.id&&u.instances>0))}e(()=>({authItems:en(i.id,t().authItems,s=>({...s,instances:s.instances-1})),currentAuth:o}))}})),xp=(e,t)=>Ji((i,n)=>({service:e,status:e?"unknown":"success",shouldRedirect:!1,redirectResource:null,shouldSubstitute:!1,substituteResource:null,error:null,errorHeading:null,errorNote:null,shouldDisplayResource:!1,token:t||null,async probe(){if(!n().service)return;let r=n().service?.id;if(!r){i({status:"error",error:"Service ID not found",errorHeading:{en:["Service ID not found"]}});return}i({status:"probing"});let o=n().token;try{let s=await fetch(r,{headers:o?{Authorization:`Bearer ${n().token}`,Accept:"application/json"}:{Accept:"application/json"}}).then(a=>a.json());if(s.status===200)i({status:"success",shouldDisplayResource:!0,error:null,errorHeading:null,errorNote:null,shouldSubstitute:!1,shouldRedirect:!1});else if(s.status<400&&s.status>=300){if(!s.location)throw new Error("Redirect location not found");i({status:"error",shouldDisplayResource:!1,shouldRedirect:!0,redirectResource:s.location||null})}else if(s.status===401)i({status:"error",shouldDisplayResource:!1,shouldRedirect:!1,shouldSubstitute:!!s.substitute,substituteResource:s.substitute||null,error:"Unauthorized",errorHeading:s.heading||{en:["Unauthorized"]},errorNote:s.note||null});else throw new Error("Unknown error")}catch(s){i({status:"error",error:s.message,errorHeading:{en:["Unknown error"]}})}},setToken(r){i({token:r})}}));function wp(e){let t=e.service||e.services||[],i={hasAuth:!1,services:{}};for(let n of t)if(n.type==="AuthProbeService2"){i.services.probe=n,i.hasAuth=!0;let r=n.service.filter(o=>o.type==="AuthAccessService2");r[0]&&(i.services.access=r[0])}return i}async function Fu(e,{strict:t=!0}={}){return new Promise((i,n)=>{let r=Math.random().toString(36).substring(7),o=`${e.id}?messageId=${r}&origin=${window.location.origin}`,s=u=>{let l=u.data;if(l.messageId===r){if(t&&l.type!=="AuthAccessToken2"){a(),n("Invalid response, expected type=AuthAccessToken2");return}if(!l.accessToken){a(),n("Invalid response, expected accessToken");return}a(),i(l)}},a=()=>window.removeEventListener("message",s),c=document.createElement("iframe");c.src=o,c.style.display="none",document.body.appendChild(c),window.addEventListener("message",s)})}function Db(e){let t=window.location;if(e){let i=document.createElement("a");return i.href=e,i.protocol+"//"+i.hostname+(i.port?":"+i.port:"")}return t.protocol+"//"+t.hostname+(t.port?":"+t.port:"")}async function vp(e){let t=`${e.id}?origin=${Db()}`,i=window.open(t);if(!i)throw new Error("Failed to open window");return new Promise((n,r)=>{let o=setInterval(()=>{i.closed&&(clearInterval(o),n())},500)})}var vs=P(Z(),1);function zb(e){let t=(0,vs.useMemo)(()=>wp(e),[e]),i=Sp(t.services.access?.id),n=(0,vs.useMemo)(()=>xp(t.services.probe,i),[t.services.probe]),r=be(n);return(0,vs.useEffect)(()=>{r.status==="unknown"&&!i&&r.probe()},[t.services.probe,r.status]),(0,vs.useEffect)(()=>{i&&(r.setToken(i),r.probe())},[i]),[e,r,t.hasAuth]}var el=P(D(),1),ho=(0,tn.createContext)(null),Bb=(0,tn.createContext)(null);Bb.displayName="CurrentAuth";var Vb=(0,tn.createContext)(null);Vb.displayName="AuthActions";function Cp({children:e}){let t=(0,tn.useMemo)(()=>bp(),[]);return(0,el.jsx)(ho.Provider,{value:t,children:e})}function Tp(){return!!(0,tn.useContext)(ho)}function bs(){let e=(0,tn.useContext)(ho);if(!e)throw new Error("useAuthActions must be used within a AuthProvider");return e}function Wb(){let e=bs();return be(e,i=>({login:i.login,logout:i.logout,nextAuth:i.nextAuth,previousAuth:i.previousAuth,setAuth:i.setAuth,addService:i.addService,removeService:i.removeService}))}function NP(){let e=bs();return be(e,t=>t)}function $b(e){let t=bs();return be(t,n=>n.authItems.find(r=>r.service.id===e))}function Sp(e){let t=bs();return be(t,n=>n.authItems.find(r=>r.id===e)?.session?.token)}function DP(e){let t=bs();return be(t,n=>{let r=n.authItems.find(o=>o.service.id===e);return!r||!r.isLoggedIn||!r.session?null:r.session?.token||null})}function zP(e){let t=Wb(),i=$b(e.service.id);return(0,tn.useEffect)(()=>(t?.addService(e.service,e.probeId),()=>{t?.removeService(e.service,e.probeId)}),[e.service]),i?(i.error||!i.isLoggedIn,e.children):null}function Rp(){return null}function Pp(e){let[t,i,n]=zb(e.resource),r=e.fallbackComponent||Rp,o=e.loadingComponent||Rp,s=e.errorComponent||Rp,a=i.service,c=null;if(!n||!a)return e.children(t);let u=a.service.filter(l=>l.type==="AuthAccessService2");i.status==="error"&&(c=(0,el.jsx)(s,{resource:e.resource,error:i.error||"",heading:i.errorHeading,note:i.errorNote,extra:e.extra})),(i.status==="unknown"||i.status==="probing")&&(c=(0,el.jsx)(o,{})),i.status==="success"&&(c=e.children(t));for(let l of u)c=(0,el.jsx)(zP,{service:l,probeId:a.id,children:c},l.id);return c}var tl=P(Z(),1);var BP=e=>e.id||e["@id"];function VP(e){return(Array.isArray(e.service)?e.service:[e.service]).find(i=>i?.profile==="http://iiif.io/api/search/0/autocomplete"||i?.profile==="http://iiif.io/api/search/1/autocomplete"||i?.profile==="AutoCompleteService1")}var jb=e=>{let t;typeof e=="string"?t={"@context":"http://iiif.io/api/search/1/context.json",profile:"http://iiif.io/api/search/1/search","@id":e,id:e,service:[]}:t=e;let i=t?BP(t):void 0,n=null;return Ji((r,o)=>({service:t,resources:[],lastQuery:{},loading:!1,error:!1,highlight:null,hasSearch:!!t,hasAutocomplete:t?!!VP(t):!1,errorMessage:"",search(s,a={}){if(!i)throw new Error("No search service found.");n&&!n.signal.aborted&&n.abort(),n=new AbortController;let c=new URLSearchParams;s.q&&c.set("q",s.q),s.motivation&&c.set("motivation",s.motivation),s.date&&c.set("date",s.date),s.user&&c.set("user",s.user),r({loading:!0}),fetch(`${i}?${c.toString()}`,{signal:n.signal,headers:{"Content-Type":"application/json",Accept:"application/json",...a.headers||{}}}).then(async u=>{if(!n?.signal.aborted)if(u.ok){let l=await u.json();r({resources:l.resources,error:!1,errorMessage:""})}else r({resources:[],error:!0,errorMessage:u.statusText})})},clearSearch(){r({resources:[],error:!1,errorMessage:""})},highlightResult(s){let a=o().resources.find(c=>c["@id"]===s);r({highlight:a})},nextResult(){let s=o().resources,a=o().highlight;if(!a){r({highlight:s[0]||null});return}let c=s.findIndex(u=>u["@id"]===a["@id"]);if(c===-1){r({highlight:s[0]||null});return}r({highlight:s[c+1]||s[0]||null})},previousResult(){let s=o().resources,a=o().highlight;if(!a){r({highlight:s[s.length-1]||null});return}let c=s.findIndex(u=>u["@id"]===a["@id"]);if(c===-1){r({highlight:s[s.length-1]||null});return}if(c===0){r({highlight:s[s.length-1]||null});return}r({highlight:s[c-1]||s[s.length-1]||null})}}))};function Ap(){let e=Pt();return e?e.service.find(t=>t.profile==="SearchService1"||t.profile==="http://iiif.io/api/search/1/search"):void 0}var Nu=P(D(),1),xs=(0,tl.createContext)(null);xs.displayName="Search";function Hb(e){let t=Ap();return e.store?(0,Nu.jsx)(xs.Provider,{value:e.store,children:e.children}):(0,Nu.jsx)(WP,{service:t,children:e.children})}function WP({service:e,children:t}){let i=(0,tl.useMemo)(()=>jb(e),[e]);return(0,Nu.jsx)(xs.Provider,{value:i,children:t})}var pi=P(D(),1),il=()=>{},ws=(0,Du.createContext)({setCurrentCanvasId:il,setCurrentCanvasIndex:il,nextCanvas:il,previousCanvas:il,items:[],sequence:[],setSequenceIndex:il,currentSequenceIndex:0,hasNext:!1,hasPrevious:!1});function Ub(e){let t=Pt(),{cursor:i,visibleItems:n,next:r,sequence:o,items:s,setCanvasIndex:a,setCanvasId:c,previous:u,setSequenceIndex:l,hasNext:d,hasPrevious:h}=ku({startCanvas:e.startCanvas,disablePaging:e.pagingEnabled===!1}),p=(0,Du.useMemo)(()=>({sequence:o,items:s,setCurrentCanvasId:c,nextCanvas:r,previousCanvas:u,totalCanvases:s.length,setCurrentCanvasIndex:a,setSequenceIndex:l,currentSequenceIndex:i,hasNext:d,hasPrevious:h}),[o,s,c,r,u,s,a,l,i]);return t?n.length===0?null:(0,pi.jsx)(ws.Provider,{value:p,children:(0,pi.jsx)(Un.Provider,{value:n,children:(0,pi.jsx)(Di,{canvas:n[0],children:e.children})})}):(console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,pi.jsx)("div",{children:"Sorry, something went wrong."}))}function Ip(e){let t=Zi(e.vault),i=dp(e.manifest);if(!i)return console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,pi.jsx)("div",{children:"Sorry, something went wrong."});if(i.error)return(0,pi.jsx)("div",{children:i.error.toString()});if(!i.isLoaded)return(0,pi.jsx)("div",{children:"Loading..."});let n=(0,pi.jsx)(Ub,{...e,children:e.children});return(0,pi.jsx)(qn,{vault:t,children:(0,pi.jsx)(hp,{manifest:i.id,children:(0,pi.jsx)(Cp,{children:(0,pi.jsx)(Hb,{children:e.rangeId?(0,pi.jsx)(fp,{range:e.rangeId,children:n}):n})})})})}function fo(){return(0,qb.useContext)(ws)}var Ss=(e,t,i)=>{let n=e.length,r=i||me(n);for(let o=0;o<n;o++)r[o]=o%5===0?e[o+1]<t[3]&&e[o+3]>t[1]&&e[o+2]<t[4]&&e[o+4]>t[2]?1:0:e[o];return r};function me(e,t,i){return new Float32Array(e,t,i)}var Ep=(e,t,i)=>{let n=e[1]<=t[3]&&e[3]>=t[1]&&e[2]<=t[4]&&e[4]>=t[2],r=i||me(5);return n?(r[0]=1,r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r[3]=Math.min(e[3],t[3]),r[4]=Math.min(e[4],t[4]),r):(r[0]=0,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r)},Yb=e=>e.length/5;var nn=(e,t,i)=>{let n=i||me(9);return n[0]=e[0]*t[0]+e[1]*t[3]+e[2]*t[6],n[1]=e[0]*t[1]+e[1]*t[4]+e[2]*t[7],n[2]=e[0]*t[2]+e[1]*t[5]+e[2]*t[8],n[3]=e[3]*t[0]+e[4]*t[3]+e[5]*t[6],n[4]=e[3]*t[1]+e[4]*t[4]+e[5]*t[7],n[5]=e[3]*t[2]+e[4]*t[5]+e[5]*t[8],n[6]=e[6]*t[0]+e[7]*t[3]+e[8]*t[6],n[7]=e[6]*t[1]+e[7]*t[4]+e[8]*t[7],n[8]=e[6]*t[2]+e[7]*t[5]+e[8]*t[8],n},ke=class e{constructor(t){this.index=0,this.length=t,this.points=me(this.length)}static grid(t=1,i=1){return new e(5*t*i)}static point(t,i){let n=me(5);return n[0]=1,n[1]=t,n[2]=i,n[3]=t,n[4]=i,n}static positionPair(t){let i=me(5);return i[0]=1,i[1]=t.x1,i[2]=t.y1,i[3]=t.x2,i[4]=t.y2,i}static projection(t){return e.singleBox(t.width,t.height,t.x,t.y)}static singleBox(t,i,n=0,r=0){let o=me(5);return o[0]=1,o[1]=n,o[2]=r,o[3]=t+n,o[4]=i+r,o}row(t){return t(this)}addPoints(t,i,n,r){return this.points[this.index]=1,this.points[1+this.index]=t,this.points[2+this.index]=i,this.points[3+this.index]=n,this.points[4+this.index]=r,this.index+=5,this}addBox(t,i,n,r){return this.addPoints(t,i,t+n,i+r),this}build(){return this.points}};var Vi=(e,t)=>{let i=e.length;for(let n=0;n<i;n++)e[n]=n%5===0?t[6]*e[n+1]+t[7]*e[n+2]+t[8]*e[n]:n%5%2===1?t[0]*e[n]+t[1]*e[n+1]+t[2]:t[3]*e[n-1]+t[4]*e[n]+t[5];return e},rn=e=>{let t=me(9);return t[0]=e,t[4]=e,t[8]=1,t},zt=(e,t)=>{let i=me(9);return i[0]=1,i[2]=e,i[4]=1,i[5]=t,i[8]=1,i},po=(e,t,i)=>nn(zt((1-e)*t,(1-e)*i),rn(e)),Jt=(e,t,i)=>{let n=e.length,r=i&&i.length>=n?i.slice(0,n):me(n);for(let o=0;o<n;o++)r[o]=o%5===0?t[6]*e[o+1]+t[7]*e[o+2]+t[8]*e[o]:o%5%2===1?t[0]*e[o]+t[1]*e[o+1]+t[2]:t[3]*e[o-1]+t[4]*e[o]+t[5];return r};var $P=Object.create,cx=Object.defineProperty,jP=Object.getOwnPropertyDescriptor,HP=Object.getOwnPropertyNames,qP=Object.getPrototypeOf,UP=Object.prototype.hasOwnProperty,ul=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),YP=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(var r=HP(t),o=0,s=r.length,a;o<s;o++)a=r[o],!UP.call(e,a)&&a!==i&&cx(e,a,{get:(c=>t[c]).bind(null,a),enumerable:!(n=jP(t,a))||n.enumerable});return e},ux=(e,t,i)=>(i=e==null?{}:$P(qP(e)),YP(t||!e||!e.__esModule?cx(i,"default",{value:e,enumerable:!0}):i,e)),Is="onMouseDown.onMouseEnter.onMouseLeave.onMouseMove.onMouseOut.onMouseOver.onMouseUp.onTouchCancel.onTouchEnd.onTouchMove.onTouchStart.onPointerDown.onPointerMove.onPointerUp.onPointerCancel.onPointerEnter.onPointerLeave.onPointerOver.onPointerOut.onScroll.onWheel.onClick.onDragStart.onDragEnd.onDragEnter.onDragExit.onDrag.onDragOver.onContextMenu".split(".");function dx(){return Is.reduce((e,t)=>(e[t]=[],e),{})}var Pr=Is.reduce((e,t)=>(e[t.slice(2).toLowerCase()]=t,e[t]=t,e),{});function GP(e,t,i=1){let n=t.length;if(n===0)throw Error("No resources passed in.");let r=0,o=1/0;for(let s=0;s<n&&!(!t[s]||!t[s].display);s++){let a=Fp(t[s].display.scale,e/(i||1));a<o&&(o=a,r=s)}return r}function Fp(e,t){return Math.abs(e-t)}function Cs(e,t){let i=Fp(e.x,t.x),n=Fp(e.y,t.y);return Math.sqrt(i**2+n**2)}function KP(e){let t=e.length;return e.indexOf("/info.json")===t-10?e.slice(0,-10):e}function cl(e){"@babel/helpers - typeof";return cl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cl(e)}function XP(e,t){if(cl(e)!="object"||!e)return e;var i=e[Symbol.toPrimitive];if(i!==void 0){var n=i.call(e,t||"default");if(cl(n)!="object")return n;throw TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ZP(e){var t=XP(e,"string");return cl(t)=="symbol"?t:t+""}function b(e,t,i){return(t=ZP(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var dl=class Uu{constructor(t,i,n){b(this,"element",void 0),b(this,"runtime",void 0),b(this,"unsubscribe",void 0),b(this,"activatedEvents",[]),b(this,"eventHandlers",[]),b(this,"bounds",void 0),b(this,"listening",void 0),b(this,"pointerMoveEvent",void 0),b(this,"pointerEventState",{isClicking:!1,isDragging:!1,isPressed:!1,mousedOver:[],itemsBeingDragged:[],mouseDownStart:{x:0,y:0},lastTouches:[]}),b(this,"options",void 0),b(this,"_realPointerMove",o=>{this.pointerMoveEvent=o}),b(this,"onWheelEvent",o=>{o.preventDefault(),this.onPointerEvent(o)}),b(this,"onContextMenu",o=>{o.preventDefault();let s="onContextMenu";if(this.runtime.world.activatedEvents.indexOf(s)!==-1){let{x:a,y:c}=this.runtime.viewerToWorld(o.clientX-this.bounds.left,o.clientY-this.bounds.top);this.assignToEvent(o,a,c),this.runtime.world.propagatePointerEvent(s,o,a,c)}}),b(this,"onTouchEvent",o=>{let s=Pr[o.type],a=[],c=o.touches.length;for(let u=0;u<c;u++){let l=o.touches.item(u);if(!l)continue;let{x:d,y:h}=this.runtime.viewerToWorld(l.clientX-this.bounds.left,l.clientY-this.bounds.top),p={id:l.identifier,x:d,y:h};a.push(p)}a.length&&this.assignToEvent(o,a[0].x,a[0].y),s!=="onTouchEnd"&&s!=="onTouchCancel"?(this.pointerEventState.lastTouches=a,o.atlasTouches=a,this.runtime.world.propagateTouchEvent(s,o,a)):(o.atlasTouches=[],this.runtime.world.propagateTouchEvent(s,o,this.pointerEventState.lastTouches),this.pointerEventState.lastTouches=[])}),b(this,"onPointerEvent",o=>{if(o.button===2)return;let s=Pr[o.type];if(s&&this.runtime.world.activatedEvents.indexOf(s)!==-1){let{x:a,y:c}=this.runtime.viewerToWorld(o.clientX-this.bounds.left,o.clientY-this.bounds.top);this.assignToEvent(o,a,c),this.runtime.world.propagatePointerEvent(s,o,a,c)}}),b(this,"onPointerDown",o=>{o.button!==2&&(this.pointerEventState.isPressed=!0,this.pointerEventState.isClicking=!0,this.pointerEventState.mouseDownStart.x=o.clientX,this.pointerEventState.mouseDownStart.y=o.clientY,setTimeout(()=>{this.runtime&&(this.pointerEventState.isClicking=!1)},250),setTimeout(()=>{if(this.runtime&&this.pointerEventState.isPressed&&!this.pointerEventState.isDragging){if(this.isHoldToHomeIntentActive())return;let s=this.runtime.viewerToWorld(this.pointerEventState.mouseDownStart.x-this.bounds.left,this.pointerEventState.mouseDownStart.y-this.bounds.top);this.pointerEventState.isDragging=!0,this.pointerEventState.itemsBeingDragged=this.runtime.world.propagatePointerEvent("onDragStart",o,s.x,s.y)}},800),this.onPointerEvent(o))}),b(this,"onPointerUp",o=>{if(o.button!==2){if(this.pointerEventState.isClicking){let{x:s,y:a}=this.runtime.viewerToWorld(o.clientX-this.bounds.left,o.clientY-this.bounds.top);this.assignToEvent(o,s,a),this.runtime.world.propagatePointerEvent("onClick",o,s,a)}if(this.pointerEventState.isDragging){for(let s of this.pointerEventState.itemsBeingDragged)s.dispatchEvent("onDragEnd",o);this.pointerEventState.isDragging=!1}this.pointerEventState.isClicking=!1,this.pointerEventState.isPressed=!1,this.pointerEventState.itemsBeingDragged=[],this.onPointerEvent(o)}}),b(this,"onPointerMove",o=>{this.pointerMoveEvent=void 0;let{x:s,y:a}=this.runtime.viewerToWorld(o.clientX-this.bounds.left,o.clientY-this.bounds.top);if(Number.isNaN(s)||Number.isNaN(a))return;this.assignToEvent(o,s,a),this.runtime.world.propagatePointerEvent("onPointerMove",o,s,a);let c=this.runtime.world.propagatePointerEvent("onMouseMove",o,s,a),u=[],l=[];for(let d of c)u.push(d.id),l.push(d),this.pointerEventState.mousedOver.indexOf(d)===-1&&(d.dispatchEvent("onMouseEnter",o),d.dispatchEvent("onPointerEnter",o),d.dispatchEvent("onMouseOver",o),d.dispatchEvent("onPointerOver",o));for(let d of this.pointerEventState.mousedOver)u.indexOf(d.id)===-1&&(d.dispatchEvent("onMouseLeave",o),d.dispatchEvent("onPointerLeave",o),d.dispatchEvent("onMouseOut",o),d.dispatchEvent("onPointerOut",o));if(this.pointerEventState.isDragging)for(let d of this.pointerEventState.itemsBeingDragged)d.dispatchEvent("onDrag",o);if(this.pointerEventState.isPressed&&!this.pointerEventState.isDragging&&!this.isHoldToHomeIntentActive()&&Cs(this.pointerEventState.mouseDownStart,{x:o.clientX,y:o.clientY})>50){let d=this.runtime.viewerToWorld(this.pointerEventState.mouseDownStart.x-this.bounds.left,this.pointerEventState.mouseDownStart.y-this.bounds.top);this.pointerEventState.isDragging=!0,this.pointerEventState.itemsBeingDragged=this.runtime.world.propagatePointerEvent("onDragStart",{...o,atlas:{x:d.x,y:d.y}},d.x,d.y)}this.pointerEventState.mousedOver=l}),this.element=t,this.runtime=i,this.unsubscribe=i.world.addLayoutSubscriber(this.layoutSubscriber.bind(this)),this.bounds=t.getBoundingClientRect(),this.listening=!1,this.options={simulationRate:0,...n||{}};let r=0;i.registerHook("useFrame",o=>{r+=o,r>this.options.simulationRate&&this.pointerMoveEvent&&(r=0,i.updateNextFrame())}),i.registerHook("useBeforeFrame",()=>{this.pointerMoveEvent&&this.onPointerMove(this.pointerMoveEvent)}),this.activateEvents()}updateBounds(){this.bounds=this.element.getBoundingClientRect(),this.runtime.updateRendererScreenPosition()}layoutSubscriber(t){t==="event-activation"&&this.listening==0&&this.activateEvents()}assignToEvent(t,i,n){Uu.eventPool.atlas.x=i,Uu.eventPool.atlas.y=n,t.atlas=Uu.eventPool.atlas}isHoldToHomeIntentActive(){return this.element.dataset.intent==="hold-home"}activateEvents(){this.listening=!0,this.element.addEventListener("pointermove",this._realPointerMove),this.element.addEventListener("pointerup",this.onPointerUp),this.element.addEventListener("pointerdown",this.onPointerDown),this.element.addEventListener("mousedown",this.onPointerEvent),this.element.addEventListener("mouseup",this.onPointerEvent),this.element.addEventListener("pointercancel",this.onPointerEvent),this.element.addEventListener("wheel",this.onWheelEvent),this.element.addEventListener("contextmenu",this.onContextMenu),this.element.addEventListener("touchstart",this.onTouchEvent),this.element.addEventListener("touchcancel",this.onTouchEvent),this.element.addEventListener("touchend",this.onTouchEvent),this.element.addEventListener("touchmove",this.onTouchEvent)}normalizeEventName(t){return t.startsWith("on")?t.slice(2).toLowerCase():t.toLowerCase()}stop(){this.listening=!1,this.element.removeEventListener("pointermove",this._realPointerMove),this.element.removeEventListener("pointerup",this.onPointerUp),this.element.removeEventListener("pointerdown",this.onPointerDown),this.element.removeEventListener("mousedown",this.onPointerEvent),this.element.removeEventListener("mouseup",this.onPointerEvent),this.element.removeEventListener("pointercancel",this.onPointerEvent),this.element.removeEventListener("wheel",this.onWheelEvent),this.element.removeEventListener("touchstart",this.onTouchEvent),this.element.removeEventListener("touchcancel",this.onTouchEvent),this.element.removeEventListener("touchend",this.onTouchEvent),this.element.removeEventListener("touchmove",this.onTouchEvent),this.unsubscribe();for(let[t,i]of this.eventHandlers)this.element.removeEventListener(this.normalizeEventName(t),i)}};b(dl,"eventPool",{atlas:{x:0,y:0}});var nl=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Gu=typeof AbortController=="function"?AbortController:class{constructor(){this.signal=new hx}abort(e=Error("This operation was aborted")){this.signal.reason=this.signal.reason||e,this.signal.aborted=!0,this.signal.dispatchEvent({type:"abort",target:this.signal})}},QP=typeof AbortSignal=="function",JP=typeof Gu.AbortSignal=="function",hx=QP?AbortSignal:JP?Gu.AbortController:class{constructor(){this.reason=void 0,this.aborted=!1,this._listeners=[]}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,this.onabort(e),this._listeners.forEach(t=>t(e),this))}onabort(){}addEventListener(e,t){e==="abort"&&this._listeners.push(t)}removeEventListener(e,t){e==="abort"&&(this._listeners=this._listeners.filter(i=>i!==t))}},Up=new Set,Mp=(e,t)=>{let i=`LRU_CACHE_OPTION_${e}`;Xu(i)&&Yp(i,`${e} option`,`options.${t}`,Zu)},kp=(e,t)=>{let i=`LRU_CACHE_METHOD_${e}`;if(Xu(i)){let{prototype:n}=Zu,{get:r}=Object.getOwnPropertyDescriptor(n,e);Yp(i,`${e} method`,`cache.${t}()`,r)}},eA=(e,t)=>{let i=`LRU_CACHE_PROPERTY_${e}`;if(Xu(i)){let{prototype:n}=Zu,{get:r}=Object.getOwnPropertyDescriptor(n,e);Yp(i,`${e} property`,`cache.${t}`,r)}},fx=(...e)=>{typeof process=="object"&&process&&typeof process.emitWarning=="function"?process.emitWarning(...e):console.error(...e)},Xu=e=>!Up.has(e),Yp=(e,t,i,n)=>{Up.add(e),fx(`The ${t} is deprecated. Please use ${i} instead.`,"DeprecationWarning",e,n)},Tr=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),px=e=>Tr(e)?e<=2**8?Uint8Array:e<=2**16?Uint16Array:e<=2**32?Uint32Array:e<=2**53-1?Yu:null:null,Yu=class extends Array{constructor(e){super(e),this.fill(0)}},tA=class{constructor(e){if(e===0)return[];this.heap=new(px(e))(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},Zu=class Np{constructor(t={}){let{max:i=0,ttl:n,ttlResolution:r=1,ttlAutopurge:o,updateAgeOnGet:s,updateAgeOnHas:a,allowStale:c,dispose:u,disposeAfter:l,noDisposeOnSet:d,noUpdateTTL:h,maxSize:p=0,maxEntrySize:f=0,sizeCalculation:m,fetchMethod:g,fetchContext:y,noDeleteOnFetchRejection:x,noDeleteOnStaleGet:w,allowStaleOnFetchRejection:R,allowStaleOnFetchAbort:v,ignoreFetchAbort:S}=t,{length:C,maxAge:T,stale:I}=t instanceof Np?{}:t;if(i!==0&&!Tr(i))throw TypeError("max option must be a nonnegative integer");let E=i?px(i):Array;if(!E)throw Error("invalid max value: "+i);if(this.max=i,this.maxSize=p,this.maxEntrySize=f||this.maxSize,this.sizeCalculation=m||C,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=g||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw TypeError("fetchMethod must be a function if specified");if(this.fetchContext=y,!this.fetchMethod&&y!==void 0)throw TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=Array(i).fill(null),this.valList=Array(i).fill(null),this.next=new E(i),this.prev=new E(i),this.head=0,this.tail=0,this.free=new tA(i),this.initialFill=1,this.size=0,typeof u=="function"&&(this.dispose=u),typeof l=="function"?(this.disposeAfter=l,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!d,this.noUpdateTTL=!!h,this.noDeleteOnFetchRejection=!!x,this.allowStaleOnFetchRejection=!!R,this.allowStaleOnFetchAbort=!!v,this.ignoreFetchAbort=!!S,this.maxEntrySize!==0){if(this.maxSize!==0&&!Tr(this.maxSize))throw TypeError("maxSize must be a positive integer if specified");if(!Tr(this.maxEntrySize))throw TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!c||!!I,this.noDeleteOnStaleGet=!!w,this.updateAgeOnGet=!!s,this.updateAgeOnHas=!!a,this.ttlResolution=Tr(r)||r===0?r:1,this.ttlAutopurge=!!o,this.ttl=n||T||0,this.ttl){if(!Tr(this.ttl))throw TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){let V="LRU_CACHE_UNBOUNDED";Xu(V)&&(Up.add(V),fx("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",V,Np))}I&&Mp("stale","allowStale"),T&&Mp("maxAge","ttl"),C&&Mp("length","sizeCalculation")}getRemainingTTL(t){return this.has(t,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new Yu(this.max),this.starts=new Yu(this.max),this.setItemTTL=(n,r,o=nl.now())=>{if(this.starts[n]=r===0?0:o,this.ttls[n]=r,r!==0&&this.ttlAutopurge){let s=setTimeout(()=>{this.isStale(n)&&this.delete(this.keyList[n])},r+1);s.unref&&s.unref()}},this.updateItemAge=n=>{this.starts[n]=this.ttls[n]===0?0:nl.now()},this.statusTTL=(n,r)=>{n&&(n.ttl=this.ttls[r],n.start=this.starts[r],n.now=t||i(),n.remainingTTL=n.now+n.ttl-n.start)};let t=0,i=()=>{let n=nl.now();if(this.ttlResolution>0){t=n;let r=setTimeout(()=>t=0,this.ttlResolution);r.unref&&r.unref()}return n};this.getRemainingTTL=n=>{let r=this.keyMap.get(n);return r===void 0?0:this.ttls[r]===0||this.starts[r]===0?1/0:this.starts[r]+this.ttls[r]-(t||i())},this.isStale=n=>this.ttls[n]!==0&&this.starts[n]!==0&&(t||i())-this.starts[n]>this.ttls[n]}updateItemAge(t){}statusTTL(t,i){}setItemTTL(t,i,n){}isStale(t){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new Yu(this.max),this.removeItemSize=t=>{this.calculatedSize-=this.sizes[t],this.sizes[t]=0},this.requireSize=(t,i,n,r)=>{if(this.isBackgroundFetch(i))return 0;if(!Tr(n))if(r){if(typeof r!="function")throw TypeError("sizeCalculation must be a function");if(n=r(i,t),!Tr(n))throw TypeError("sizeCalculation return invalid (expect positive integer)")}else throw TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return n},this.addItemSize=(t,i,n)=>{if(this.sizes[t]=i,this.maxSize){let r=this.maxSize-this.sizes[t];for(;this.calculatedSize>r;)this.evict(!0)}this.calculatedSize+=this.sizes[t],n&&(n.entrySize=i,n.totalCalculatedSize=this.calculatedSize)}}removeItemSize(t){}addItemSize(t,i){}requireSize(t,i,n,r){if(n||r)throw TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:t=this.allowStale}={}){if(this.size)for(let i=this.tail;!(!this.isValidIndex(i)||((t||!this.isStale(i))&&(yield i),i===this.head));)i=this.prev[i]}*rindexes({allowStale:t=this.allowStale}={}){if(this.size)for(let i=this.head;!(!this.isValidIndex(i)||((t||!this.isStale(i))&&(yield i),i===this.tail));)i=this.next[i]}isValidIndex(t){return t!==void 0&&this.keyMap.get(this.keyList[t])===t}*entries(){for(let t of this.indexes())this.valList[t]!==void 0&&this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield[this.keyList[t],this.valList[t]])}*rentries(){for(let t of this.rindexes())this.valList[t]!==void 0&&this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield[this.keyList[t],this.valList[t]])}*keys(){for(let t of this.indexes())this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.keyList[t])}*rkeys(){for(let t of this.rindexes())this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.keyList[t])}*values(){for(let t of this.indexes())this.valList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.valList[t])}*rvalues(){for(let t of this.rindexes())this.valList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.valList[t])}[Symbol.iterator](){return this.entries()}find(t,i){for(let n of this.indexes()){let r=this.valList[n],o=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;if(o!==void 0&&t(o,this.keyList[n],this))return this.get(this.keyList[n],i)}}forEach(t,i=this){for(let n of this.indexes()){let r=this.valList[n],o=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;o!==void 0&&t.call(i,o,this.keyList[n],this)}}rforEach(t,i=this){for(let n of this.rindexes()){let r=this.valList[n],o=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;o!==void 0&&t.call(i,o,this.keyList[n],this)}}get prune(){return kp("prune","purgeStale"),this.purgeStale}purgeStale(){let t=!1;for(let i of this.rindexes({allowStale:!0}))this.isStale(i)&&(this.delete(this.keyList[i]),t=!0);return t}dump(){let t=[];for(let i of this.indexes({allowStale:!0})){let n=this.keyList[i],r=this.valList[i],o=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;if(o===void 0)continue;let s={value:o};if(this.ttls){s.ttl=this.ttls[i];let a=nl.now()-this.starts[i];s.start=Math.floor(Date.now()-a)}this.sizes&&(s.size=this.sizes[i]),t.unshift([n,s])}return t}load(t){this.clear();for(let[i,n]of t){if(n.start){let r=Date.now()-n.start;n.start=nl.now()-r}this.set(i,n.value,n)}}dispose(t,i,n){}set(t,i,{ttl:n=this.ttl,start:r,noDisposeOnSet:o=this.noDisposeOnSet,size:s=0,sizeCalculation:a=this.sizeCalculation,noUpdateTTL:c=this.noUpdateTTL,status:u}={}){if(s=this.requireSize(t,i,s,a),this.maxEntrySize&&s>this.maxEntrySize)return u&&(u.set="miss",u.maxEntrySizeExceeded=!0),this.delete(t),this;let l=this.size===0?void 0:this.keyMap.get(t);if(l===void 0)l=this.newIndex(),this.keyList[l]=t,this.valList[l]=i,this.keyMap.set(t,l),this.next[this.tail]=l,this.prev[l]=this.tail,this.tail=l,this.size++,this.addItemSize(l,s,u),u&&(u.set="add"),c=!1;else{this.moveToTail(l);let d=this.valList[l];if(i!==d){if(this.isBackgroundFetch(d)?d.__abortController.abort(Error("replaced")):o||(this.dispose(d,t,"set"),this.disposeAfter&&this.disposed.push([d,t,"set"])),this.removeItemSize(l),this.valList[l]=i,this.addItemSize(l,s,u),u){u.set="replace";let h=d&&this.isBackgroundFetch(d)?d.__staleWhileFetching:d;h!==void 0&&(u.oldValue=h)}}else u&&(u.set="update")}if(n!==0&&this.ttl===0&&!this.ttls&&this.initializeTTLTracking(),c||this.setItemTTL(l,n,r),this.statusTTL(u,l),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length===0?this.initialFill++:this.free.pop()}pop(){if(this.size){let t=this.valList[this.head];return this.evict(!0),t}}evict(t){let i=this.head,n=this.keyList[i],r=this.valList[i];return this.isBackgroundFetch(r)?r.__abortController.abort(Error("evicted")):(this.dispose(r,n,"evict"),this.disposeAfter&&this.disposed.push([r,n,"evict"])),this.removeItemSize(i),t&&(this.keyList[i]=null,this.valList[i]=null,this.free.push(i)),this.head=this.next[i],this.keyMap.delete(n),this.size--,i}has(t,{updateAgeOnHas:i=this.updateAgeOnHas,status:n}={}){let r=this.keyMap.get(t);if(r!==void 0)if(this.isStale(r))n&&(n.has="stale",this.statusTTL(n,r));else return i&&this.updateItemAge(r),n&&(n.has="hit"),this.statusTTL(n,r),!0;else n&&(n.has="miss");return!1}peek(t,{allowStale:i=this.allowStale}={}){let n=this.keyMap.get(t);if(n!==void 0&&(i||!this.isStale(n))){let r=this.valList[n];return this.isBackgroundFetch(r)?r.__staleWhileFetching:r}}backgroundFetch(t,i,n,r){let o=i===void 0?void 0:this.valList[i];if(this.isBackgroundFetch(o))return o;let s=new Gu;n.signal&&n.signal.addEventListener("abort",()=>s.abort(n.signal.reason));let a={signal:s.signal,options:n,context:r},c=(p,f=!1)=>{let{aborted:m}=s.signal,g=n.ignoreFetchAbort&&p!==void 0;return n.status&&(m&&!f?(n.status.fetchAborted=!0,n.status.fetchError=s.signal.reason,g&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),m&&!g&&!f?l(s.signal.reason):(this.valList[i]===h&&(p===void 0?h.__staleWhileFetching?this.valList[i]=h.__staleWhileFetching:this.delete(t):(n.status&&(n.status.fetchUpdated=!0),this.set(t,p,a.options))),p)},u=p=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=p),l(p)),l=p=>{let{aborted:f}=s.signal,m=f&&n.allowStaleOnFetchAbort,g=m||n.allowStaleOnFetchRejection,y=g||n.noDeleteOnFetchRejection;if(this.valList[i]===h&&(!y||h.__staleWhileFetching===void 0?this.delete(t):m||(this.valList[i]=h.__staleWhileFetching)),g)return n.status&&h.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),h.__staleWhileFetching;if(h.__returned===h)throw p},d=(p,f)=>{this.fetchMethod(t,o,a).then(m=>p(m),f),s.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(p(),n.allowStaleOnFetchAbort&&(p=m=>c(m,!0)))})};n.status&&(n.status.fetchDispatched=!0);let h=new Promise(d).then(c,u);return h.__abortController=s,h.__staleWhileFetching=o,h.__returned=null,i===void 0?(this.set(t,h,{...a.options,status:void 0}),i=this.keyMap.get(t)):this.valList[i]=h,h}isBackgroundFetch(t){return t&&typeof t=="object"&&typeof t.then=="function"&&Object.prototype.hasOwnProperty.call(t,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(t,"__returned")&&(t.__returned===t||t.__returned===null)}async fetch(t,{allowStale:i=this.allowStale,updateAgeOnGet:n=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:s=this.noDisposeOnSet,size:a=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:l=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:d=this.allowStaleOnFetchRejection,ignoreFetchAbort:h=this.ignoreFetchAbort,allowStaleOnFetchAbort:p=this.allowStaleOnFetchAbort,fetchContext:f=this.fetchContext,forceRefresh:m=!1,status:g,signal:y}={}){if(!this.fetchMethod)return g&&(g.fetch="get"),this.get(t,{allowStale:i,updateAgeOnGet:n,noDeleteOnStaleGet:r,status:g});let x={allowStale:i,updateAgeOnGet:n,noDeleteOnStaleGet:r,ttl:o,noDisposeOnSet:s,size:a,sizeCalculation:c,noUpdateTTL:u,noDeleteOnFetchRejection:l,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:p,ignoreFetchAbort:h,status:g,signal:y},w=this.keyMap.get(t);if(w===void 0){g&&(g.fetch="miss");let R=this.backgroundFetch(t,w,x,f);return R.__returned=R}else{let R=this.valList[w];if(this.isBackgroundFetch(R)){let I=i&&R.__staleWhileFetching!==void 0;return g&&(g.fetch="inflight",I&&(g.returnedStale=!0)),I?R.__staleWhileFetching:R.__returned=R}let v=this.isStale(w);if(!m&&!v)return g&&(g.fetch="hit"),this.moveToTail(w),n&&this.updateItemAge(w),this.statusTTL(g,w),R;let S=this.backgroundFetch(t,w,x,f),C=S.__staleWhileFetching!==void 0,T=C&&i;return g&&(g.fetch=C&&v?"stale":"refresh",T&&v&&(g.returnedStale=!0)),T?S.__staleWhileFetching:S.__returned=S}}get(t,{allowStale:i=this.allowStale,updateAgeOnGet:n=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:o}={}){let s=this.keyMap.get(t);if(s!==void 0){let a=this.valList[s],c=this.isBackgroundFetch(a);return this.statusTTL(o,s),this.isStale(s)?(o&&(o.get="stale"),c?(o&&(o.returnedStale=i&&a.__staleWhileFetching!==void 0),i?a.__staleWhileFetching:void 0):(r||this.delete(t),o&&(o.returnedStale=i),i?a:void 0)):(o&&(o.get="hit"),c?a.__staleWhileFetching:(this.moveToTail(s),n&&this.updateItemAge(s),a))}else o&&(o.get="miss")}connect(t,i){this.prev[i]=t,this.next[t]=i}moveToTail(t){t!==this.tail&&(t===this.head?this.head=this.next[t]:this.connect(this.prev[t],this.next[t]),this.connect(this.tail,t),this.tail=t)}get del(){return kp("del","delete"),this.delete}delete(t){let i=!1;if(this.size!==0){let n=this.keyMap.get(t);if(n!==void 0)if(i=!0,this.size===1)this.clear();else{this.removeItemSize(n);let r=this.valList[n];this.isBackgroundFetch(r)?r.__abortController.abort(Error("deleted")):(this.dispose(r,t,"delete"),this.disposeAfter&&this.disposed.push([r,t,"delete"])),this.keyMap.delete(t),this.keyList[n]=null,this.valList[n]=null,n===this.tail?this.tail=this.prev[n]:n===this.head?this.head=this.next[n]:(this.next[this.prev[n]]=this.next[n],this.prev[this.next[n]]=this.prev[n]),this.size--,this.free.push(n)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return i}clear(){for(let t of this.rindexes({allowStale:!0})){let i=this.valList[t];if(this.isBackgroundFetch(i))i.__abortController.abort(Error("deleted"));else{let n=this.keyList[t];this.dispose(i,n,"delete"),this.disposeAfter&&this.disposed.push([i,n,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return kp("reset","clear"),this.clear}get length(){return eA("length","size"),this.size}static get AbortController(){return Gu}static get AbortSignal(){return hx}},iA=Zu,hl=(e=21)=>{let t="",i=crypto.getRandomValues(new Uint8Array(e));for(;e--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[i[e]&63];return t},an=class{get crop(){return this._crop}set crop(e){this._crop=e}getObjectsAt(e){return[]}getAllPointsAt(e,t,i){return[]}getScheduledUpdates(e,t){return[]}constructor(){b(this,"__id",void 0),b(this,"__revision",0),b(this,"__host",void 0),b(this,"__onCreate",void 0),b(this,"__parent",void 0),b(this,"__owner",{value:void 0}),b(this,"__state",{}),b(this,"eventHandlers",void 0),b(this,"scale",1),b(this,"layers",[]),b(this,"time",[]),b(this,"_crop",void 0),b(this,"cropData",void 0),b(this,"id",void 0),b(this,"addEventListener",(e,t,i)=>{let n=Pr[e];if(!this.eventHandlers[n])throw Error(`Unknown event ${n}`);this.eventHandlers[n].indexOf(t)===-1&&this.eventHandlers[n].push(t)}),b(this,"removeEventListener",(e,t)=>{let i=Pr[e];if(!this.eventHandlers[i]){console.warn(`Unknown event ${i}`);return}this.eventHandlers[i].indexOf(t)!==-1&&(this.eventHandlers[i]=this.eventHandlers[i].filter(n=>n!==t))}),this.id=this.__id=hl(),this.eventHandlers=dx()}dispatchEvent(e,t){let i=this.eventHandlers[e],n=i?i.length:0,r=!1;if(n)for(let o=0;o<n;o++)try{i[o]?.(t),r=!0}catch(s){console.error(e,s)}return r}get x(){return this.points[1]}get y(){return this.points[2]}get width(){return this.points[3]-this.points[1]}get height(){return this.points[4]-this.points[2]}translate(e,t){Vi(this.points,zt(e,t))}atScale(e){Vi(this.points,po(e,this.x,this.y)),this.scale*=e}transform(e){Vi(this.points,e)}applyProps(e){this.__revision++}appendChild(e){}removeChild(e){}insertBefore(e,t){}hideInstance(){}},zu=/([0-9]+(px|em)\s+)+(solid)\s+(.*)/g,Bu={},nA=["backgroundColor","opacity","boxShadow","borderColor","borderWidth","borderStyle","outlineColor","outlineWidth","outlineOffset","outlineStyle"],Ir=class extends an{constructor(){super(),b(this,"id",void 0),b(this,"type","spacial-content"),b(this,"points",void 0),b(this,"hoverEvents",!1),b(this,"activeEvents",!1),b(this,"display",{x:0,y:0,scale:1,width:-1,height:-1,points:me(5)}),b(this,"_parsed",{border:{id:null,match:[]},outline:{id:null,match:[]}}),b(this,"hovering",void 0),b(this,"pressing",void 0),b(this,"props",{}),b(this,"addHover",()=>{this.hovering=!0,this.__revision++}),b(this,"removeHover",()=>{this.hovering=!1,this.pressing=!1,this.__revision++}),b(this,"addPress",()=>{this.pressing=!0,this.__revision++}),b(this,"removePress",()=>{this.pressing=!1,this.__revision++}),this.id=hl(12),this.points=me(5)}getAllPointsAt(e,t){return[[this,this.points,t]]}applyProps(e={}){let t=!1;if(e.interactive!==this.props.interactive&&(t=!0,this.props.interactive=e.interactive),e.style){let i=e.border||e.style.border;if(i!==this._parsed.border.id)if(!i)this._parsed.border.id=null,this._parsed.border.match=[];else{let n=Bu[i]||zu.exec(i)||zu.exec(i);n&&(this._parsed.border.id=i,this._parsed.border.match=Bu[i]=n)}if(this._parsed.border.id&&(e.style.borderWidth=this._parsed.border.match[1],e.style.borderStyle="solid",e.style.borderColor=this._parsed.border.match[4]),e.style.outline!==this._parsed.outline.id)if(!e.style.outline)this._parsed.outline.id=null,this._parsed.outline.match=[];else{let n=Bu[e.style.outline]||zu.exec(e.style.outline)||zu.exec(e.style.outline);n&&(this._parsed.outline.id=e.style.outline,this._parsed.outline.match=Bu[e.style.outline]=n)}this._parsed.outline.id&&(e.style.outlineWidth=this._parsed.outline.match[1],e.style.outlineStyle="solid",e.style.outlineColor=this._parsed.outline.match[4]),this.props.style=e.style,e.backgroundColor&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.backgroundColor,t=!0),e.style.background&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.style.background,t=!0);for(let n of nA)if(this.props.style[n]!==e.style[n]){t=!0;break}e.style[":hover"]!==this.props.hoverStyles&&(this.props.hoverStyles=e.style[":hover"],this.hoverEvents||(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),t=!0),e.style[":active"]!==this.props.pressStyles&&(this.props.pressStyles=e.style[":active"],this.activeEvents||(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0)}e.href!==this.props.href&&(this.props.href=e.href,t=!0),e.hrefTarget!==this.props.hrefTarget&&(this.props.hrefTarget=e.hrefTarget,t=!0),e.title!==this.props.title&&(this.props.title=e.title,t=!0),e.className!==this.props.className&&(this.props.className=e.className,e.className&&!this.hoverEvents&&(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),e.className&&!this.activeEvents&&(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0),e.relativeSize!==this.props.relativeSize&&(this.props.relativeSize=e.relativeSize,t=!0),e.relativeStyle!==this.props.relativeStyle&&(this.props.relativeStyle=e.relativeStyle,t=!0),e.html!==this.props.html&&(this.props.html=e.html,t=!0),e.target&&(e.target.width!==this.display.width||e.target.height!==this.display.height||e.target.x!==this.points[1]||e.target.y!==this.points[2])&&(t=!0,this.points=ke.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.points=ke.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.width=e.target.width,this.display.height=e.target.height),t&&this.__revision++}},Vu=/([0-9]+(px|em)\s+)+(solid)\s+(.*)/g,Wu={},rA=["backgroundColor","opacity","boxShadow","borderColor","borderWidth","borderStyle","outlineColor","outlineWidth","outlineOffset","outlineStyle"],fl=class extends an{constructor(){super(),b(this,"id",void 0),b(this,"type","spacial-content"),b(this,"isShape",!0),b(this,"points",void 0),b(this,"hoverEvents",!1),b(this,"activeEvents",!1),b(this,"display",{x:0,y:0,scale:1,width:-1,height:-1,points:me(5)}),b(this,"boundingBox",null),b(this,"_parsed",{border:{id:null,match:[]},outline:{id:null,match:[]}}),b(this,"hovering",void 0),b(this,"pressing",void 0),b(this,"props",{}),b(this,"shape",{type:"none"}),b(this,"addHover",()=>{this.hovering=!0,this.__revision++}),b(this,"removeHover",()=>{this.hovering=!1,this.pressing=!1,this.__revision++}),b(this,"addPress",()=>{this.pressing=!0,this.__revision++}),b(this,"removePress",()=>{this.pressing=!1,this.__revision++}),this.id=hl(12),this.points=me(5),this.shape={type:"none"}}updateBoundingBox(){if(this.shape.type==="none")return;let e=this.shape.points;if(this.shape.points.length>2){let t=Math.min(...e.map(o=>o[0])),i=Math.min(...e.map(o=>o[1])),n=Math.max(0,...e.map(o=>o[0])),r=Math.max(0,...e.map(o=>o[1]));this.boundingBox={x:t,y:i,width:n-t,height:r-i};return}this.boundingBox=null}intersects(e){if(!e||this.shape.type==="none")return!1;let[t,i]=e,n=this.shape.points,r=this.boundingBox;if(r||(this.updateBoundingBox(),r=this.boundingBox),!r||t<r.x||t>r.x+r.width||i<r.y||i>r.height+r.y)return!1;let o=!1;for(let s=0,a=n.length-1;s<n.length;a=s++)n[s][1]>i!=n[a][1]>i&&t<(n[a][0]-n[s][0])*(i-n[s][1])/(n[a][1]-n[s][1])+n[s][0]&&(o=!o);return o}getAllPointsAt(e,t){return e[3]-e[1]===1&&e[4]-e[2]===1?this.intersects([e[1],e[2]])?[[this,this.points,t]]:[]:[[this,this.points,t]]}applyProps(e={}){let t=!1;if(e.points)if(this.shape.type!=="polygon"||this.shape.points.length!==e.points.length)this.shape={type:"polygon",points:e.points,open:e.open},this.updateBoundingBox();else{let i=!1,n=e.points.length;for(let r=0;r<n;r++)if(e.points[r][0]!==this.shape.points[r][0]||e.points[r][1]!==this.shape.points[r][1]){i=!0;break}i&&(this.shape={type:"polygon",points:e.points,open:e.open},this.updateBoundingBox())}if(e.interactive!==this.props.interactive&&(t=!0,this.props.interactive=e.interactive),(e.open||e.open===!1)&&(t=!0,this.shape.open=e.open),e.style){let i=e.border||e.style.border;if(i!==this._parsed.border.id)if(!i)this._parsed.border.id=null,this._parsed.border.match=[];else{let n=Wu[i]||Vu.exec(i)||Vu.exec(i);n&&(this._parsed.border.id=i,this._parsed.border.match=Wu[i]=n)}if(this._parsed.border.id&&(e.style.borderWidth=this._parsed.border.match[1],e.style.borderStyle="solid",e.style.borderColor=this._parsed.border.match[4]),e.style.outline!==this._parsed.outline.id)if(!e.style.outline)this._parsed.outline.id=null,this._parsed.outline.match=[];else{let n=Wu[e.style.outline]||Vu.exec(e.style.outline)||Vu.exec(e.style.outline);n&&(this._parsed.outline.id=e.style.outline,this._parsed.outline.match=Wu[e.style.outline]=n)}this._parsed.outline.id&&(e.style.outlineWidth=this._parsed.outline.match[1],e.style.outlineStyle="solid",e.style.outlineColor=this._parsed.outline.match[4]),this.props.style=e.style,e.backgroundColor&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.backgroundColor,t=!0),e.style.background&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.style.background,t=!0);for(let n of rA)if(this.props.style[n]!==e.style[n]){t=!0;break}e.style[":hover"]!==this.props.hoverStyles&&(this.props.hoverStyles=e.style[":hover"],this.hoverEvents||(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),t=!0),e.style[":active"]!==this.props.pressStyles&&(this.props.pressStyles=e.style[":active"],this.activeEvents||(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0)}e.href!==this.props.href&&(this.props.href=e.href,t=!0),e.hrefTarget!==this.props.hrefTarget&&(this.props.hrefTarget=e.hrefTarget,t=!0),e.title!==this.props.title&&(this.props.title=e.title,t=!0),e.className!==this.props.className&&(this.props.className=e.className,e.className&&!this.hoverEvents&&(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),e.className&&!this.activeEvents&&(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0),e.relativeSize!==this.props.relativeSize&&(this.props.relativeSize=e.relativeSize,t=!0),e.relativeStyle!==this.props.relativeStyle&&(this.props.relativeStyle=e.relativeStyle,t=!0),e.html!==this.props.html&&(this.props.html=e.html,t=!0),e.target&&(e.target.width!==this.display.width||e.target.height!==this.display.height||e.target.x!==this.points[1]||e.target.y!==this.points[2])&&(t=!0,this.points=ke.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.points=ke.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.width=e.target.width,this.display.height=e.target.height),t&&this.__revision++}},St=class Dp extends an{constructor(t){if(super(),b(this,"type","spacial-content"),b(this,"id",void 0),b(this,"uri",void 0),b(this,"display",void 0),b(this,"points",void 0),b(this,"priority",void 0),b(this,"style",{opacity:1}),!t)this.id="",this.uri="",this.display={x:0,y:0,scale:1,width:0,height:0,points:me(5)},this.points=me(5);else{let i=t.scale||1;this.id=t.id||t.uri,this.uri=t.uri,this.points=ke.singleBox(t.width,t.height,t.x,t.y),this.display={x:0,y:0,scale:i,width:t.width/i,height:t.height/i,points:ke.singleBox(t.width/i,t.height/i),rotation:t?.rotation}}}applyProps(t){let i=t.display?t.display.width:t.target.width,n=t.target.width/i;this.id=t.id||t.uri,this.uri=t.uri;let r=t.target.x||0,o=t.target.y||0;if(this.points.set(ke.singleBox(t.target.width,t.target.height,r,o)),t.style&&t.style.opacity!==void 0&&(this.style.opacity=t.style.opacity),t.crop){this.cropData=t.crop;let s=ke.singleBox(t.crop.width,t.crop.height,t.crop.x,t.crop.y);Vi(s,zt(-t.crop.x,-t.crop.y)),this.crop?this.crop.set(s):this.crop=me(s)}t.display?(this.display.scale=n,this.display.width=t.display.width,this.display.height=t.display.height,this.display.rotation=t.display.rotation,this.display.points=ke.singleBox(t.display.width,t.display.height)):(this.display.scale=n,this.display.width=t.target.width/n,this.display.height=t.target.height/n,this.display.points=ke.singleBox(t.target.width/n,t.target.height/n))}getAllPointsAt(t,i,n){return[[this,this.crop||this.points,i]]}static fromSvg(t,i,n,r){return Dp.fromImage("data:image/svg+xml;base64,"+btoa(t),i,n,r)}static fromImage(t,i,n,r){let o=new Dp;return o.applyProps({uri:t,id:r,display:n,target:i}),o}getImageUrl(){return this.uri}};function $u(e,t,i){return Math.min(Math.max(e,t),i)}var At=class mx extends an{constructor(t){super(),b(this,"id",void 0),b(this,"type","spacial-content"),b(this,"display",void 0),b(this,"tileWidth",void 0),b(this,"tileHeight",void 0),b(this,"columns",void 0),b(this,"rows",void 0),b(this,"style",{opacity:1}),b(this,"points",void 0),b(this,"service",void 0),b(this,"format","jpg"),b(this,"crop2",void 0),b(this,"version3",void 0),b(this,"tileUrl",void 0),this.tileUrl=KP(t.url),this.id=t.id||`${this.tileUrl}--${t.scaleFactor}--${t.tileWidth}x${t.tileHeight}`,this.points=t.displayPoints?t.displayPoints:Jt(t.points,rn(t.scaleFactor)),this.tileWidth=t.tileWidth,this.tileHeight=t.tileHeight,this.columns=t.columns,this.rows=t.rows,this.version3=t.version3,this.display={x:0,y:0,width:t.width/t.scaleFactor,height:t.height/t.scaleFactor,points:t.points,scale:t.scaleFactor},t.format&&(this.format=t.format)}applyProps(t){if(t.style&&t.style.opacity!==void 0&&(this.style.opacity=t.style.opacity),t.service!==this.service&&(this.service=t.service),t.format?this.format=t.format:this.format="jpg",t.version3!==void 0&&(this.version3=t.version3),t.crop){this.cropData=t.crop;let i=me([...this.points]),n=i.length/5,r=t.crop.x||0,o=t.crop.y||0,s=t.crop.x+t.crop.width,a=t.crop.y+t.crop.height;for(let c=0;c<n;c++){let u=c*5;i[u+1]<s&&i[u+3]>r&&i[u+2]<a&&i[u+4]>o?(i[u+1]=$u(i[u+1],r,s),i[u+3]=$u(i[u+3],r,s),i[u+2]=$u(i[u+2],o,a),i[u+4]=$u(i[u+4],o,a)):i[u]=0}Vi(i,zt(-t.crop.x,-t.crop.y)),this.crop?this.crop.set(i):this.crop=i}}static fromTile(t,i,n,r,o,s,a,c){let u=n.height?n.height:n.width,l=a?Math.floor(i.width/r):Math.ceil(i.width/r),d=a?Math.floor(i.height/r):Math.ceil(i.height/r),h=Math.ceil(l/n.width),p=Math.ceil(d/u),f=ke.grid(h,p),m=ke.grid(h,p),g=o&&o["@context"]?Array.isArray(o["@context"])?o["@context"]:[o["@context"]]:[],y=c===void 0?g.indexOf("http://iiif.io/api/image/3/context.json")!==-1:c;for(let w=0;w<p;w++)for(let R=0;R<h;R++){let v=R*n.width,S=w*u;m.addPoints(v*r,S*r,R===h-1?i.width:(v+n.width)*r,w===p-1?i.height:(S+u)*r),f.addPoints(v,S,R===h-1?l:v+n.width,w===p-1?d:S+u)}let x=new mx({url:t,scaleFactor:r,points:f.build(),displayPoints:m.build(),width:i.width,height:i.height,tileWidth:n.width,tileHeight:u,columns:h,rows:p,format:s,version3:y});return x.applyProps({service:o}),x}getImageUrl(t){let i=this.points.slice(t*5,t*5+5),n=i[3]-i[1],r=i[4]-i[2],o=Math.ceil(n/this.display.scale),s=Math.ceil(r/this.display.scale),a=`${o>this.tileWidth?this.tileWidth:o},`;return this.version3&&(a+=`${s>this.tileHeight?this.tileHeight:s}`),`${this.tileUrl}/${i[1]},${i[2]},${n},${r}/${a}/0/default.${this.format||"jpg"}`}getAllPointsAt(t,i,n){let r=Ss(this.crop||this.points,t);return[[this,r,i]]}transform(t){Vi(this.points,t)}getScheduledUpdates(t,i){return[]}};function zp(e,t,i){if(!t||t[0]===0)return null;let n=e[3]-e[1],r=e[4]-e[2],o=t[3]-t[1],s=t[4]-t[2],a=n<o,c=r<s,u=t[1]+o/2-n/2,l=t[2]+s/2-r/2;return{minX:a?t[1]-i:u,maxX:a?t[3]-n+i:u,minY:c?t[2]-i:l,maxY:c?t[4]-r+i:l}}function Gp(e){if(!e.enableFilters||!e.filters.brightness&&!e.filters.contrast&&!e.filters.grayscale&&!e.filters.invert&&!e.filters.sepia&&!e.filters.saturate&&!e.filters.hueRotate&&!e.filters.blur)return"none";let t="";return e.filters.brightness&&(t+=`brightness(${~~(100+e.filters.brightness*100)}%) `),e.filters.contrast&&(t+=`contrast(${~~(100+e.filters.contrast*100)}%) `),e.filters.grayscale&&(t+=`grayscale(${~~(e.filters.grayscale*100)}%) `),e.filters.invert&&(t+=`invert(${~~(e.filters.invert*100)}%) `),e.filters.sepia&&(t+=`sepia(${~~(e.filters.sepia*100)}%) `),e.filters.saturate&&(t+=`saturate(${~~(100+e.filters.saturate*100)}%) `),e.filters.hueRotate&&(t+=`hue-rotate(${e.filters.hueRotate}deg) `),e.filters.blur&&(t+=`blur(${e.filters.blur}px) `),t.trim()}function gx(e,t,i){return Math.max(t,Math.min(i,e))}function oA(){if(typeof navigator>"u")return;let e=navigator;return e.connection||e.mozConnection||e.webkitConnection}function sA(e){let t=10;return typeof navigator<"u"&&typeof navigator.hardwareConcurrency=="number"&&(t=gx(Math.round(navigator.hardwareConcurrency*.75),4,10)),e?.saveData?3:e?.effectiveType==="slow-2g"||e?.effectiveType==="2g"?2:e?.effectiveType==="3g"?Math.min(t,4):t}function aA(e,t){return t?.saveData||t?.effectiveType==="slow-2g"||t?.effectiveType==="2g"?0:t?.effectiveType==="3g"?2:Math.min(e+2,12)}function Qu(e={}){let t=oA(),i=sA(t),n=typeof e.maxConcurrentRequests=="number"?Math.max(1,Math.floor(e.maxConcurrentRequests)):i;return{maxConcurrentRequests:n,maxPrefetchPerFrame:typeof e.maxPrefetchPerFrame=="number"?Math.max(0,Math.floor(e.maxPrefetchPerFrame)):aA(n,t),timeoutMs:typeof e.timeoutMs=="number"?Math.max(250,Math.floor(e.timeoutMs)):8e3,maxAttempts:typeof e.maxAttempts=="number"?Math.max(1,Math.floor(e.maxAttempts)):3,baseDelayMs:typeof e.baseDelayMs=="number"?Math.max(0,Math.floor(e.baseDelayMs)):250,maxDelayMs:typeof e.maxDelayMs=="number"?Math.max(0,Math.floor(e.maxDelayMs)):3e3,jitterRatio:typeof e.jitterRatio=="number"?gx(e.jitterRatio,0,1):.2,errorRetryIntervalMs:typeof e.errorRetryIntervalMs=="number"?Math.max(0,Math.floor(e.errorRetryIntervalMs)):3e4,revealDelayFrames:typeof e.revealDelayFrames=="number"?Math.max(0,Math.floor(e.revealDelayFrames)):1,revealBatchWindowFrames:typeof e.revealBatchWindowFrames=="number"?Math.max(0,Math.floor(e.revealBatchWindowFrames)):1,skipFadeIfLoadedWithinMs:typeof e.skipFadeIfLoadedWithinMs=="number"?Math.max(0,Math.floor(e.skipFadeIfLoadedWithinMs)):500}}function Ju(e,t,i=Math.random){let n=Math.max(1,Math.floor(t)),r=e.baseDelayMs*2**(n-1),o=Math.min(e.maxDelayMs,r),s=o*e.jitterRatio;return s?Math.max(0,Math.floor(o+(i()*2-1)*s)):o}var Bp=class extends Error{constructor(e="Image request cancelled",t=!0){super(e),b(this,"silent",void 0),this.name="ImageRequestCancelledError",this.silent=t}};function ed(e){return e instanceof Bp}var Gb=0;function lA(e){return Gb+=1,`${Gb}:${e}`}function Vp(e){return Error(`Image load timeout: ${e}`)}function yx(e){let t=Error(`Image request aborted: ${e}`);return t.name="AbortError",t}function Kb(e){if(ed(e))return!0;if(!e||typeof e!="object")return!1;let t="name"in e?e.name:void 0;if(t==="AbortError"||t==="CanceledError")return!0;let i="message"in e?e.message:void 0;return typeof i=="string"&&/(aborted|abort|cancelled|canceled)/i.test(i)}function Xb(e,t){let i,n=document.createElement("img");n.decoding="async",t.crossOrigin&&(n.crossOrigin=t.crossOrigin);let r=!1,o,s=(a=!1)=>{i&&clearTimeout(i),n.onload=null,n.onerror=null,a&&(n.src="")};return{promise:new Promise((a,c)=>{o=c,n.onload=()=>{r||(r=!0,s(),a(n))},n.onerror=u=>{r||(r=!0,s(),c(u))},i=setTimeout(()=>{r||(r=!0,s(),c(Vp(e)))},t.timeoutMs),n.src=e,n.complete&&n.naturalWidth>0&&(r=!0,s(),a(n))}),abort:()=>{r||(r=!0,s(!0),o&&o(yx(e)))}}}var Kp=class{constructor(e){b(this,"timeoutMs",void 0),b(this,"crossOrigin",void 0),b(this,"useFetch",void 0),b(this,"cache",void 0),b(this,"inFlight",new Map),b(this,"knownConsumers",new Map),this.timeoutMs=e.timeoutMs,this.crossOrigin=e.crossOrigin,this.useFetch=!!e.useFetch&&typeof fetch<"u"&&typeof AbortController<"u",this.cache=e.cache===!1?void 0:e.cache||new Map}acquire(e,t){let i=this.cache?.get(e);if(i&&i.naturalWidth>0)return{requestKey:`cached:${e}`,promise:Promise.resolve(i),release:()=>{}};let n=this.inFlight.get(e);n||(n={url:e,requestKey:lA(e),consumers:new Set,promise:Promise.resolve(document.createElement("img")),settled:!1,cancelled:!1,silentCancellation:!0,abortReason:void 0},n.promise=this.createRequest(n).then(o=>{if(n.settled=!0,n.cancelled)throw new Bp("Image request cancelled",n.silentCancellation);return n.abortReason=void 0,this.cache?.set(e,o),o}).catch(o=>{throw n.settled=!0,this.normalizeRequestError(n,o)}).finally(()=>{n&&(n.abortController=void 0,n.abortDomImage=void 0,n.abortReason=void 0),n&&n.consumers.size===0&&this.inFlight.get(e)===n&&this.inFlight.delete(e)}),this.inFlight.set(e,n)),n.consumers.add(t);let r=this.knownConsumers.get(t)||new Set;return r.add(e),this.knownConsumers.set(t,r),{requestKey:n.requestKey,promise:n.promise,release:o=>{this.release(e,t,o)}}}release(e,t,i={}){let n=this.knownConsumers.get(t);n&&(n.delete(e),n.size===0&&this.knownConsumers.delete(t));let r=this.inFlight.get(e);if(r&&(r.consumers.delete(t),i.silent===!1&&(r.silentCancellation=!1),!(r.consumers.size>0))){if(!r.settled){this.inFlight.delete(e),r.cancelled=!0,r.abortReason||(r.abortReason="release"),r.abortController&&r.abortController.abort(),r.abortDomImage&&r.abortDomImage();return}this.inFlight.delete(e)}}releaseConsumer(e,t={}){let i=this.knownConsumers.get(e);if(i)for(let n of[...i])this.release(n,e,t)}cancelAll(e={}){let t=[...this.knownConsumers.keys()];for(let i of t)this.releaseConsumer(i,e)}normalizeRequestError(e,t){return e.abortReason==="timeout"?Kb(t)?Vp(e.url):t:e.abortReason==="release"||e.cancelled||Kb(t)?new Bp("Image request cancelled",e.silentCancellation):t}async createRequest(e){if(this.useFetch){let n=new AbortController;e.abortController=n;let r=setTimeout(()=>{e.abortReason==="release"||e.settled||(e.abortReason="timeout",n.abort(Vp(e.url)))},this.timeoutMs);try{let o=this.crossOrigin==="use-credentials"?"include":"same-origin",s=await fetch(e.url,{signal:n.signal,credentials:o});if(!s.ok)throw Error(`Image request failed (${s.status}): ${e.url}`);let a=await s.blob();if(n.signal.aborted)throw n.signal.reason||yx(e.url);let c=URL.createObjectURL(a);try{let{promise:u,abort:l}=Xb(c,{timeoutMs:this.timeoutMs,crossOrigin:void 0});return e.abortDomImage=l,await u}finally{URL.revokeObjectURL(c)}}finally{clearTimeout(r)}}let{promise:t,abort:i}=Xb(e.url,{timeoutMs:this.timeoutMs,crossOrigin:this.crossOrigin});return e.abortDomImage=i,t}},Zb=/(-?[0-9]+(px|em)\s+|0\s+)(-?[0-9]+(px|em)\s+|0\s+)(-?[0-9]+(px|em)\s+|0\s+)?(-?[0-9]+(px|em)\s+|0\s+)?(.*)/g,Qb={},cA=typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes("firefox");function vx(e,t,i,n,r=.01){if(!e||!t||!i||!n)return!1;let o=e/t,s=i/n;return Math.abs(o-s)/o>r}function Wp(e,t,i,n,r=1){return Math.abs(e-i)>r||Math.abs(t-n)>r}var Ar=class Yn{constructor(t,i){if(b(this,"canvas",void 0),b(this,"ctx",void 0),b(this,"options",void 0),b(this,"imagesPending",0),b(this,"imagesLoaded",0),b(this,"imageIdsLoaded",[]),b(this,"frameIsRendering",!1),b(this,"pendingDrawCall",!1),b(this,"firstMeaningfulPaint",!1),b(this,"parallelTasks",6),b(this,"maxPrefetchPerFrame",8),b(this,"imageLoadingConfig",void 0),b(this,"imageRequestPool",void 0),b(this,"frameTasks",0),b(this,"loadingQueueOrdered",!0),b(this,"loadingQueue",[]),b(this,"currentTask",Promise.resolve()),b(this,"tasksRunning",0),b(this,"inFlightImageLoads",new Map),b(this,"requiredTileKeys",new Set),b(this,"requiredPrefetchTileKeys",new Set),b(this,"requestGeneration",0),b(this,"resetGeneration",0),b(this,"idle",!1),b(this,"imageBuffers",new Set),b(this,"frameCounter",0),b(this,"pendingTileReveals",new Map),b(this,"stats",void 0),b(this,"averageJobTime",64),b(this,"lastKnownScale",1),b(this,"visible",[]),b(this,"previousVisible",[]),b(this,"rendererPosition",void 0),b(this,"dpi",void 0),b(this,"drawCalls",[]),b(this,"lastPaintedObject",void 0),b(this,"hostCache",void 0),b(this,"invalidated",[]),b(this,"fallbackRevealTimeout",null),b(this,"framePrefetchCount",0),b(this,"hasTilesFading",!1),b(this,"hasActiveLayerClip",!1),b(this,"viewTransformSaved",!1),b(this,"_worker",()=>{if(!this.idle&&this.loadingQueue.length&&this.tasksRunning<this.parallelTasks&&this.frameTasks<this.parallelTasks){let n=this.loadingQueue.pop();if(n){this.tasksRunning++,this.frameTasks++;let r=this.resetGeneration;this.currentTask=n.task().then(()=>{r===this.resetGeneration&&this.tasksRunning--}).catch(()=>{r===this.resetGeneration&&this.tasksRunning--})}}}),b(this,"_scheduled",0),b(this,"_doWork",()=>{this.loadingQueue.length===0&&this.tasksRunning===0&&this._scheduled&&(clearInterval(this._scheduled),this._scheduled=0);let n=this.parallelTasks||1;!this.firstMeaningfulPaint&&this.loadingQueue.length&&(n=this.loadingQueue.length);for(let r=0;r<n;r++)this._worker()}),this.canvas=t,this.rendererPosition=t.getBoundingClientRect(),this.ctx=t.getContext("2d",{alpha:!0}),!this.ctx)throw Error("Canvas 2D context unavailable");this.ctx.imageSmoothingEnabled=!0,this.options=i||{},this.imageLoadingConfig=Qu(this.options.imageLoading),this.parallelTasks=this.imageLoadingConfig.maxConcurrentRequests,this.maxPrefetchPerFrame=this.imageLoadingConfig.maxPrefetchPerFrame,this.imageRequestPool=new Kp({timeoutMs:this.imageLoadingConfig.timeoutMs,crossOrigin:this.options.crossOrigin?"anonymous":void 0,useFetch:!!this.options.crossOrigin,cache:!1}),this.canvas.style.transition="opacity .3s",this.dpi=i?.dpi||1,this.options.readiness==="immediate"&&(this.firstMeaningfulPaint=!0,this.canvas.style.opacity="1"),this.hostCache=i?.lruCache?new iA({maxSize:1024*512*512,dispose:(n,r,o)=>{this.invalidated.push(r),n.width=0,n.height=0},sizeCalculation:(n,r)=>n.width*n.height}):new Map}getCanvasDims(){return{width:this.canvas.width/this.dpi,height:this.canvas.height/this.dpi}}resize(){this.rendererPosition=this.canvas.getBoundingClientRect()}getCompositeOwner(t){let i=t?.__parent;return i&&i.renderOptions?i:void 0}compareCompositeLoadPriority(t,i){let n=this.getCompositeOwner(t),r=this.getCompositeOwner(i);return!n||n!==r?0:(t?.display.scale||0)-(i?.display.scale||0)}isReady(){return this.firstMeaningfulPaint}afterFrame(t){if(this.clearTransform(),this.lastPaintedObject=void 0,this.viewTransformSaved&&(this.ctx.restore(),this.viewTransformSaved=!1),this.frameIsRendering=!1,this.imagesPending=this.loadingQueue.length+this.tasksRunning+this.inFlightImageLoads.size+this.pendingTileReveals.size,this.imagesLoaded=0,this.loadingQueueOrdered||(this.loadingQueue=this.loadingQueue.sort((i,n)=>{let r=this.compareCompositeLoadPriority(i.paint,n.paint);return r===0?i.network&&n.network&&i.scale===n.scale?n.distance-i.distance:i.scale-n.scale:r}),this.loadingQueueOrdered=!0),this.scheduleSingleImageLookahead(t),this.previousVisible=this.visible,this.pruneStaleTileWork(),this.pendingDrawCall=!!this.drawCalls.length,this.pendingDrawCall)for(let i=0;i<this.drawCalls.length;i++){let n=this.drawCalls.shift();n&&n()}this.doOffscreenWork(),this.options.debug&&this.stats&&this.stats.end()}doOffscreenWork(){this.idle||(this.frameTasks=0,this.loadingQueue.length&&(this._worker(),this.loadingQueue.length&&this.tasksRunning<this.parallelTasks&&(this._scheduled||(this._scheduled=setInterval(this._doWork,0)))))}getScale(t,i,n){if(Number.isNaN(t)||Number.isNaN(i))return this.lastKnownScale;let r=this.getCanvasDims(),o=r.width/t,s=r.height/i,a=(o<s?s:o)*(n&&this.dpi||1);return Number.isNaN(a)||(this.lastKnownScale=a),this.lastKnownScale}beforeFrame(t,i,n,r){this.options.debug&&this.stats&&this.stats.begin(),this.frameIsRendering=!0,this.frameCounter+=1,this.visible=[],this.framePrefetchCount=0,this.hasTilesFading=!1,this.requiredTileKeys.clear(),this.requiredPrefetchTileKeys.clear(),this.flushTileRevealBatch(),this.options.beforeFrame&&this.options.beforeFrame(i);let o=this.getCanvasDims();this.ctx.globalAlpha=1,this.canvas.dataset.background==="transparent"?this.ctx.clearRect(0,0,o.width,o.height):(this.ctx.fillStyle=this.canvas.dataset.background??"rgb(0, 0, 0)",this.ctx.fillRect(0,0,o.width,o.height)),r.viewRotation&&r.viewCenter&&(this.ctx.save(),this.viewTransformSaved=!0,this.ctx.translate(r.viewCenter.x,r.viewCenter.y),this.ctx.rotate(r.viewRotation*Math.PI/180),this.ctx.translate(-r.viewCenter.x,-r.viewCenter.y));let s=Gp(r);this.ctx.filter!==s&&(this.ctx.filter=s)}applyTransform(t,i,n,r,o){let s=t.__owner.value;if(s&&s.rotation){this.ctx.save();let a=r/2,c=o/2,u=s.rotation*Math.PI/180,l=i+a,d=n+c;this.ctx.translate(l,d),this.ctx.rotate(u),this.ctx.translate(-l,-d),this.lastPaintedObject=s}}clearTransform(){this.lastPaintedObject&&(this.lastPaintedObject.rotation&&this.ctx.restore(),this.lastPaintedObject=void 0)}getTileKey(t,i){return`${t.id}::${t.display.scale}::${i}`}nextRequestKey(t){return this.requestGeneration+=1,`${t}::${this.requestGeneration}`}markTileRequired(t,i){if(i){this.requiredPrefetchTileKeys.add(t);return}this.requiredTileKeys.add(t)}isTileRequired(t){return this.requiredTileKeys.has(t)||this.requiredPrefetchTileKeys.has(t)}shouldSkipFade(t,i=performance.now()){return t?.requestedAt?i-t.requestedAt<=this.imageLoadingConfig.skipFadeIfLoadedWithinMs:!1}enqueueTileReveal(t,i,n){let r=performance.now();if(this.imageLoadingConfig.revealDelayFrames===0&&this.imageLoadingConfig.revealBatchWindowFrames===0){let o=this.getTileState(i,n);this.setTileState(i,n,{...o,loadedAt:r,skipFade:this.shouldSkipFade(o,r)});return}this.pendingTileReveals.set(t,{imageBuffer:i,index:n,queuedFrame:this.frameCounter})}flushTileRevealBatch(){if(this.pendingTileReveals.size===0)return;let t=this.imageLoadingConfig.revealDelayFrames,i=this.imageLoadingConfig.revealBatchWindowFrames,n=performance.now(),r=[...this.pendingTileReveals.entries()].sort((s,a)=>s[1].queuedFrame-a[1].queuedFrame),o=0;for(;o<r.length;){let s=r[o];if(this.frameCounter-s[1].queuedFrame<t)break;let a=s[1].queuedFrame+i;for(;o<r.length&&r[o][1].queuedFrame<=a;){let[c,u]=r[o],l=this.getTileState(u.imageBuffer,u.index);l.state==="decoded"&&!l.loadedAt&&this.setTileState(u.imageBuffer,u.index,{...l,loadedAt:n,skipFade:this.shouldSkipFade(l,n)}),this.pendingTileReveals.delete(c),o+=1}}}emitImageError(t){this.options.onImageError&&this.options.onImageError({renderer:"canvas",...t})}releaseInFlightTileLoad(t,i={}){let n=this.inFlightImageLoads.get(t);n&&(n.release(i),this.inFlightImageLoads.delete(t))}pruneStaleTileWork(){let t=[];for(let n of this.loadingQueue){if(!n.tileKey||this.isTileRequired(n.tileKey)){t.push(n);continue}if(n.paint&&typeof n.index=="number"){let r=this.ensureImageBuffer(n.paint),o=this.getTileState(r,n.index);o.lastRequestKey===n.requestKey&&(o.state==="queued"||o.state==="loading")&&this.setTileState(r,n.index,{...o,state:"idle",cancelledAt:performance.now()})}n.tileKey&&this.pendingTileReveals.delete(n.tileKey)}this.loadingQueue=t;let i=[];for(let[n,r]of this.inFlightImageLoads.entries()){if(this.isTileRequired(n))continue;i.push(n);let o=this.getTileState(r.imageBuffer,r.index);o.lastRequestKey===r.requestKey&&o.state==="loading"&&this.setTileState(r.imageBuffer,r.index,{...o,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(n)}for(let n of i)this.releaseInFlightTileLoad(n,{silent:!0})}ensureImageBuffer(t){(!t.__host||!t.__host.canvas)&&this.createImageHost(t);let i=t.__host.canvas;return this.imageBuffers.add(i),i.tiles||(i.tiles={}),i.indices||(i.indices=[]),i.loaded||(i.loaded=[]),i.canvases||(i.canvases=[]),i}getTileState(t,i){return t.tiles||(t.tiles={}),t.tiles[i]||(t.tiles[i]={state:"idle"},this.syncBufferState(t)),t.tiles[i]}setTileState(t,i,n){t.tiles||(t.tiles={}),t.tiles[i]=n,this.syncBufferState(t)}syncBufferState(t){let i=[],n=[],r=t.tiles||{},o=Object.keys(r);for(let s=0;s<o.length;s++){let a=parseInt(o[s],10),c=r[a].state;(c==="queued"||c==="loading")&&i.push(a),c==="decoded"&&n.push(a)}t.indices=i,t.loaded=n,t.loading=i.length>0}getCompositeRenderOptions(t){return t.__parent?.renderOptions}shouldClipLayerToBounds(t){return t instanceof St||t instanceof At?!!this.getCompositeRenderOptions(t)?.clipToBounds:!1}getBoundsFromPoints(t){let i=1/0,n=1/0,r=-1/0,o=-1/0;for(let s=0;s<t.length;s+=5)t[s]&&(i=Math.min(i,t[s+1]),n=Math.min(n,t[s+2]),r=Math.max(r,t[s+3]),o=Math.max(o,t[s+4]));if(!(!Number.isFinite(i)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(o))&&!(r<=i||o<=n))return{x:i,y:n,width:r-i,height:o-n}}getLayerPolicy(t){return this.getCompositeRenderOptions(t)?.layerPolicy||"fallback-only"}isLayerActive(t){let i=t.__parent;return!i||this.getLayerPolicy(t)==="always-blend"?!0:typeof i.isImageActive=="function"?!!i.isImageActive(t):!0}getPrefetchRadius(t){let i=this.getCompositeRenderOptions(t);return i?typeof i.prefetchRadius=="number"?Math.max(0,i.prefetchRadius):i.loadingBias==="speed"?2:i.loadingBias==="data"?0:1:0}getFadeAlpha(t,i,n){if(i?.skipFade)return 1;if(i?.state==="decoded"&&!i.loadedAt&&(this.imageLoadingConfig.revealDelayFrames>0||this.imageLoadingConfig.revealBatchWindowFrames>0))return 0;let r=this.getCompositeRenderOptions(t);if(!r||!r.fadeInMs||r.fadeInMs<=0)return 1;let o=r.fadeInMs,s=performance.now(),a=1;if(n&&r.fadeOnLayerChange&&r.layerPolicy!=="active-only"){let c=t.__parent;if(c&&typeof c.getImageActivatedAt=="function"){let u=c.getImageActivatedAt(t);typeof u=="number"&&(a=Math.min(a,Math.max(0,Math.min(1,(s-u)/o))))}}return i?.loadedAt&&(n||r.fadeFallbackTiles)&&(i.fadeStartedAt||(i.fadeStartedAt=s),a=Math.min(a,Math.max(0,Math.min(1,(s-i.fadeStartedAt)/o)))),a}schedulePrefetchNeighbours(t,i,n,r){if(!(i instanceof At)||this.framePrefetchCount>=this.maxPrefetchPerFrame||this.getCompositeRenderOptions(i)?.loadingBias==="data")return;let o=this.getPrefetchRadius(i);if(o<=0)return;let s=i.columns,a=i.rows;if(!s||!a)return;let c=n%s,u=Math.floor(n/s);for(let l=1;l<=o;l++)for(let d=-l;d<=l;d++)for(let h=-l;h<=l;h++){if(Math.max(Math.abs(h),Math.abs(d))!==l)continue;let p=c+h,f=u+d;if(p<0||f<0||p>=s||f>=a)continue;let m=f*s+p,g=this.getTileKey(i,m);if(this.markTileRequired(g,!0),this.schedulePaintToCanvas(t,i,m,r+l*1e3,!0)&&(this.framePrefetchCount++,this.framePrefetchCount>=this.maxPrefetchPerFrame))return}}scheduleSingleImageLookahead(t){if(this.maxPrefetchPerFrame<=0||this.framePrefetchCount>=this.maxPrefetchPerFrame||t.hasActiveZone())return;let i=1/0,n=-1/0,r=new Set;for(let p=0;p<this.visible.length;p++){let f=this.visible[p].__owner?.value;!f||f.type!=="world-object"||f.points[0]===0||(r.add(f),i=Math.min(i,f.points[2]),n=Math.max(n,f.points[4]))}if(!Number.isFinite(i)||!Number.isFinite(n))return;let o=n-i;if(o<=0)return;let s=o*1.5,a=n+s,c=i-s,u,l,d=t.getObjects();for(let p=0;p<d.length;p++){let f=d[p];if(!f||f.type!=="world-object"||f.points[0]===0||r.has(f))continue;let m=f.points[2],g=f.points[4],y=m>=n&&m<=a,x=g<=i&&g>=c;if(!y&&!x)continue;let w;for(let R=0;R<f.layers.length;R++){let v=f.layers[R];if(v instanceof St){w=v;break}}if(w){if(y){let R=m-n;(!u||R<u.distance)&&(u={image:w,distance:R})}if(x){let R=i-g;(!l||R<l.distance)&&(l={image:w,distance:R})}}}let h=[u,l].filter(Boolean);for(let p of h){if(this.framePrefetchCount>=this.maxPrefetchPerFrame)break;let f=this.ensureImageBuffer(p.image);this.schedulePaintToCanvas(f,p.image,0,1e4+p.distance,!0)&&this.framePrefetchCount++}}paint(t,i,n,r,o,s){let a=this.ctx.globalAlpha,c=typeof t.__zoneVisibilityAlpha=="number"?t.__zoneVisibilityAlpha:1;if(t instanceof St||t instanceof At){let d=t.display.rotation||0,h=d!==0;try{if(h){this.ctx.save();let I=n+o/2,E=r+s/2;t.crop&&(I-=t.crop[i*5+1],E-=t.crop[i*5+2]),this.ctx.translate(I,E),this.ctx.rotate(d*Math.PI/180),this.ctx.translate(-I,-E)}let p=this.options.paintImages!==!1,f=this.options.shouldPaintImage?this.options.shouldPaintImage(t,i):!0;if(!p||!f)return;this.visible.push(t);let m=(t.style?.opacity===void 0?1:t.style.opacity)*c;if(!m)return;this.ctx.globalAlpha=a*m;let g=this.ensureImageBuffer(t),y=this.getTileState(g,i);y.lastUsedAt=performance.now(),this.setTileState(g,i,y);let x=this.getTileKey(t,i);this.markTileRequired(x,!1);let w=this.isLayerActive(t),R=this.getCanvasDims(),v=Cs({x:n+o/2,y:r+s/2},{x:R.width/2,y:R.height/2}),S=this.invalidated.indexOf(g.canvases[i])!==-1,C=this.hostCache.get(g.canvases[i]),T=!!C&&!S;if(S&&this.setTileState(g,i,{...y,state:"idle"}),(S||!T||y.state==="idle"||y.state==="error")&&w&&(this.schedulePaintToCanvas(g,t,i,v,!1),this.schedulePrefetchNeighbours(g,t,i,v)),!this.firstMeaningfulPaint)return;if(C&&!S){let I=this.getFadeAlpha(t,y,w);if(I<1&&(this.hasTilesFading=!0),this.ctx.globalAlpha=a*m*I,t.crop&&t.cropData){if(t.crop[i*5]){let E=[t.crop[i*5+1]/t.display.scale-t.display.points[i*5+1],t.crop[i*5+2]/t.display.scale-t.display.points[i*5+2],1+(t.crop[i*5+3]-t.crop[i*5+1])/t.display.scale,1+(t.crop[i*5+4]-t.crop[i*5+2])/t.display.scale];E[0]+=t.cropData.x/t.display.scale,E[1]+=t.cropData.y/t.display.scale;let V=t.x*this.lastKnownScale,Y=t.y*this.lastKnownScale,Q=[n+V,r+Y,o,s];Q[0]+=V,Q[1]+=Y,this.ctx.imageSmoothingEnabled=Wp(E[2],E[3],Q[2],Q[3]),this.ctx.drawImage(C,E[0],E[1],E[2],E[3],Q[0],Q[1],Q[2]+1,Q[3]+1)}}else{let E=t.display.points[i*5+3]-t.display.points[i*5+1],V=t.display.points[i*5+4]-t.display.points[i*5+2];this.ctx.imageSmoothingEnabled=Wp(E,V,o,s),cA?this.ctx.drawImage(C,0,0,E,V,n,r,o+1,s+1):this.ctx.drawImage(C,0,0,E,V,n,r,o+Number.MIN_VALUE+.5,s+Number.MIN_VALUE+.5)}}}catch{}finally{h&&this.ctx.restore(),this.ctx.globalAlpha=a}}let u=t instanceof Ir&&this.options.box,l=t instanceof fl&&this.options.polygon;if((u||l)&&!t.props.className&&!t.props.html&&!t.props.href){if(this.visible.push(t),t.props.style){let d=Object.assign({},t.props.style||{},t.hovering?t.props.hoverStyles:{},t.pressing?t.props.pressStyles:{}),h=t.props.relativeStyle?1:o/t.width,p=d.opacity===void 0?1:d.opacity;this.ctx.globalAlpha=a*p*c;let f=0;d.borderWidth!==void 0&&(f=parseInt(d.borderWidth,10)*h);let m=0;d.outlineWidth!==void 0&&(m=parseInt(d.outlineWidth,10)*h);let g=0;if(d.outlineOffset!==void 0&&(g=parseInt(d.outlineOffset,10)*h),d.borderColor&&(this.ctx.strokeStyle=d.borderColor),d.boxShadow){let y=d.boxShadow.split(/,(?![^(]*\))/);for(let x of y){let w=Qb[x]||Zb.exec(x)||Zb.exec(x);Qb[x]=w,w&&(this.ctx.save(),this.ctx.shadowOffsetX=parseInt(w[1])*this.dpi*h,this.ctx.shadowOffsetY=parseInt(w[3])*this.dpi*h,this.ctx.shadowBlur=parseInt(w[5])*this.dpi*h,this.ctx.shadowColor=w[9],this.ctx.fillStyle="rgba(0,0,0,1)",this.ctx.fillRect(n+f,r+f,o,s),this.ctx.restore())}}if(this.ctx.fillStyle=d.backgroundColor||"transparent",this.ctx.lineWidth=f,l){let y=t.shape,x=y.points||[],w=x.length;this.ctx.beginPath();for(let R=0;R<w;R++)this.ctx.lineTo(n+x[R][0]*this.lastKnownScale,r+x[R][1]*this.lastKnownScale);y.open||this.ctx.closePath(),f&&this.ctx.stroke(),y.open||this.ctx.fill()}else f&&this.ctx.strokeRect(n+f/2,r+f/2,o+f,s+f),this.ctx.fillRect(n+f,r+f,o,s);m&&(d.outlineColor&&(this.ctx.strokeStyle=d.outlineColor),this.ctx.lineWidth=m,this.ctx.strokeRect(n-m/2-g,r-m/2-g,o+f*2+m+g*2,s+f*2+m+g*2))}this.ctx.globalAlpha=a}}schedulePaintToCanvas(t,i,n,r,o=!1){if(this.idle)return!1;let s=this.getTileState(t,n),a=performance.now(),c=this.getTileKey(i,n);if(this.markTileRequired(c,o),s.nextRetryAt&&s.nextRetryAt>a||s.state==="queued"||s.state==="loading"||s.state==="decoded")return!1;this.pendingTileReveals.delete(c);let u=`${i.id}--${i.display.scale}-${n}`,l=this.nextRequestKey(c);t.canvases[n]=u;let d=this.invalidated.indexOf(u);return d!==-1&&this.invalidated.splice(d,1),this.setTileState(t,n,{...s,state:"queued",requestedAt:a,error:void 0,lastRequestKey:l,cancelledAt:void 0,skipFade:!1}),this.loadingQueueOrdered=!1,this.loadingQueue.push({id:u,scale:i.display.scale,kind:"network",tileKey:c,requestKey:l,network:!0,distance:r,paint:i,index:n,prefetch:o,task:async()=>{let h=this.getTileState(t,n);if(h.lastRequestKey!==l||h.state!=="queued"&&h.state!=="loading")return;let p=this.visible.indexOf(i)!==-1,f=this.previousVisible.indexOf(i)!==-1;if(!o&&!p&&!f){this.setTileState(t,n,{...h,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(c);return}let m=i.getImageUrl(n);this.setTileState(t,n,{...h,state:"loading",url:m,requestedAt:h.requestedAt||performance.now(),error:void 0}),Yn.debugTileLoad&&Yn.debugTileLoad({paintId:i.id,index:n,scale:i.display.scale,url:m,status:"requested"});try{let g=`${c}::${l}`,y=this.imageRequestPool.acquire(m,g);this.inFlightImageLoads.set(c,{tileKey:c,requestKey:l,url:m,consumerId:g,paint:i,imageBuffer:t,index:n,release:y.release});let x=await y.promise;if(this.inFlightImageLoads.get(c)?.requestKey!==l)return;this.releaseInFlightTileLoad(c,{silent:!0});let w=this.getTileState(t,n);if(w.lastRequestKey!==l||w.state!=="loading")return;this.loadingQueueOrdered=!1,this.loadingQueue.push({id:`${u}--decode`,scale:i.display.scale,kind:"decode",tileKey:c,requestKey:l,distance:r,paint:i,index:n,prefetch:o,task:()=>new Promise(R=>{let v=this.getTileState(t,n);if(v.lastRequestKey!==l||v.state!=="loading"){R();return}let S=i.display.points.slice(n*5,n*5+5),C=document.createElement("canvas"),T=C.getContext("2d");C.width=S[3]-S[1],C.height=S[4]-S[2],this.hostCache.set(t.canvases[n],C),this.drawCalls.push(()=>{let I=this.getTileState(t,n);if(I.lastRequestKey!==l||I.state!=="loading"){R();return}if(Yn.debugImageStretch){let V=S[3]-S[1],Y=S[4]-S[2];Yn.debugImageStretch({url:m,naturalWidth:x.naturalWidth,naturalHeight:x.naturalHeight,targetWidth:V,targetHeight:Y,x:S[1],y:S[2],paintId:i.id,index:n,stretched:vx(x.naturalWidth,x.naturalHeight,V,Y),isVisible:this.visible.indexOf(i)!==-1})}T.drawImage(x,0,0,S[3]-S[1],S[4]-S[2]);let E=this.getTileState(t,n);this.setTileState(t,n,{...E,state:"decoded",loadedAt:void 0,error:void 0,attempts:0,nextRetryAt:void 0}),this.enqueueTileReveal(c,t,n),this.imagesLoaded++,Yn.debugTileLoad&&Yn.debugTileLoad({paintId:i.id,index:n,scale:i.display.scale,url:m,status:"loaded"}),R()})})})}catch(g){if(this.inFlightImageLoads.get(c)?.requestKey!==l)return;if(this.releaseInFlightTileLoad(c,{silent:!0}),ed(g)){let v=this.getTileState(t,n);v.lastRequestKey===l&&this.setTileState(t,n,{...v,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(c);return}let y=this.getTileState(t,n);if(y.lastRequestKey!==l)return;let x=(y.attempts||0)+1,w=x<this.imageLoadingConfig.maxAttempts,R=w?performance.now()+Ju(this.imageLoadingConfig,x):performance.now()+this.imageLoadingConfig.errorRetryIntervalMs;this.setTileState(t,n,{...y,state:w?"idle":"error",error:g,attempts:x,nextRetryAt:R}),this.pendingTileReveals.delete(c),!w&&Yn.debugTileLoad&&Yn.debugTileLoad({paintId:i.id,index:n,scale:i.display.scale,url:m,status:"failed"}),this.emitImageError({severity:"recoverable",imageUrl:m,contentId:i.id,tileIndex:n,attempt:x,maxAttempts:this.imageLoadingConfig.maxAttempts,willRetry:w,nextRetryAt:R,error:g})}}}),!0}afterPaintLayer(t,i){}prepareLayer(t,i){if(this.hasActiveLayerClip=!1,t.__owner.value&&this.applyTransform(t,i[1],i[2],i[3]-i[1],i[4]-i[2]),this.shouldClipLayerToBounds(t)){let n=this.getBoundsFromPoints(i);n&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.rect(n.x,n.y,n.width,n.height),this.ctx.clip(),this.hasActiveLayerClip=!0)}(!t.__host||!t.__host.canvas)&&(t instanceof St||t instanceof At)&&this.createImageHost(t)}finishLayer(){this.hasActiveLayerClip&&(this.ctx.restore(),this.hasActiveLayerClip=!1),this.lastPaintedObject&&this.clearTransform()}createImageHost(t){t.__host=t.__host?t.__host:{},t.__host.canvas={canvas:void 0,canvases:[],tiles:{},indices:[],loaded:[],loading:!1},this.imageBuffers.add(t.__host.canvas)}getPointsAt(t,i,n,r,o){return t.getPointsAt(i,n,r,o)}getViewportBounds(t,i,n){let r=t.getActiveZone();if(r){r.recalculateBounds();let o=zp(i,r.points,n);if(o){let s=i[3]-i[1],a=i[4]-i[2];return{x1:o.minX,y1:o.minY,x2:o.maxX+s,y2:o.maxY+a}}}return null}pendingUpdate(){if(this.idle)return!1;this.imagesPending=this.loadingQueue.length+this.tasksRunning+this.inFlightImageLoads.size+this.pendingTileReveals.size;let t=!this.pendingDrawCall&&this.drawCalls.length===0&&this.loadingQueue.length===0&&this.tasksRunning===0&&this.inFlightImageLoads.size===0&&this.pendingTileReveals.size===0;return!t&&!this.firstMeaningfulPaint&&this.visible.length>0&&this.options.readiness!=="immediate"&&this.fallbackRevealTimeout===null&&(this.fallbackRevealTimeout=setTimeout(()=>{this.canvas.style.opacity="1",this.firstMeaningfulPaint=!0,this.fallbackRevealTimeout=null},500)),!this.firstMeaningfulPaint&&t&&(this.visible.length||this.options.readiness==="immediate")?(this.canvas.style.opacity="1",this.firstMeaningfulPaint=t,!0):this.options.debug||this.hasTilesFading?!0:!t}getRendererScreenPosition(){return this.rendererPosition}resetReadyState(){this.options.readiness!=="immediate"&&(this.firstMeaningfulPaint=!1,this.fallbackRevealTimeout&&(clearTimeout(this.fallbackRevealTimeout),this.fallbackRevealTimeout=null))}resetImageFadeState(){let t=performance.now();for(let i of this.visible){if(!(i instanceof St||i instanceof At))continue;let n=i.__host?.canvas,r=n?.tiles;if(r)for(let o of Object.keys(r)){let s=Number(o),a=r[s];a?.state==="decoded"&&this.setTileState(n,s,{...a,loadedAt:t,fadeStartedAt:void 0,skipFade:!1})}}this.hasTilesFading=!0}setIdle(t){this.idle!==t&&(this.idle=t,t&&(this.requiredTileKeys.clear(),this.requiredPrefetchTileKeys.clear(),this.pruneStaleTileWork(),this._scheduled&&(clearInterval(this._scheduled),this._scheduled=0)))}reset(){this.resetGeneration+=1,this.loadingQueue=[],this.drawCalls=[],this._scheduled&&(clearInterval(this._scheduled),this._scheduled=0);for(let t of[...this.inFlightImageLoads.keys()])this.releaseInFlightTileLoad(t,{silent:!0});this.imageRequestPool.cancelAll({silent:!0}),this.inFlightImageLoads.clear(),this.requiredTileKeys.clear(),this.requiredPrefetchTileKeys.clear(),this.pendingTileReveals.clear();for(let t of this.hostCache.values())t.width=0,t.height=0;this.hostCache.clear(),this.invalidated=[];for(let t of this.imageBuffers)t.canvases=[],t.tiles={},t.indices=[],t.loaded=[],t.loading=!1;this.imageBuffers.clear(),this.visible=[],this.previousVisible=[],this.lastPaintedObject=void 0,this.imageIdsLoaded=[],this.currentTask=Promise.resolve(),this.tasksRunning=0,this.frameTasks=0,this.frameIsRendering=!1,this.pendingDrawCall=!1,this.requestGeneration+=1,this.frameCounter=0,this.fallbackRevealTimeout&&(clearTimeout(this.fallbackRevealTimeout),this.fallbackRevealTimeout=null),this.imagesPending=0,this.imagesLoaded=0,this.hasTilesFading=!1}};b(Ar,"debugImageStretch",void 0),b(Ar,"debugTileLoad",void 0);var td=class{constructor(e){b(this,"renderers",[]),b(this,"length",void 0);for(let t of e)t&&this.renderers.push(t);this.length=this.renderers.length}afterFrame(e,t,i,n){for(let r=0;r<this.length;r++)this.renderers[r].afterFrame(e,t,i,n)}afterPaintLayer(e,t){for(let i=0;i<this.length;i++)this.renderers[i].afterPaintLayer(e,t)}beforeFrame(e,t,i,n){for(let r=0;r<this.length;r++)this.renderers[r].beforeFrame(e,t,i,n)}triggerResize(){for(let e=0;e<this.length;e++){let t=this.renderers[e];t.triggerResize&&t.triggerResize()}}getPointsAt(e,t,i,n,r){return this.renderers[0].getPointsAt(e,t,i,n,r)}getScale(e,t){return this.renderers[0].getScale(e,t)}getViewportBounds(e,t,i){return this.renderers[0].getViewportBounds(e,t,i)}getRendererScreenPosition(){return this.renderers[0].getRendererScreenPosition()}isReady(){for(let e=0;e<this.length;e++)if(!this.renderers[e].isReady())return!1;return!0}paint(e,t,i,n,r,o){for(let s=0;s<this.length;s++)this.renderers[s].paint(e,t,i,n,r,o)}pendingUpdate(){for(let e=0;e<this.length;e++)if(this.renderers[e].pendingUpdate())return!0;return!1}prepareLayer(e,t){for(let i=0;i<this.length;i++)this.renderers[i].prepareLayer(e,t)}finishLayer(e,t){for(let i=0;i<this.length;i++)this.renderers[i].finishLayer(e,t)}resize(e,t){for(let i=0;i<this.length;i++)this.renderers[i].resize(e,t)}reset(){for(let e=0;e<this.length;e++)this.renderers[e].reset()}setIdle(e){for(let t of this.renderers)t.setIdle?.(e)}resetReadyState(){for(let e=0;e<this.length;e++)this.renderers[e].resetReadyState&&this.renderers[e].resetReadyState()}resetImageFadeState(){for(let e=0;e<this.length;e++)this.renderers[e].resetImageFadeState&&this.renderers[e].resetImageFadeState()}},uA=class extends an{constructor(...e){super(...e),b(this,"type","spacial-content")}getAllPointsAt(e,t,i){return[[this,this.points,t]]}},mo=class extends uA{constructor(e){super(),b(this,"id",void 0),b(this,"display",void 0),b(this,"points",void 0),b(this,"images",[]),b(this,"allImages",[]),b(this,"scaleFactors",[]),b(this,"aggregateBuffer",me(9)),b(this,"lazyLoader",void 0),b(this,"isFullyLoaded",!1),b(this,"isLoadingFullResource",!1),b(this,"maxScaleFactor",0),b(this,"layerSelection",new WeakMap),b(this,"layerSelectionFrame",0),b(this,"renderOptions",void 0),b(this,"_scheduleSortByScales",!1),b(this,"_sortByScales",()=>{this._scheduleSortByScales=!1,this.allImages.sort((i,n)=>n.display.width-i.display.width),this.images=[];let t=.1;for(let i of this.allImages)if(!(i.display.width<this.renderOptions.minSize&&i.display.height<this.renderOptions.minSize&&!i.priority)&&!(i instanceof St&&(i.display.width>this.renderOptions.maxImageSize||i.display.height>this.renderOptions.maxImageSize)&&!i.priority)){if(Math.abs(i.display.scale-t)<.25||i.priority){let n=this.images.pop();n&&(n instanceof St||n.priority)?(i.priority&&this.images.push(i),this.images.push(n)):i&&this.images.push(i)}else i&&this.images.push(i);t=i.display.scale}this.images.length===0&&(this.images=[...this.allImages]),this.scaleFactors=this.images.map(i=>i.display.scale),this.maxScaleFactor=this.scaleFactors.length?Math.max(...this.scaleFactors):0}),b(this,"loadFullResource",async()=>{if(!(this.isFullyLoaded||this.isLoadingFullResource)&&this.lazyLoader){this.isLoadingFullResource=!0;try{let t=await this.lazyLoader();this.addImages(t||[]),this.isFullyLoaded=!0}finally{this.isLoadingFullResource=!1}}}),b(this,"fallback",[this.loadFullResource]),this.id=e.id,this.points=ke.singleBox(e.width,e.height),this.lazyLoader=e.loadFullImages,e.loadFullImages||(this.isFullyLoaded=!0),this.display={x:0,y:0,points:ke.singleBox(e.width,e.height),height:e.height,width:e.width,scale:1},this.renderOptions={renderSmallestFallback:!0,renderLayers:2,minSize:255,maxImageSize:2048,quality:1.3,useDevicePixelRatio:!0,layerPolicy:"always-blend",loadingBias:"balanced",prefetchRadius:1,fadeInMs:300,fadeFallbackTiles:!1,fadeOnLayerChange:!1,clipToBounds:!1,...e.renderOptions||{}},this.addImages(e.images)}applyProps(e){let t=!1;e.renderSmallestFallback!==void 0&&e.renderSmallestFallback!==this.renderOptions.renderSmallestFallback&&(this.renderOptions.renderSmallestFallback=e.renderSmallestFallback),e.renderLayers!==void 0&&e.renderLayers!==this.renderOptions.renderLayers&&(this.renderOptions.renderLayers=e.renderLayers),e.minSize!==void 0&&e.minSize!==this.renderOptions.minSize&&(this.renderOptions.minSize=e.minSize,t=!0),e.maxImageSize!==void 0&&e.maxImageSize!==this.renderOptions.maxImageSize&&(this.renderOptions.maxImageSize=e.maxImageSize,t=!0),e.quality!==void 0&&e.quality!==this.renderOptions.quality&&(this.renderOptions.quality=e.quality),e.useDevicePixelRatio!==void 0&&e.useDevicePixelRatio!==this.renderOptions.useDevicePixelRatio&&(this.renderOptions.useDevicePixelRatio=e.useDevicePixelRatio),e.layerPolicy!==void 0&&e.layerPolicy!==this.renderOptions.layerPolicy&&(this.renderOptions.layerPolicy=e.layerPolicy),e.loadingBias!==void 0&&e.loadingBias!==this.renderOptions.loadingBias&&(this.renderOptions.loadingBias=e.loadingBias),e.prefetchRadius!==void 0&&e.prefetchRadius!==this.renderOptions.prefetchRadius&&(this.renderOptions.prefetchRadius=e.prefetchRadius),e.fadeInMs!==void 0&&e.fadeInMs!==this.renderOptions.fadeInMs&&(this.renderOptions.fadeInMs=e.fadeInMs),e.fadeFallbackTiles!==void 0&&e.fadeFallbackTiles!==this.renderOptions.fadeFallbackTiles&&(this.renderOptions.fadeFallbackTiles=e.fadeFallbackTiles),e.fadeOnLayerChange!==void 0&&e.fadeOnLayerChange!==this.renderOptions.fadeOnLayerChange&&(this.renderOptions.fadeOnLayerChange=e.fadeOnLayerChange),e.clipToBounds!==void 0&&e.clipToBounds!==this.renderOptions.clipToBounds&&(this.renderOptions.clipToBounds=e.clipToBounds),t&&this.sortByScales()}appendChild(e){this.addImages([e])}removeChild(e){if(this.images.indexOf(e)===-1&&this.allImages.indexOf(e)===-1)return;let t=this.getImageDedupeKey(e);this.images=this.images.filter(i=>i!==e&&this.getImageDedupeKey(i)!==t),this.allImages=this.allImages.filter(i=>i!==e&&this.getImageDedupeKey(i)!==t),this.sortByScales()}insertBefore(e,t){this.addImages([e])}hideInstance(){}addImages(e){let t=new Set(this.allImages),i=new Set(this.allImages.map(n=>this.getImageDedupeKey(n)));for(let n of e){if(!n||t.has(n))continue;let r=this.getImageDedupeKey(n);i.has(r)||(n.__parent=this,n.__owner=this.__owner,this.allImages.push(n),t.add(n),i.add(r))}this.sortByScales()}getImageDedupeKey(e){return`${e.id}::${e.display.scale}`}sortByScales(){this._scheduleSortByScales=!0}getScheduledUpdates(e,t){return this._scheduleSortByScales?[this._sortByScales]:this.isFullyLoaded?[]:t>1/this.maxScaleFactor?this.fallback:[]}getAllPointsAt(e,t,i){if(this.images.length===0)return[];let n=this.renderOptions.useDevicePixelRatio&&typeof window<"u"&&window.devicePixelRatio||1,r=GP(1/(i||1)/n,this.images,this.renderOptions.quality),o=this.images.length,s=t?nn(t,zt(this.x,this.y)):zt(this.x,this.y),a=[r];if(r!==this.images.length-1&&this.images[r+1]){a=[];for(let f=o-1;f>=r;f--)a.push(f);let p=a[0];this.renderOptions.renderLayers&&(a=a.slice(-Math.min(a.length,this.renderOptions.renderLayers))),this.renderOptions.renderSmallestFallback&&a.indexOf(p)===-1&&a.unshift(p)}a.sort((p,f)=>{let m=this.images[p],g=this.images[f],y=m?m.display.scale:0;return(g?g.display.scale:0)-y});let c=new Set;switch(this.renderOptions.layerPolicy){case"always-blend":for(let p of a)c.add(p);break;case"active-only":c.add(r),a=[r];break;case"fallback-only":default:c.add(r),this.renderOptions.renderSmallestFallback&&a.length&&c.add(a[0]);break}let u=new Set;for(let p of c){let f=this.images[p];f&&u.add(f)}this.layerSelectionFrame+=1;let l=this.getNow(),d=l-Math.max(0,this.renderOptions.fadeInMs);for(let p of this.allImages){let f=this.layerSelection.get(p);if(!u.has(p)){this.layerSelection.set(p,{active:!1,frame:this.layerSelectionFrame});continue}let m=!!f&&f.frame===this.layerSelectionFrame-1,g=m&&f.active;this.layerSelection.set(p,{active:!0,frame:this.layerSelectionFrame,activatedAt:g&&typeof f.activatedAt=="number"?f.activatedAt:m?l:d})}let h=[];for(let p=0;p<a.length;p++){let f=a[p],m=this.images[f];h.push(...m.getAllPointsAt(e,s,i))}return h}isImageActive(e){let t=this.layerSelection.get(e);return!!t&&t.frame===this.layerSelectionFrame&&t.active}getImageActivatedAt(e){let t=this.layerSelection.get(e);if(!(!t||t.frame!==this.layerSelectionFrame||!t.active))return t.activatedAt}getNow(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}},Es=class extends an{constructor(e){if(super(),b(this,"type","spacial-content"),b(this,"id",void 0),b(this,"uri",void 0),b(this,"display",void 0),b(this,"points",void 0),b(this,"getTexture",void 0),this.getTexture=()=>({source:void 0,hash:-1}),!e)this.id="",this.uri="",this.display={x:0,y:0,scale:1,width:0,height:0,points:me(5)},this.points=me(5);else{let t=e.scale||1;this.id=e.id||e.uri,this.uri=e.uri,this.points=ke.singleBox(e.width,e.height),this.display={x:0,y:0,scale:t,width:e.width/t,height:e.height/t,points:t===1?this.points:ke.singleBox(e.width/t,e.height/t)}}}applyProps(e){let t=e.display?e.display.width:e.target.width,i=e.target.width/t;this.id=e.id,this.points.set(ke.singleBox(e.target.width,e.target.height)),this.display.scale=i,this.display.width=e.target.width/i,this.display.height=e.target.height/i,this.getTexture=e.getTexture,this.display.points=i===1?this.points:ke.singleBox(e.target.width/i,e.target.height/i)}getAllPointsAt(e,t,i){return[[this,this.points,t]]}},sl=85.05112878;function sn(e,t){if(!Number.isFinite(e))throw Error(`${t} must be a finite number`)}function Jb(e,t){if(sn(e,t),e<=0)throw Error(`${t} must be greater than 0`)}function bx(e){if(!Number.isFinite(e))throw Error("Latitude must be a finite number");return e>sl?sl:e<-sl?-sl:e}function As(e){if(sn(e.west,"Map bounds west"),sn(e.south,"Map bounds south"),sn(e.east,"Map bounds east"),sn(e.north,"Map bounds north"),e.west<-180||e.west>180)throw Error("Map bounds west must be within [-180, 180]");if(e.east<-180||e.east>180)throw Error("Map bounds east must be within [-180, 180]");if(e.south<-90||e.south>90)throw Error("Map bounds south must be within [-90, 90]");if(e.north<-90||e.north>90)throw Error("Map bounds north must be within [-90, 90]");if(e.west>=e.east)throw Error("Map bounds must satisfy west < east (antimeridian crossing is not supported)");if(e.south>=e.north)throw Error("Map bounds must satisfy south < north");return e}function Ts(e){if(!Number.isFinite(e))throw Error("Longitude must be a finite number");return(e+180)/360}function Ps(e){let t=bx(e)*Math.PI/180;return(1-Math.log(Math.tan(t)+1/Math.cos(t))/Math.PI)/2}function Xp(e){if(!Number.isFinite(e))throw Error("Mercator X must be a finite number");return e*360-180}function Zp(e){if(!Number.isFinite(e))throw Error("Mercator Y must be a finite number");let t=Math.PI*(1-2*e);return 180/Math.PI*Math.atan(Math.sinh(t))}function $p(e,t){return Ts(e)*2**t}function jp(e,t){return Ps(e)*2**t}function Hp(e,t){return Xp(e/2**t)}function qp(e,t){return Zp(e/2**t)}function Qp(e){let t=As(e.bounds);Jb(e.width,"Map world width"),Jb(e.height,"Map world height");let i=Ts(t.west),n=Ts(t.east),r=Ps(t.north),o=Ps(t.south),s=n-i,a=o-r;if(!(s>0))throw Error("Map bounds produce an invalid mercator X span");if(!(a>0))throw Error("Map bounds produce an invalid mercator Y span");let c=(l,d)=>{let h=Ts(l),p=Ps(d);return{x:(h-i)/s*e.width,y:(p-r)/a*e.height}},u=(l,d)=>{sn(l,"World x"),sn(d,"World y");let h=i+l/e.width*s,p=r+d/e.height*a;return{lng:Xp(h),lat:Zp(p)}};return{lngLatToWorld:c,worldToLngLat:u,lngLatBoundsToWorldRect:l=>{As(l);let d=c(l.west,l.north),h=c(l.east,l.south);return{x:d.x,y:d.y,width:h.x-d.x,height:h.y-d.y}},worldRectToLngLatBounds:l=>{sn(l.x,"World rect x"),sn(l.y,"World rect y"),sn(l.width,"World rect width"),sn(l.height,"World rect height");let d=u(l.x,l.y),h=u(l.x+l.width,l.y+l.height);return{west:d.lng,south:h.lat,east:h.lng,north:d.lat}},projectRing:l=>{let d=[];for(let[h,p]of l){let f=c(h,p);d.push([f.x,f.y])}return d}}}var id="https://tile.openstreetmap.org/{z}/{x}/{y}.png";function xx(e){if(e.s)return e.s;let t=e.subdomains||[];if(t.length!==0)return t[Math.abs(e.x+e.y+e.z)%t.length]}function wx(e,t){let i=xx(t)||"";return e.replace(/\{z\}/g,`${t.z}`).replace(/\{x\}/g,`${t.x}`).replace(/\{y\}/g,`${t.y}`).replace(/\{s\}/g,i)}function Sx(e,t){let i=e||id;return typeof i=="function"?i(t):wx(i,t)}function Cr(e,t,i){return Math.min(i,Math.max(t,e))}function Jp(e){As(e.bounds);let t=Math.max(0,Math.floor(e.zoom)),i=2**t,n=i-1,r=$p(e.bounds.west,t),o=$p(e.bounds.east,t),s=jp(e.bounds.north,t),a=jp(e.bounds.south,t),c=Cr(r,0,i),u=Cr(o,0,i),l=Cr(s,0,i),d=Cr(a,0,i),h=Math.max(1e-9,u-c),p=Math.max(1e-9,d-l),f=Cr(Math.floor(r),0,n),m=Cr(Math.ceil(o)-1,0,n),g=Cr(Math.floor(s),0,n),y=Cr(Math.ceil(a)-1,0,n),x=Math.max(1,m-f+1),w=Math.max(1,y-g+1);return{columns:x,rows:w,count:x*w,minTileX:f,maxTileX:m,minTileY:g,maxTileY:y,westTile:c,eastTile:u,northTile:l,southTile:d,tileSpanX:h,tileSpanY:p}}function Rx(e){As(e.bounds);let t=Math.max(0,Math.floor(e.zoom)),i=Qp({bounds:e.bounds,width:e.worldWidth,height:e.worldHeight}),n=Jp({bounds:e.bounds,zoom:t}),r=typeof e.maxTiles=="number"?e.maxTiles:1/0;if(n.count>r)throw Error(`Map tile grid too large at zoom ${t}: ${n.count} tiles exceeds the configured max (${r})`);let o=[],s=[];for(let a=n.minTileY;a<=n.maxTileY;a++)for(let c=n.minTileX;c<=n.maxTileX;c++){let u=Hp(c,t),l=Hp(c+1,t),d=qp(a,t),h=qp(a+1,t),p=i.lngLatToWorld(u,d),f=i.lngLatToWorld(l,h);o.push(1,p.x,p.y,f.x,f.y),s.push({x:c,y:a,z:t})}return{points:me(o.length?o:[0]),tiles:s,columns:n.columns,rows:n.rows,count:n.count,minTileX:n.minTileX,maxTileX:n.maxTileX,minTileY:n.minTileY,maxTileY:n.maxTileY}}var em=class extends At{constructor(e){let t=e.scaleFactor||1,i=e.tileSize||256,n=e.tileSource||e.tileUrlTemplate||id,r=Rx({bounds:e.bounds,zoom:e.zoom,worldWidth:e.worldWidth,worldHeight:e.worldHeight}),o=e.id||`map-tiled-image-z${e.zoom}-${e.worldWidth}x${e.worldHeight}-${r.minTileX}:${r.maxTileX}-${r.minTileY}:${r.maxTileY}`;super({id:o,url:"map://tile-source",scaleFactor:t,points:r.points,displayPoints:r.points,tileWidth:i,tileHeight:i,width:e.worldWidth,height:e.worldHeight,columns:r.columns,rows:r.rows,format:"png",version3:!1}),b(this,"zoom",void 0),b(this,"bounds",void 0),b(this,"worldWidth",void 0),b(this,"worldHeight",void 0),b(this,"tileSize",void 0),b(this,"tileSource",void 0),b(this,"subdomains",void 0),b(this,"tileCoordinates",void 0),b(this,"minTileX",void 0),b(this,"maxTileX",void 0),b(this,"minTileY",void 0),b(this,"maxTileY",void 0),this.zoom=Math.max(0,Math.floor(e.zoom)),this.bounds={...e.bounds},this.worldWidth=e.worldWidth,this.worldHeight=e.worldHeight,this.tileSize=i,this.tileSource=n,this.subdomains=[...e.subdomains||[]],this.tileCoordinates=r.tiles,this.minTileX=r.minTileX,this.maxTileX=r.maxTileX,this.minTileY=r.minTileY,this.maxTileY=r.maxTileY}getImageUrl(e){let t=this.tileCoordinates[e];return t?Sx(this.tileSource,{z:t.z,x:t.x,y:t.y,tileSize:this.tileSize,subdomains:this.subdomains}):""}};function ju(e,t,i,n,r){let o=Math.PI/180*r,s=Math.cos(o),a=Math.sin(o);return[s*(i-e)+a*(n-t)+e,s*(n-t)-a*(i-e)+t]}function on(e,t,i,n,r){let o=Math.PI*r/180,s=Math.cos(o),a=Math.sin(o);return[(e-i)*s-(t-n)*a+i,(e-i)*a+(t-n)*s+n]}function ex(e){return e[0]===0||e[3]<=e[1]||e[4]<=e[2]}var ai=class Rs extends an{constructor(t,i){super(),b(this,"id",void 0),b(this,"type","world-object"),b(this,"scale",void 0),b(this,"layers",void 0),b(this,"points",void 0),b(this,"worldPoints",void 0),b(this,"intersectionBuffer",me(5)),b(this,"selectionBoundsBuffer",me(5)),b(this,"unionTargetBuffer",me(5)),b(this,"aggregateBuffer",me(9)),b(this,"invertedBuffer",me(9)),b(this,"rotation",0),b(this,"filteredPointsBuffer",void 0),b(this,"_updatedList",[]),b(this,"geometry",void 0);let{x:n=0,y:r=0}=i||{};t?(this.id=t.id||"",this.scale=1,this.layers=t.layers,this.points=me([1,n,r,n+t.width,r+t.height]),this.worldPoints=me([1,n,r,n+t.width,r+t.height]),this.filteredPointsBuffer=me(t.layers.length*5)):(this.id="",this.scale=1,this.layers=[],this.points=me(5),this.worldPoints=me(5),this.filteredPointsBuffer=me(5))}static createWithProps(t){let i=new Rs;return i.applyProps(t),i}applyProps(t){let i=t.x||0,n=t.y||0,r=t.rotation||0;t.id!==void 0&&(this.id=t.id);let o=t.scale===void 0?this.scale:t.scale;this.points[0]=1,this.points[1]=i,this.points[2]=n,this.points[3]=i+t.width,this.points[4]=n+t.height,this.rotation=r,this.worldPoints[3]=this.worldPoints[1]+t.width,this.worldPoints[4]=this.worldPoints[2]+t.height,t.scale&&t.scale!==1&&this.atScale(o),this.scale=o}appendChild(t){t.points[0]===0&&t.points.set(this.points),t.__owner.value=this,this.addLayers([t])}removeChild(t){this.layers=this.layers.filter(i=>i!==t),this.filteredPointsBuffer=me(this.layers.length*5)}insertBefore(t,i){let n=this.layers.indexOf(i);if(n===-1||this.layers.indexOf(t)!==-1)return;let r=this.layers.slice(0,n),o=this.layers.slice(n);this.layers=[...r,t,...o]}hideInstance(){console.warn("hideInstance: not yet implemented")}getObjectsAt(t,i){let n=t;this.rotation&&(t=this.applyRotation(t));let r=this.selectionBounds(),o=Ss(r,t,this.filteredPointsBuffer),s=r[1]!==this.points[1]||r[2]!==this.points[2]||r[3]!==this.points[3]||r[4]!==this.points[4];if((this.rotation||s)&&Rs.debugHitTestCulling&&Rs.debugHitTestCulling({ownerId:this.id,rotation:this.rotation,rawTarget:n.slice(),rotatedTarget:t.slice(),objectPoints:r.slice(),culled:o[0]===0}),o[0]===0)return[];let a=this.layers.length,c=[];for(let u=0;u<a;u++){let l=this.layers[u];if(i&&l.isShape){let d=Jt(l.points,zt(this.x,this.y));if(!l.intersects([t[1]-d[1],t[2]-d[2]]))continue}if(Ss(Jt(l.points,zt(this.x,this.y)),t,this.filteredPointsBuffer)[0]!==0&&c.push(l),i){let d=l;c.push(...d.getObjectsAt(t,i))}}return c}selectionRotation(){if(this.rotation)return this.rotation;for(let t of this.layers){if(!t)continue;let i=typeof t.selectionRotation=="function"?t.selectionRotation():t.rotation;if(i)return i}return 0}selectionBounds(){let t=this.selectionBoundsBuffer;t[0]=this.points[0],t[1]=this.points[1],t[2]=this.points[2],t[3]=this.points[3],t[4]=this.points[4];let i=this.layers.length;for(let n=0;n<i;n++){let r=this.layers[n];if(!r||typeof r.selectionBounds!="function")continue;let o=r.selectionBounds(),s=o[1]*this.scale+this.x,a=o[2]*this.scale+this.y,c=o[3]*this.scale+this.x,u=o[4]*this.scale+this.y;s<t[1]&&(t[1]=s),a<t[2]&&(t[2]=a),c>t[3]&&(t[3]=c),u>t[4]&&(t[4]=u)}return t}selectionRotationAndBounds(){let t=this.selectionBoundsBuffer;t[0]=this.points[0],t[1]=this.points[1],t[2]=this.points[2],t[3]=this.points[3],t[4]=this.points[4];let i=this.rotation,n=this.layers.length;for(let r=0;r<n;r++){let o=this.layers[r];if(o)if(typeof o.selectionRotationAndBounds=="function"){let s=o.selectionRotationAndBounds();!i&&s.rotation&&(i=s.rotation);let a=s.bounds[1]*this.scale+this.x,c=s.bounds[2]*this.scale+this.y,u=s.bounds[3]*this.scale+this.x,l=s.bounds[4]*this.scale+this.y;a<t[1]&&(t[1]=a),c<t[2]&&(t[2]=c),u>t[3]&&(t[3]=u),l>t[4]&&(t[4]=l)}else!i&&o.rotation&&(i=o.rotation)}return{rotation:i,bounds:t}}applyRotation(t,i){let n=typeof i=="number"?i:this.rotation;if(n){let r={x:t[1],y:t[2]},o={x:t[1],y:t[4]},s={x:t[3],y:t[2]},a={x:t[3],y:t[4]},c=this.points[1]+(this.points[3]-this.points[1])/2,u=this.points[2]+(this.points[4]-this.points[2])/2,[l,d]=ju(c,u,r.x,r.y,n),[h,p]=ju(c,u,o.x,o.y,n),[f,m]=ju(c,u,s.x,s.y,n),[g,y]=ju(c,u,a.x,a.y,n),x=Math.min(l,h,f,g),w=Math.max(l,h,f,g),R=Math.min(d,p,m,y),v=Math.max(d,p,m,y);return me([t[0],x,R,w,v])}return t}getAllPointsAt(t,i,n){let r=nn(zt(this.x,this.y),rn(this.scale),this.aggregateBuffer),{rotation:o,bounds:s}=this.selectionRotationAndBounds(),a=ex(t),c=a?t:this.applyRotation(t,o);o&&!a&&Rs.debugTileSelection&&Rs.debugTileSelection({ownerId:this.id,rotation:o,rawTarget:t.slice(),rotationAwareTarget:c.slice(),objectPoints:this.points.slice()});let u=t;c!==t&&(u=this.unionTargetBuffer,u[0]=t[0],u[1]=Math.min(t[1],c[1]),u[2]=Math.min(t[2],c[2]),u[3]=Math.max(t[3],c[3]),u[4]=Math.max(t[4],c[4]));let l=Ep(u,s,this.intersectionBuffer);if(ex(l))return[];let d=this.layers.length,h=[],p=Jt(l,nn(rn(1/this.scale),zt(-this.x,-this.y),this.invertedBuffer)),f=i?nn(i,r,this.aggregateBuffer):r,m=n*this.scale;for(let g=0;g<d;g++)h.push(...this.layers[g].getAllPointsAt(p,f,m));return h}addLayers(t){let i=[];for(let n of t)this.layers.indexOf(n)===-1&&(i.push(n),n.points.length===5&&(n.points[1]<this.worldPoints[1]/this.scale||n.points[2]<this.worldPoints[2]/this.scale||n.points[3]>this.worldPoints[3]/this.scale||n.points[4]>this.worldPoints[4]/this.scale)&&(n.crop=n.crop||me([1,Math.max(this.worldPoints[1]/this.scale,n.points[1]),Math.max(this.worldPoints[2]/this.scale,n.points[2]),Math.min(this.worldPoints[3]/this.scale,n.points[3]),Math.min(this.worldPoints[4]/this.scale,n.points[4])])));this.layers=this.layers.concat(i),this.filteredPointsBuffer=me(this.layers.length*5)}getScheduledUpdates(t,i){let n=this.layers.length;this._updatedList=[];let r=i*this.scale;for(let o=0;o<n;o++){let s=this.layers[o].getScheduledUpdates(t,r);s&&this._updatedList.push(...s)}return this._updatedList}};b(ai,"debugTileSelection",void 0),b(ai,"debugHitTestCulling",void 0);var Gn=class Cx extends an{get x(){return 0}get y(){return 0}get width(){return this._width}get height(){return this._height}constructor(t=0,i=0,n=100,r="left-to-right"){super(),b(this,"id","world"),b(this,"_width",void 0),b(this,"_height",void 0),b(this,"aspectRatio",void 0),b(this,"viewingDirection",void 0),b(this,"aggregateBuffer",me(9)),b(this,"isDirty",!1),b(this,"zones",[]),b(this,"filteredPointsBuffer",void 0),b(this,"selectedZone",void 0),b(this,"triggerQueue",[]),b(this,"activatedEvents",[]),b(this,"_updatedList",[]),b(this,"translationBuffer",me(9)),b(this,"needsRecalculate",!0),b(this,"emptyPaintables",[]),b(this,"renderOrder",[]),b(this,"debugSubscribers",new Set),b(this,"zoneVisibilityFadeDurationMs",220),b(this,"zoneOutsideOpacity",.2),b(this,"zoneVisibilityFade",void 0),b(this,"points",void 0),b(this,"objects",[]),b(this,"subscriptions",[]),b(this,"_propagateEventTargets",[]),b(this,"_alreadyFlushed",[]),this._width=t,this._height=i,this.aspectRatio=Number.isNaN(t/i)?1:t/i,this.viewingDirection=r,this.points=me(n*5),this.filteredPointsBuffer=me(n*5)}static withProps(t){let i=new Cx;return i.applyProps(t),i}applyProps(t){t.width!==void 0&&t.height!==void 0&&(t.width!==this._width||t.height!==this._height)&&this.resize(t.width,t.height),t.viewingDirection!==this.viewingDirection&&(this.viewingDirection=t.viewingDirection,this.triggerRepaint())}propagateTouchEvent(t,i,n){let r=[];for(let o of n)if(o.x&&o.y){let s=ke.singleBox(1,1,o.x,o.y);r.push(this.getObjectsAt(s,!0).reverse())}return this.emitDebug({type:"touch",at:performance.now(),event:t,touches:n.length}),r.map(o=>this.propagateEvent(t,i,o,{bubbles:!0,cancelable:!0}))}propagatePointerEvent(t,i,n,r,o={}){let s=ke.singleBox(1,1,n,r),a=this.getObjectsAt(s,!0).reverse(),c=this.propagateEvent(t,i,a,o);return this.emitDebug({type:"pointer",at:performance.now(),event:t,x:n,y:r,targets:c.length}),c}propagateEvent(t,i,n,{bubbles:r=!1,cancelable:o=!1}={}){i.atlasTarget=this,this._propagateEventTargets.length=1,this._propagateEventTargets[0]=this;let s=!1;i.stopPropagation=()=>{s=!0};let a=n.length;for(let l=a-1;l>=0;l--){this._propagateEventTargets.unshift(n[l][0]);let d=n[l][1].length;if(d)for(let h=0;h<d;h++)this._propagateEventTargets.unshift(n[l][1][h])}let c=this._propagateEventTargets.length,u=!1;for(let l=0;l<c&&(i.atlasTarget=this._propagateEventTargets[l],i.atlasWorld=this,u=this._propagateEventTargets[l].dispatchEvent(t,i)||u,!s);l++);return u&&this.triggerRepaint(),this._propagateEventTargets}appendChild(t){let i=this.appendWorldObject(t);this.renderOrder.push(i/5)}removeChild(t){let i=this.objects.indexOf(t);if(i===-1){for(let n of this.objects)if(n&&n.id===t.id){this.removeChild(n);return}return}this.objects[i]=null,this.renderOrder=this.renderOrder.filter(n=>n!==i),this.points[i*5]=0;for(let n of this.zones){let r=n.objects.indexOf(t);r!==-1&&(n.objects.splice(r,1),n.recalculateBounds())}this.triggerRepaint(),this.needsRecalculate=!0}insertBefore(t,i){let n=this.objects.indexOf(i);if(n===-1)return;let r=this.appendWorldObject(t);this.renderOrder.splice(n-1,0,r/5)}hideInstance(){}asWorldObject(){return null}addZone(t){this.zones.push(t)}removeZone(t){let i=this.zones.indexOf(t);if(i!==-1&&(this.zones.splice(i,1),this.selectedZone!==void 0)){if(this.selectedZone===i){this.selectedZone=void 0,this.trigger("zone-changed");return}this.selectedZone>i&&--this.selectedZone}}getZoneById(t){for(let i of this.zones)if(i.id===t)return i}hasZone(t){return this.getZoneById(t)!==void 0}selectZone(t){if(typeof t=="string"){let i=this.getZoneById(t);i&&(this.selectedZone=this.zones.indexOf(i),this.zoneVisibilityFade={zoneId:i.id,startedAt:performance.now()},this.trigger("zone-changed"))}else this.zones[t]&&(this.selectedZone=t,this.zoneVisibilityFade={zoneId:this.zones[t].id,startedAt:performance.now()},this.trigger("zone-changed"))}deselectZone(){this.selectedZone=void 0,this.zoneVisibilityFade=void 0,this.trigger("zone-changed")}getActiveZone(){if(this.selectedZone!==void 0)return this.zones[this.selectedZone]}hasActiveZone(){return this.selectedZone!==void 0}checkResizeInternalBuffer(){if(Yb(this.points)===this.objects.length){let t=this.points,i=me(this.points.length*2);i.set(t,0),this.points=i}}appendWorldObject(t){this.checkResizeInternalBuffer();let i=this.objects.length*5,n=t.points;return t.points=this.points.subarray(this.objects.length*5,this.objects.length*5+5),t.points[1]=n[1],t.points[2]=n[2],t.points[3]=n[3],t.points[4]=n[4],this.objects.push(t),this.filteredPointsBuffer=me(this.objects.length*5),this.needsRecalculate=!0,this.triggerRepaint(),i}recalculateWorldSize(){let t=!1;if(this.needsRecalculate){let i=new Int32Array(this.objects.length),n=new Int32Array(this.objects.length),r=this.renderOrder.length;for(let a=0;a<r;a++){let c=this.renderOrder[a];this.objects[c]&&(i[a]=this.points[c*5+3],n[a]=this.points[c*5+4])}let o=Math.max(...i);o!==this._width&&(this._width=o,t=!0);let s=Math.max(...n);s!==this._height&&(this._height=s,t=!0),t&&this.trigger("recalculate-world-size",{width:o,height:s}),this.needsRecalculate=!1}return t}addObjectAt(t,i){i.width&&!i.height?i.height=i.width/t.width*t.height:i.height&&!i.width&&(i.width=i.height/t.height*t.width),(!i||!i.width||!i.height)&&(i.width=t.width,i.height=t.height);let{width:n,x:r,y:o}=i,s=n/t.width;this.checkResizeInternalBuffer(),this.points.set(ke.singleBox(t.width,t.height,0,0),this.objects.length*5);let a=new ai(t);return a.points=this.points.subarray(this.objects.length*5,this.objects.length*5+5),this.objects.push(a),this.scaleWorldObject(this.objects.length-1,s),this.translateWorldObject(this.objects.length-1,r,o),this.filteredPointsBuffer=me(this.points.length*2),this.triggerRepaint(),this.needsRecalculate=!0,a}scaleWorldObject(t,i){Vi(this.points.subarray(t*5,t*5+5),po(i,this.points[t*5+1],this.points[t*5+2]));let n=this.objects[t];n&&(n.atScale(i),this.triggerRepaint())}translateWorldObject(t,i,n){Vi(this.points.subarray(t*5,t*5+5),zt(i,n));let r=this.objects[t];r&&(r.translate(i,n),this.triggerRepaint())}resize(t,i){return this._width=t,this._height=i,this.aspectRatio=t/i,this.triggerRepaint(),this}getObjects(){return this.objects}getPoints(){return this.points}getPointsFromViewer(t,i){let n=ke.singleBox(t.width,t.height,t.x,t.y);return this.getPointsAt(n,i,t.scale)}addLayoutSubscriber(t){return this.subscriptions.push(t),()=>{this.subscriptions.splice(this.subscriptions.indexOf(t),1)}}forceIncludeRotatedObjects(t){let i=this.objects.length;for(let n=0;n<i;n++){let r=this.objects[n];!r||r.type!=="world-object"||r.selectionRotation()&&(t[n*5]=1)}}getScheduledUpdates(t,i){let n=Ss(this.points,t,this.filteredPointsBuffer);this.forceIncludeRotatedObjects(n);let r=this.objects.length;this._updatedList=[];for(let o=0;o<r;o++)if(n[o*5]!==0){if(!this.objects[o])continue;this._updatedList.push(...this.objects[o].getScheduledUpdates(t,i))}return this._updatedList}isZoneOutsideVisibilityFading(t){return!!(this.zoneVisibilityFade&&this.zoneVisibilityFade.zoneId===t.id&&performance.now()-this.zoneVisibilityFade.startedAt<this.zoneVisibilityFadeDurationMs)}getZoneOutsideVisibility(t){let i=this.zoneOutsideOpacity;if(!this.zoneVisibilityFade||this.zoneVisibilityFade.zoneId!==t.id)return i;let n=performance.now()-this.zoneVisibilityFade.startedAt;return n>=this.zoneVisibilityFadeDurationMs?i:1-Math.max(0,Math.min(1,n/this.zoneVisibilityFadeDurationMs))*(1-i)}getObjectsAt(t,i=!1,n=!1){let r=this.getActiveZone(),o=r&&n?this.getZoneOutsideVisibility(r)>0:!1,s=Ss(this.points,t,this.filteredPointsBuffer);this.forceIncludeRotatedObjects(s);let a=this.renderOrder.length,c=[];for(let u=0;u<a;u++){let l=this.renderOrder[u];if(s[l*5]!==0){let d=this.objects[l],h=!r||r.objects.indexOf(d)!==-1;if(!d||!h&&!o)continue;if(d.type!=="world-object"){c.push([d,[d]]);continue}i?c.push([d,d.getObjectsAt(t,i)]):c.push([d,this.emptyPaintables])}}return c}getPointsAt(t,i,n=1,r=t){let o=this.getActiveZone(),s=o?this.getZoneOutsideVisibility(o):0,a=this.getObjectsAt(r,!1,!0),c=nn(rn(n),zt(-t[1],-t[2]),this.translationBuffer),u=i?nn(i,c,this.aggregateBuffer):c,l=a.length,d=[];for(let h=0;h<l;h++)if(a[h]){let p=a[h][0],f=p.getAllPointsAt(r,u,n),m=!o||o.objects.indexOf(p)!==-1?1:s;for(let g=0;g<f.length;g++)f[g][0].__zoneVisibilityAlpha=m;d.push(...f)}return o&&this.isZoneOutsideVisibilityFading(o)&&this.triggerRepaint(),d}flushSubscriptions(){if(this.triggerQueue.length){this._alreadyFlushed=[];let t=this.triggerQueue.length;for(let i=0;i<t;i++){if(this._alreadyFlushed.indexOf(this.triggerQueue[i][0])!==-1)continue;this.triggerQueue[i][1]===void 0&&this._alreadyFlushed.push(this.triggerQueue[i][0]);let n=this.subscriptions.length;for(let r=0;r<n;r++)this.subscriptions[r].apply(null,this.triggerQueue[i])}this.triggerQueue=[]}}trigger(t,i){this.emitDebug({type:"trigger",at:performance.now(),event:t,data:i}),this.triggerQueue.push([t,i])}triggerEventActivation(){this.trigger("event-activation")}triggerRepaint(){this.trigger("repaint")}gotoRegion(t){this.trigger("goto-region",t)}goHome(t=!1,i){this.trigger("go-home",{immediate:t,paddingPx:i})}zoomTo(t,i,n){this.trigger("zoom-to",{point:i,factor:t,stream:n})}zoomIn(t){this.trigger("zoom-to",{point:t,factor:.5})}zoomOut(t){this.trigger("zoom-to",{point:t,factor:2})}rotateBy(t=90,i,n=!1){this.trigger("rotate-by",{degrees:t,point:i,immediate:n})}constraintBounds(t){this.trigger("constrain-bounds",{immediate:t})}hasPendingAnimation(){return!!(this.zoneVisibilityFade&&performance.now()-this.zoneVisibilityFade.startedAt<this.zoneVisibilityFadeDurationMs)}addDebugSubscriber(t){return this.debugSubscribers.add(t),()=>{this.removeDebugSubscriber(t)}}removeDebugSubscriber(t){this.debugSubscribers.delete(t)}emitDebug(t){if(this.debugSubscribers.size!==0)for(let i of this.debugSubscribers)i(t)}};var dA=ul((e,t)=>{var i=!1,n,r,o,s,a,c,u,l,d,h,p,f,m,g,y;function x(){if(!i){i=!0;var R=navigator.userAgent,v=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(R),S=/(Mac OS X)|(Windows)|(Linux)/.exec(R);if(f=/\b(iPhone|iP[ao]d)/.exec(R),m=/\b(iP[ao]d)/.exec(R),h=/Android/i.exec(R),g=/FBAN\/\w+;/i.exec(R),y=/Mobile/i.exec(R),p=!!/Win64/.exec(R),v){n=v[1]?parseFloat(v[1]):v[5]?parseFloat(v[5]):NaN,n&&document&&document.documentMode&&(n=document.documentMode);var C=/(?:Trident\/(\d+.\d+))/.exec(R);c=C?parseFloat(C[1])+4:n,r=v[2]?parseFloat(v[2]):NaN,o=v[3]?parseFloat(v[3]):NaN,s=v[4]?parseFloat(v[4]):NaN,s?(v=/(?:Chrome\/(\d+\.\d+))/.exec(R),a=v&&v[1]?parseFloat(v[1]):NaN):a=NaN}else n=r=o=a=s=NaN;if(S){if(S[1]){var T=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(R);u=T?parseFloat(T[1].replace("_",".")):!0}else u=!1;l=!!S[2],d=!!S[3]}else u=l=d=!1}}var w={ie:function(){return x()||n},ieCompatibilityMode:function(){return x()||c>n},ie64:function(){return w.ie()&&p},firefox:function(){return x()||r},opera:function(){return x()||o},webkit:function(){return x()||s},safari:function(){return w.webkit()},chrome:function(){return x()||a},windows:function(){return x()||l},osx:function(){return x()||u},linux:function(){return x()||d},iphone:function(){return x()||f},mobile:function(){return x()||f||m||h||y},nativeApp:function(){return x()||g},android:function(){return x()||h},ipad:function(){return x()||m}};t.exports=w}),hA=ul((e,t)=>{var i=!!(typeof window<"u"&&window.document&&window.document.createElement);t.exports={canUseDOM:i,canUseWorkers:typeof Worker<"u",canUseEventListeners:i&&!!(window.addEventListener||window.attachEvent),canUseViewport:i&&!!window.screen,isInWorker:!i}}),fA=ul((e,t)=>{var i=hA(),n;i.canUseDOM&&(n=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function r(o,s){if(!i.canUseDOM||s&&!("addEventListener"in document))return!1;var a="on"+o,c=a in document;if(!c){var u=document.createElement("div");u.setAttribute(a,"return;"),c=typeof u[a]=="function"}return!c&&n&&o==="wheel"&&(c=document.implementation.hasFeature("Events.wheel","3.0")),c}t.exports=r}),pA=ul((e,t)=>{var i=dA(),n=fA(),r=10,o=40,s=800;function a(c){var u=0,l=0,d=0,h=0;return"detail"in c&&(l=c.detail),"wheelDelta"in c&&(l=-c.wheelDelta/120),"wheelDeltaY"in c&&(l=-c.wheelDeltaY/120),"wheelDeltaX"in c&&(u=-c.wheelDeltaX/120),"axis"in c&&c.axis===c.HORIZONTAL_AXIS&&(u=l,l=0),d=u*r,h=l*r,"deltaY"in c&&(h=c.deltaY),"deltaX"in c&&(d=c.deltaX),(d||h)&&c.deltaMode&&(c.deltaMode==1?(d*=o,h*=o):(d*=s,h*=s)),d&&!u&&(u=d<1?-1:1),h&&!l&&(l=h<1?-1:1),{spinX:u,spinY:l,pixelX:d,pixelY:h}}a.getEventType=function(){return i.firefox()?"DOMMouseScroll":n("wheel")?"wheel":"mousewheel"},t.exports=a}),Tx=ul((e,t)=>{t.exports=pA()}),gt=Math.pow,Hu=Math.sqrt,rl=Math.sin,tx=Math.cos,ll=Math.PI,Ku=1.70158,qu=Ku*1.525,ix=Ku+1,nx=2*ll/3,rx=2*ll/4.5,al=function(e){let t=7.5625,i=2.75;return e<1/i?t*e*e:e<2/i?t*(e-=1.5/i)*e+.75:e<2.5/i?t*(e-=2.25/i)*e+.9375:t*(e-=2.625/i)*e+.984375},Wi={linear:e=>e,easeInQuad:function(e){return e*e},easeOutQuad:function(e){return 1-(1-e)*(1-e)},easeInOutQuad:function(e){return e<.5?2*e*e:1-gt(-2*e+2,2)/2},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return 1-gt(1-e,3)},easeInOutCubic:function(e){return e<.5?4*e*e*e:1-gt(-2*e+2,3)/2},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return 1-gt(1-e,4)},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-gt(-2*e+2,4)/2},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return 1-gt(1-e,5)},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1-gt(-2*e+2,5)/2},easeInSine:function(e){return 1-tx(e*ll/2)},easeOutSine:function(e){return rl(e*ll/2)},easeInOutSine:function(e){return-(tx(ll*e)-1)/2},easeInExpo:function(e){return e===0?0:gt(2,10*e-10)},easeOutExpo:function(e){return e===1?1:1-gt(2,-10*e)},easeInOutExpo:function(e){return e===0?0:e===1?1:e<.5?gt(2,20*e-10)/2:(2-gt(2,-20*e+10))/2},easeInCirc:function(e){return 1-Hu(1-gt(e,2))},easeOutCirc:function(e){return Hu(1-gt(e-1,2))},easeInOutCirc:function(e){return e<.5?(1-Hu(1-gt(2*e,2)))/2:(Hu(1-gt(-2*e+2,2))+1)/2},easeInBack:function(e){return ix*e*e*e-Ku*e*e},easeOutBack:function(e){return 1+ix*gt(e-1,3)+Ku*gt(e-1,2)},easeInOutBack:function(e){return e<.5?gt(2*e,2)*((qu+1)*2*e-qu)/2:(gt(2*e-2,2)*((qu+1)*(e*2-2)+qu)+2)/2},easeInElastic:function(e){return e===0?0:e===1?1:-gt(2,10*e-10)*rl((e*10-10.75)*nx)},easeOutElastic:function(e){return e===0?0:e===1?1:gt(2,-10*e)*rl((e*10-.75)*nx)+1},easeInOutElastic:function(e){return e===0?0:e===1?1:e<.5?-(gt(2,20*e-10)*rl((20*e-11.125)*rx))/2:gt(2,-20*e+10)*rl((20*e-11.125)*rx)/2+1},easeInBounce:function(e){return 1-al(1-e)},easeOutBounce:al,easeInOutBounce:function(e){return e<.5?(1-al(1-2*e))/2:(1+al(2*e-1))/2}},mA=ux(Tx(),1),ox="scroll",ol="gesture",Px={zoomOutFactor:.8,zoomInFactor:1.25,maxZoomFactor:1,minZoomFactor:.05,zoomDuration:300,zoomWheelConstant:20,zoomClamp:.6,panBounceStiffness:120,panBounceDamping:15,panTimeConstant:325,panPower:.1,enablePanMomentum:!0,panMomentumStrength:1,nudgeDistance:100,panPadding:0,devicePixelRatio:1,enableWheel:!0,enableTouchRotation:!0,touchRotationSnap:90,enableClickToZoom:!1,enableDoubleClickZoom:!0,enableDoubleTapZoom:!0,enableHoldToHome:!0,ignoreSingleFingerTouch:!1,enablePanOnWait:!1,requireMetaKeyForWheelZoom:!1,wheelInExploreModeOnly:!1,holdToHomeDelayMs:1e3,holdToHomeMoveTolerancePx:12,panOnWaitDelay:40,onPanInSketchMode:()=>{},parentElement:null},pl=(e={})=>{if(e.touchRotationSnap!==void 0&&(!Number.isFinite(e.touchRotationSnap)||e.touchRotationSnap<0||e.touchRotationSnap>360))throw RangeError("touchRotationSnap must be between 0 and 360 degrees");return{start:t=>{let{zoomWheelConstant:i,enableWheel:n,enableTouchRotation:r,touchRotationSnap:o,enableClickToZoom:s,enableDoubleClickZoom:a,enableDoubleTapZoom:c,enableHoldToHome:u,ignoreSingleFingerTouch:l,enablePanOnWait:d,panOnWaitDelay:h,parentElement:p,requireMetaKeyForWheelZoom:f,wheelInExploreModeOnly:m,holdToHomeDelayMs:g,holdToHomeMoveTolerancePx:y,enablePanMomentum:x,panMomentumStrength:w,panBounceStiffness:R,panBounceDamping:v,panTimeConstant:S,panPadding:C}={...Px,...e};t.touchRotationEnabled=r;let T={pointerStart:{x:0,y:0},isPressing:!1,mousemoveBuffer:me(5),multiTouch:{distance:0},hasMovedSincePress:!1},I=[],E={active:!1,vx:0,vy:0},V,Y=null,Q,z=0,O,G,ee=0,K,ne=null,oe=!1,we=!1,ae=0,_e=0;function ze(){I.length=0}function ie(B,U){let he=performance.now(),M=I[I.length-1];if(M&&M.x===B&&M.y===U){M.t=he;return}for(I.push({x:B,y:U,t:he});I.length>1&&he-I[0].t>140;)I.shift()}function Re(){E.active=!1,E.vx=0,E.vy=0,t.panMomentumActive=!1}function Be(){V=void 0,Y=null,Q=void 0}function Le(){ee=0,K=void 0}function Qe(){(oe||we)&&Ie(void 0)}function Ge(){ne!==null&&(window.clearTimeout(ne),ne=null)}function Me(){Ge(),Qe(),oe=!1,we=!1}function it(B){if(!a||t.mode!=="explore"||T.hasMovedSincePress||!B)return Le(),!1;let U=performance.now(),he=K&&ee>0&&U-ee<=350&&Cs(K,B)<=100;return ee=U,K={...B},he?(t.world.zoomIn(B),Le(),!0):!1}function Pe(B,U){if(!u||t.mode!=="explore"){we=!1;return}Ge(),oe=!0,we=!1,ae=B,_e=U,Ie("hold-home"),ne=window.setTimeout(()=>{if(ne=null,!oe||t.mode!=="explore"||!T.isPressing){Me();return}oe=!1,we=!0,Re(),ze(),Be(),t.transitionManager.stopTransition(),T.isPressing=!1,T.hasMovedSincePress=!1,Le(),ge="",X=0,G=void 0,Ie("hold-home"),Ie(void 0,"notice"),t.world.goHome()},g)}function vt(B,U){return we?!0:oe?t.mode==="explore"?Math.hypot(B-ae,U-_e)<=y?!0:(Ge(),Qe(),oe=!1,!1):(Me(),!1):!1}function $e(){if(!c||t.mode!=="explore"||T.hasMovedSincePress||!G)return!1;let B=performance.now();if(X&&B-X>250)return!1;let U=O&&z>0&&B-z<=350&&Cs(O,G)<=100;if(z=B,O={...G},!U)return!1;let he=t.isViewportAtHomeZoomLevel({tolerance:.1})?t.getHomeTarget({cover:!0}):t.getHomeTarget();return t.transitionManager.goToRegion(he,{transition:{duration:500,easing:Wi.easeInOutQuad}}),z=0,O=void 0,!0}function Tt(B,U,he,M){let le=Math.min(he,32)/1e3,Te=U*1e3,lt=B+Te*le,rt=lt-M,ot=-R*rt-v*Te,st=Te+ot*le;return{position:lt+.5*ot*le*le,velocity:st/1e3}}function Gt(B){t.transitionManager.customTransition(U=>{U.from=me(t.target),U.to=B,U.elapsed_time=0,U.total_time=0,U.timingFunction=Wi.easeInOutExpo,U.done=!1})}function vi(){if(I.length<2)return 0;let B=I[0],U=I[I.length-1];return Math.hypot(U.x-B.x,U.y-B.y)*t.getScaleFactor()}function bi(){if(I.length<2)return null;let B=performance.now(),U=I[I.length-1];if(B-U.t>60)return null;let he=I[0];for(let le=I.length-2;le>=0&&(he=I[le],!(U.t-he.t>=80));le--);let M=U.t-he.t;return M<=0||Math.hypot(U.x-he.x,U.y-he.y)*t.getScaleFactor()<5?null:{vx:(U.x-he.x)/M,vy:(U.y-he.y)/M}}function Kt(){if(!x||!T.hasMovedSincePress||I.length<2)return!1;let B=bi();if(!B)return!1;let U=Math.max(0,w),he=B.vx*U,M=B.vy*U;return Math.hypot(he,M)*t.getScaleFactor()<.08?!1:(E.active=!0,t.panMomentumActive=!0,E.vx=he,E.vy=M,t.updateNextFrame(),!0)}function Vt(){if((oe||we)&&Me(),!T.isPressing){Be(),F();return}let B=t.mode==="explore"?Kt():!1;t.mode==="explore"&&!B&&vi()>=5&&t.world.constraintBounds(),T.isPressing=!1,T.hasMovedSincePress=!1,ze(),Be(),F()}function A(B=!1){if(!T.isPressing){Be(),F();return}if(Re(),t.mode==="explore"){let U=t.transitionManager.getPendingTransition(),he=Y||(U&&U.total_time===0&&!U.done?U.to:t.target);if(B&&V&&t.touchRotationEnabled&&o>0){t.target.set(he),t.transitionManager.stopTransition();let M=Math.round(t.viewRotation/o)*o;t.transitionManager.rotateTo(M,{origin:V.origin,panPadding:C})}else t.transitionManager.constrainTarget(he,{origin:Q,panPadding:C})}T.isPressing=!1,T.hasMovedSincePress=!1,ze(),Be(),F()}t.world.activatedEvents.push("onMouseUp","onMouseDown","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","onContextMenu");function F(){H=0,ge="",Ie(),Ie(void 0,"notice"),X=0,G=void 0}function J(){(oe||we)&&Me(),Vt()}function re(B){if(!T.isPressing)return;let U=V&&V.ids.some(he=>!Array.from(B.touches).some(M=>M.identifier===he));if(ge===ol&&(B.touches.length<2||U)){A(!0);return}B.touches.length===0&&($e(),Vt())}function ue(B){if(ge===ol){A();return}Vt()}function N(B){if(B.which>1){Me(),T.isPressing=!1;return}t.mode==="explore"&&(B.preventDefault(),Re(),ze(),T.hasMovedSincePress=!1,T.pointerStart.x=B.atlas.x,T.pointerStart.y=B.atlas.y,ie(t.target[1],t.target[2]),t.transitionManager.stopTransition(),T.isPressing=!0,Pe(typeof B.clientX=="number"?B.clientX:0,typeof B.clientY=="number"?B.clientY:0))}function k(){(oe||we)&&Me(),Vt()}let H=0,X=0,ge="";function Ee(B){if(t.mode==="explore"){if(Re(),ze(),T.hasMovedSincePress=!1,B.atlasTouches.length===1&&(X=performance.now(),l==0&&B.preventDefault(),T.pointerStart.x=B.atlasTouches[0].x,T.pointerStart.y=B.atlasTouches[0].y,G={x:B.atlasTouches[0].x,y:B.atlasTouches[0].y},ie(t.target[1],t.target[2])),B.atlasTouches.length===2){ge=ol,B.preventDefault();let U=B.atlasTouches[0].x,he=B.atlasTouches[1].x;T.pointerStart.x=(U+he)/2;let M=B.atlasTouches[0].y,le=B.atlasTouches[1].y;T.pointerStart.y=(M+le)/2,H=Cs({x:B.touches[0].clientX,y:B.touches[0].clientY},{x:B.touches[1].clientX,y:B.touches[1].clientY}),ze(),Be()}if(t.transitionManager.stopTransition(),T.isPressing=!0,t.touchRotationEnabled&&B.touches.length===2){let[U,he]=Array.from(B.touches),M=t.getRendererScreenPosition();if(M&&H>0){let le=t.viewerToWorld((U.clientX+he.clientX)/2-M.x,(U.clientY+he.clientY)/2-M.y);V={ids:[U.identifier,he.identifier],target:me(t.target),origin:le,distance:H,angle:Math.atan2(he.clientY-U.clientY,he.clientX-U.clientX),scale:t.getScaleFactor()},t.rotateBy(0,le)}}}}function Ie(B,U="intent"){p&&(p.dataset[U]=B)}function _(B){if(T.isPressing&&V&&B.touches.length===2){B.preventDefault();let Te=V,lt=Array.from(B.touches),rt=lt.find(Ne=>Ne.identifier===Te.ids[0]),ot=lt.find(Ne=>Ne.identifier===Te.ids[1]),st=t.getRendererScreenPosition();if(!rt||!ot||!st)return;let Je=Math.hypot(ot.clientX-rt.clientX,ot.clientY-rt.clientY);if(!Je)return;let hi=Math.atan2(ot.clientY-rt.clientY,ot.clientX-rt.clientX),ur=Math.atan2(Math.sin(hi-Te.angle),Math.cos(hi-Te.angle));t.touchRotationEnabled&&t.rotateBy(ur*180/Math.PI,Te.origin),Te.angle=hi;let qi=Te.distance/Je,It=me(Te.target),L=(Te.target[3]-Te.target[1])*qi,te=(Te.target[4]-Te.target[2])*qi,[ye,Fe]=on(((rt.clientX+ot.clientX)/2-st.x-st.width/2)*qi/Te.scale,((rt.clientY+ot.clientY)/2-st.y-st.height/2)*qi/Te.scale,0,0,-t.viewRotation);It[1]=Te.origin.x-ye-L/2,It[2]=Te.origin.y-Fe-te/2,It[3]=It[1]+L,It[4]=It[2]+te,Y=me(It),Q=Te.origin,T.hasMovedSincePress=!0,Ie(ol),Gt(It);return}let U=null,he=null,M=0,le=!1;if(T.isPressing&&B.touches.length===2&&(U=(B.touches[0].clientX+B.touches[1].clientX)/2,he=(B.touches[0].clientY+B.touches[1].clientY)/2,M=Cs({x:B.touches[0].clientX,y:B.touches[0].clientY},{x:B.touches[1].clientX,y:B.touches[1].clientY})),Ie(ge),T.isPressing&&B.touches.length===1){if(d&&(performance.now()-X<h&&ge==""&&(ge=ox),ge==""&&(ge="pan")),Ie(ge),ge==""&&l==1||ge==ox){Ie("require-two-finger","notice");return}let Te=B.touches[0];U=Te.clientX,he=Te.clientY,le=!0}if(U!==null&&he!==null){let Te=t.getRendererScreenPosition();if(Te){let{x:lt,y:rt}=t.viewerToWorld(U-Te.x,he-Te.y),ot=M&&H?M/H:1,st=Jt(me(t.target),nn(zt(T.pointerStart.x-lt,T.pointerStart.y-rt),po(1/ot,lt,rt)),T.mousemoveBuffer);if(le){let Je=I[I.length-1];Je&&(Je.x!==st[1]||Je.y!==st[2])&&(T.hasMovedSincePress=!0),ie(st[1],st[2])}B.touches.length===2&&(Y=me(st),Q={x:lt,y:rt}),Gt(st)}H=M}(ge==="pan"||ge===ol)&&B.preventDefault()}function j(B){if(t.mode!=="explore"&&(oe||we)&&Me(),T.isPressing){if(vt(B.clientX,B.clientY))return;let U=t.getRendererScreenPosition();if(U){let{x:he,y:M}=t.viewerToWorld(B.clientX-U.x,B.clientY-U.y),le=Jt(me(t.target),zt(T.pointerStart.x-he,T.pointerStart.y-M),T.mousemoveBuffer),Te=I[I.length-1];Te&&(Te.x!==le[1]||Te.y!==le[2])&&(T.hasMovedSincePress=!0),ie(le[1],le[2]),Gt(le)}}}function pe(B){if(we||T.hasMovedSincePress){Le();return}if(t.mode==="explore"){if(it(B.atlas)||a)return;s&&t.world.zoomIn(B.atlas)}else Le()}function se(B){if(m&&t.mode!=="explore"){Le();return}(oe||we)&&Me(),Re();let U=1+(0,mA.default)(B).spinY/i;t.world.zoomTo(U,B.atlas,!0)}function de(B){return f&&B.metaKey==0?(Ie("meta-required","notice"),B.stopPropagation(),!1):!0}t.world.addEventListener("mouseup",J),t.world.addEventListener("touchend",re),t.world.addEventListener("touchcancel",ue),t.world.addEventListener("touchstart",Ee),t.world.addEventListener("mousedown",N),window.addEventListener("touchend",re),window.addEventListener("mouseup",k),window.addEventListener("mousemove",j),p&&p.addEventListener("touchmove",_,{passive:!1}),(s||a)&&(t.world.activatedEvents.push("onClick"),t.world.addEventListener("click",pe)),n&&(t.world.activatedEvents.push("onWheel"),f&&p?.addEventListener("wheel",de,{passive:!0,capture:!0}),t.world.addEventListener("wheel",se));let Ce=t.world.addLayoutSubscriber((B,U)=>{if((oe||we)&&t.mode!=="explore"&&Me(),B==="zone-changed"&&(Re(),t.transitionManager.hasPending()||t.transitionManager.constrainBounds()),B==="rotate-by"&&U){Re();let he=t.transitionManager.getPendingTransition(),M=!he.done&&he.rotation?he.rotation.to:t.viewRotation;t.transitionManager.rotateTo(M+U.degrees,{origin:U.point,panPadding:C,transition:U.immediate?{duration:0}:void 0})}if(B==="zoom-to"&&U&&(Re(),t.transitionManager.zoomTo(U.factor,{origin:U.point,stream:U.stream})),B==="go-home"){Re();let he=U.immediate?{duration:0}:void 0,M=U?.paddingPx,le=t.getHomeTarget({paddingPx:M});t.transitionManager.goToRegion(le,{transition:he})}if(B==="goto-region"&&U){Re();let he=U.immediate?{duration:0}:{};if(U.paddingPx!==void 0){let M=t.getHomeTarget({position:ke.singleBox(U.width,U.height,U.x,U.y),paddingPx:U.paddingPx});t.transitionManager.goToRegion(M,{transition:he})}else t.transitionManager.goToRegion(U,{transition:he})}B==="constrain-bounds"&&(Re(),t.transitionManager.constrainBounds({panPadding:C,transition:U?.immediate?{duration:0}:void 0}))}),Ke=t.registerHook("useFrame",B=>{if((oe||we)&&t.mode!=="explore"&&Me(),!E.active)return;let U=Math.exp(-B/Math.max(1,S)),he=t.target[3]-t.target[1],M=t.target[4]-t.target[2],le=Jt(me(t.target),zt(E.vx*B,E.vy*B),T.mousemoveBuffer),[,Te]=t.constrainBounds(le,{panPadding:C}),lt=le[1]!==Te[1],rt=le[2]!==Te[2],ot=lt?E.vx:E.vx*U,st=rt?E.vy:E.vy*U,Je=me(le);if(lt){let It=Tt(t.target[1],E.vx,B,Te[1]);Je[1]=It.position,Je[3]=It.position+he,ot=It.velocity}else Je[1]=t.target[1]+ot*B,Je[3]=Je[1]+he;if(rt){let It=Tt(t.target[2],E.vy,B,Te[2]);Je[2]=It.position,Je[4]=It.position+M,st=It.velocity}else Je[2]=t.target[2]+st*B,Je[4]=Je[2]+M;E.vx=ot,E.vy=st;let[,hi]=t.constrainBounds(Je,{panPadding:C}),ur=Math.hypot(Je[1]-hi[1],Je[2]-hi[2])*t.getScaleFactor(),qi=Math.hypot(E.vx,E.vy)*t.getScaleFactor();if(ur<=.5&&qi<=.02){Re(),Gt(hi);return}Gt(Je),t.updateNextFrame()});return()=>{Re(),Me(),t.world.removeEventListener("mouseup",J),t.world.removeEventListener("touchend",re),t.world.removeEventListener("touchcancel",ue),t.world.removeEventListener("touchstart",Ee),t.world.removeEventListener("mousedown",N),window.removeEventListener("touchend",re),window.removeEventListener("mouseup",k),window.removeEventListener("mousemove",j),p&&(p.removeEventListener("touchmove",_),p.removeEventListener("wheel",de,{passive:!0,capture:!0})),(s||a)&&t.world.removeEventListener("click",pe),n&&t.world.removeEventListener("wheel",se),Ke(),Ce()}},updatePosition(){}}},gA=ux(Tx(),1),yA={scrollWheelFactor:1,scrollLoadAheadFactor:1,clickDragThresholdPx:6,touchScrollMomentumStrength:1.4,touchScrollMomentumMinStartPxPerMs:.04},sx=.8,ax=.08,vA=1,Op=new WeakMap;function Lp(e){return{x:e.x,y:e.y,width:e.width,height:e.height}}function lx(e,t,i){return e.points[0]!==0&&t>=e.points[1]&&t<=e.points[3]&&i>=e.points[2]&&i<=e.points[4]}var nd=(e={})=>({start(t){let i=vA++;Op.set(t,i);let n=()=>Op.get(t)===i,{scrollWheelFactor:r,scrollLoadAheadFactor:o,clickDragThresholdPx:s,touchScrollMomentumStrength:a,touchScrollMomentumMinStartPxPerMs:c,enablePanMomentum:u=!0,panMomentumStrength:l=1,panTimeConstant:d=325}={...yA,...e},h=()=>{T||(T=!0,window.requestAnimationFrame(()=>{T=!1,n()&&t.updateNextFrame()}))},p=t.mode,f=t.manualHomePosition,m="scroll-mode",g=!1,y=!1,x=!1,w,R,v=!1,S,C=performance.now()+5e3,T=!1,I=0,E=0,V=0,Y=0,Q=null,z=!1,O=null,G=!1,ee=!1,K=0,ne,oe=!0,we=-1,ae=-1,_e=-1,ze=-1,ie=-1,Re=[],Be={active:!1,vy:0},Le=pl({...e,enableWheel:!0,enableClickToZoom:!1,enableDoubleClickZoom:!1,enableHoldToHome:!1,wheelInExploreModeOnly:!0}),Qe=L=>{t.world.activatedEvents.indexOf(L)===-1&&t.world.activatedEvents.push(L)},Ge=L=>{m=L,t.mode=L==="zone-active"?"explore":"sketch"},Me=()=>{Re.length=0},it=L=>{let te=performance.now(),ye=Re[Re.length-1];if(ye&&ye.y===L){ye.t=te;return}for(Re.push({y:L,t:te});Re.length>1&&te-Re[0].t>140;)Re.shift()},Pe=()=>{Be.active=!1,Be.vy=0},vt=()=>{if(Re.length<2)return null;let L=Re[Re.length-1],te=Re[0];for(let Ne=Re.length-2;Ne>=0&&(te=Re[Ne],!(L.t-te.t>=80));Ne--);let ye=L.y-te.y,Fe=L.t-te.t;return Fe<=0||Math.abs(ye)<=.5?null:ye/Fe},$e=({strengthMultiplier:L=1,minStartPxPerMs:te=ax}={})=>{if(!u||Re.length<2)return!1;let ye=vt();if(ye===null)return!1;let Fe=ye*Math.max(0,l)*Math.max(0,L);return Math.abs(Fe)*t.getScaleFactor()<te?!1:(Be.active=!0,Be.vy=Fe,t.updateNextFrame(),!0)},Tt=()=>{let L=m==="zone-active"?"explore":"sketch";t.mode!==L&&(t.mode=L)},Gt=()=>{oe=!0},vi=(L,te)=>Math.abs(L.x-te.x)>.01||Math.abs(L.y-te.y)>.01||Math.abs(L.width-te.width)>.01||Math.abs(L.height-te.height)>.01,bi=()=>{let L,te=0;for(let ye of t.world.zones)ye.recalculateBounds(),ye.points[0]!==0&&(!L||ye.points[2]<te)&&(L=ye,te=ye.points[2]);return L},Kt=()=>{let L=t.getRendererScreenPosition(),te=Math.max(0,L?.height||0);if(te===0)return;let ye=Math.round(te*.04999999999999999);return{top:ye,bottom:ye}},Vt=()=>{let L=bi();if(L)return L.points[2];let te=!1,ye=0;for(let Fe of t.world.getObjects())!Fe||Fe.points[0]===0||(!te||Fe.points[2]<ye)&&(ye=Fe.points[2],te=!0);return te?ye:0},A=()=>{let L=t.getRendererScreenPosition(),te=Math.round((L?.width||t.width||0)*100)/100,ye=Math.round((L?.height||t.height||0)*100)/100,Fe=L?.width&&L?.height?"renderer":"runtime",Ne=bi();if(Ne)return["zone",Ne.id,Ne.points[1],Ne.points[2],Ne.points[3]-Ne.points[1],Ne.points[4]-Ne.points[2],`screen:${te}x${ye}:${Fe}`].join(":");let Et=-1,yn=0,Ui=t.world.getObjects();for(let q=0;q<Ui.length;q++){let ce=Ui[q];!ce||ce.points[0]===0||(Et===-1||ce.points[2]<yn)&&(Et=q,yn=ce.points[2])}if(Et!==-1){let q=Ui[Et];return["object",q.id||Et,q.points[1],q.points[2],q.points[3]-q.points[1],q.points[4]-q.points[2],`screen:${te}x${ye}:${Fe}`].join(":")}},F=()=>{if(!n()||v||m!=="scroll-mode"||g||ee||y||t.world.hasActiveZone())return;let L=A();if(!L){performance.now()<C&&t.updateNextFrame();return}L!==S&&(S=L,K=Vt(),N(K),h())},J=()=>{let L=t.world.width,te=t.world.height,ye=t.getRendererScreenPosition(),Fe=Math.max(1,ye?.width||t.width),Ne=Math.max(1,ye?.height||t.height),Et=t.world.zones.length;if(!oe&&ne&&we===L&&ae===te&&_e===Fe&&ze===Ne&&ie===Et)return ne;let yn=bi(),Ui;if(yn){let q=t.getHomeTarget({position:yn.points,paddingPx:Kt()});Ui={x:q.x,y:q.y,width:q.width,height:q.height}}else Ui=L>0&&te>0?{x:0,y:0,width:L,height:L/Fe*Ne}:void 0;return ne=Ui,oe=!1,we=L,ae=te,_e=Fe,ze=Ne,ie=Et,ne},re=L=>{let te=J();if(!te)return;let ye=t.world.height,Fe=Math.max(1,o),Ne=te.width*Fe,Et=te.height,yn=te.height*Fe,Ui=Math.min(0,ye-Et),q=Math.max(0,ye-Et);return{x:te.x-(Ne-te.width)/2,y:Math.min(q,Math.max(Ui,L)),width:Ne,height:yn}},ue=L=>{if(L.recalculateBounds(),L.points[0]!==0)return re(L.points[2])},N=L=>{let te=re(L);if(!te)return;K=te.y;let ye=t.getViewport();!t.transitionManager.hasPending()&&!vi(ye,te)||(t.transitionManager.hasPending()&&t.transitionManager.stopTransition(),t.setViewport(te),t.updateNextFrame())},k=L=>{let te=re(L);return te?(K=te.y,t.transitionManager.goToRegion(te),t.updateNextFrame(),!0):!1},H=()=>{if(m!=="scroll-mode"||g||y||t.world.hasActiveZone())return;let L=t.getViewport(),te=re(L.y);te&&(K=te.y,vi(L,te)&&(t.transitionManager.hasPending()&&t.transitionManager.stopTransition(),t.setViewport(te),t.updateNextFrame()))},X=(L,te)=>{for(let ye of t.world.zones)if(ye.recalculateBounds(),lx(ye,L,te))return ye},ge=L=>{n()&&(Pe(),Me(),v=!0,R||(R=Lp({...t.getViewport(),y:K})),x=!0,t.goToZone(L)?Ge("zone-active"):x=!1)},Ee=()=>{if(!n())return;let L=k(R?R.y:K);R=void 0,y=L,L||(y=!1,g=!1,N(K)),t.updateNextFrame()},Ie=()=>{if(!n()||m!=="zone-active")return!1;let L=t.world.getActiveZone();if(!L||(L.recalculateBounds(),L.points[0]===0))return!1;let te=t.getViewport();if(te.width<=0||te.height<=0)return!1;let ye=L.points[3]-L.points[1],Fe=L.points[4]-L.points[2],Ne=ye/te.width,Et=Fe/te.height;return Ne<sx&&Et<sx},_=()=>{n()&&m==="zone-active"&&(Pe(),Me(),Ge("scroll-mode"),g=!0,t.deselectZone(),Ee())},j=(L,te)=>{Pe(),Me(),v=!0,ee=!0,G=!1,V=L,Y=te,I=te,E=K,it(K)},pe=(L,te)=>{if(!ee)return!1;Math.hypot(L-V,te-Y)>s&&(G=!0);let ye=(te-I)/Math.max(1e-4,t.getScaleFactor());return N(E-ye),it(K),!0},se=({allowMomentum:L=!0,momentumStrengthMultiplier:te=1,momentumMinStartPxPerMs:ye=ax}={})=>{let Fe=ee,Ne=G;return ee=!1,G=!1,Fe?(L&&m==="scroll-mode"&&!y?$e({strengthMultiplier:te,minStartPxPerMs:ye}):Pe(),Me(),{releasedDrag:!0,tapSuppressed:Ne}):(Me(),{releasedDrag:!1,tapSuppressed:Ne})},de=()=>{ee=!1,G=!1,Me(),Pe()},Ce=()=>{Q=null,z=!1,O=null,G=!1},Ke=L=>{if(!n()||(Tt(),G||y))return;if(m==="scroll-mode"){let ye=X(L.x,L.y);ye&&ge(ye.id);return}let te=t.world.getActiveZone();(!te||!lx(te,L.x,L.y))&&_()},B=L=>{n()&&L.atlas&&Ke(L.atlas)},U=L=>{if(!n())return;if(Tt(),y){L.stopPropagation();return}if(m!=="scroll-mode")return;Pe(),v=!0,L.stopPropagation();let te=((0,gA.default)(L).pixelY||L.deltaY||0)/Math.max(1e-4,t.getScaleFactor())*r;N(K+te)},he=L=>{n()&&(Tt(),!(m!=="scroll-mode"||y||!L.atlas)&&(L.stopPropagation(),j(typeof L.clientX=="number"?L.clientX:0,L.clientY)))},M=L=>{n()&&(Tt(),!(!ee||m!=="scroll-mode"||y||!L.atlas)&&(L.stopPropagation(),pe(typeof L.clientX=="number"?L.clientX:0,L.clientY)))},le=()=>{n()&&se()},Te=L=>{if(!n())return;if(Tt(),m==="zone-active"){if(!L.atlasTouches||L.atlasTouches.length!==1||L.touches.length!==1){Ce();return}let Fe=L.touches[0],Ne=L.atlasTouches[0];Q=Ne.id,z=!0,G=!1,V=Fe.clientX,Y=Fe.clientY,O={x:Ne.x,y:Ne.y};return}if(m!=="scroll-mode"||y)return;if(L.preventDefault(),L.stopPropagation?.(),!L.atlasTouches||L.atlasTouches.length!==1||L.touches.length!==1){Ce(),de();return}let te=L.touches[0],ye=L.atlasTouches[0];Q=ye.id,z=!0,O={x:ye.x,y:ye.y},j(te.clientX,te.clientY)},lt=L=>{if(!n())return;if(Tt(),m==="zone-active"){if(!z)return;if(!L.atlasTouches||L.atlasTouches.length!==1||L.touches.length!==1){Ce();return}let Fe=L.atlasTouches.find(Et=>Et.id===Q)||L.atlasTouches[0],Ne=Array.from(L.touches).find(Et=>Et.identifier===Fe.id)||L.touches[0];O={x:Fe.x,y:Fe.y},Math.hypot(Ne.clientX-V,Ne.clientY-Y)>s&&(G=!0);return}if(m!=="scroll-mode"||y||!ee)return;if(L.preventDefault(),L.stopPropagation?.(),!L.atlasTouches||L.atlasTouches.length!==1||L.touches.length!==1){Ce(),de();return}let te=L.atlasTouches.find(Fe=>Fe.id===Q)||L.atlasTouches[0],ye=Array.from(L.touches).find(Fe=>Fe.identifier===te.id)||L.touches[0];Q=te.id,O={x:te.x,y:te.y},pe(ye.clientX,ye.clientY)},rt=L=>{if(!n())return;if(Tt(),m==="zone-active"){let Fe=O,Ne=z&&!G&&L.touches.length===0;Ce(),Fe&&Ne&&Ke(Fe);return}if(m!=="scroll-mode")return;if(L.preventDefault(),L.stopPropagation?.(),L.touches.length>0){Ce(),de();return}let te=O,ye=se({momentumStrengthMultiplier:a,momentumMinStartPxPerMs:c});Ce(),te&&!ye.tapSuppressed&&Ke(te)},ot=L=>{if(n()){if(Tt(),m==="zone-active"){Ce();return}m==="scroll-mode"&&(L.preventDefault(),L.stopPropagation?.(),Ce(),de())}},st=()=>{if(n()){if(m==="zone-active"){Ce();return}se({momentumStrengthMultiplier:a,momentumMinStartPxPerMs:c}),Ce()}},Je=L=>{n()&&L.key==="Escape"&&_()};Qe("onClick"),Qe("onWheel"),Qe("onMouseDown"),Qe("onMouseMove"),Qe("onMouseUp"),Qe("onTouchStart"),Qe("onTouchMove"),Qe("onTouchEnd"),Qe("onTouchCancel"),t.world.addEventListener("click",B),t.world.addEventListener("wheel",U),t.world.addEventListener("mousedown",he),t.world.addEventListener("mousemove",M),t.world.addEventListener("mouseup",le),t.world.addEventListener("touchstart",Te),t.world.addEventListener("touchmove",lt),t.world.addEventListener("touchend",rt),t.world.addEventListener("touchcancel",ot),window.addEventListener("mouseup",le),window.addEventListener("touchend",st),window.addEventListener("touchcancel",ot),window.addEventListener("keydown",Je),t.manualHomePosition=!0,Ge("scroll-mode"),K=Vt(),F();let hi=Le.start(t),ur=t.registerHook("useFrame",L=>{if(!Be.active)return;if(!n()||m!=="scroll-mode"||g||y||ee||t.world.hasActiveZone()){Pe();return}let te=Math.exp(-L/Math.max(1,d));if(Be.vy*=te,Math.abs(Be.vy)*t.getScaleFactor()<=.02){Pe();return}let ye=K;if(N(K+Be.vy*L),Math.abs(K-ye)<=.01){Pe();return}t.updateNextFrame()}),qi=t.registerHook("useAfterFrame",()=>{if(n()){if(Tt(),H(),F(),y&&!t.transitionManager.hasPending()&&(y=!1,g=!1),w&&m==="zone-active"&&!t.transitionManager.hasPending()){let L=t.world.getActiveZone();if(L&&L.id===w){let te=ue(L);te&&(R=Lp(te),K=te.y)}w=void 0}g||Ie()&&_()}}),It=t.world.addLayoutSubscriber(L=>{if(n()){if((L==="recalculate-world-size"||L==="zone-changed")&&Gt(),L==="goto-region"&&(g=!1),L==="recalculate-world-size"&&m==="scroll-mode"&&!g){let te=R?R.y:K;t.world.zones.length&&te===0&&(K=Vt()),N(K),h()}if(L==="zone-changed"){if(t.world.hasActiveZone()){Pe(),Me(),v=!0;let ye=t.world.getActiveZone();!x&&ye?w=ye.id:R||(R=Lp({...t.getViewport(),y:K})),x=!1,Ge("zone-active");return}let te=m==="zone-active";if(w=void 0,Ge("scroll-mode"),y)return;te?(g=!0,Ee()):g||N(K)}}});return()=>{Pe(),Me(),hi(),ur(),qi(),It(),t.world.removeEventListener("click",B),t.world.removeEventListener("wheel",U),t.world.removeEventListener("mousedown",he),t.world.removeEventListener("mousemove",M),t.world.removeEventListener("mouseup",le),t.world.removeEventListener("touchstart",Te),t.world.removeEventListener("touchmove",lt),t.world.removeEventListener("touchend",rt),t.world.removeEventListener("touchcancel",ot),window.removeEventListener("mouseup",le),window.removeEventListener("touchend",st),window.removeEventListener("touchcancel",ot),window.removeEventListener("keydown",Je),n()&&(Op.delete(t),t.manualHomePosition=f,t.mode=p)}},updatePosition(){}}),bA=class{constructor(e){b(this,"runtime",void 0),b(this,"pendingTransition",void 0),b(this,"lastZoomTo",null),b(this,"isConstraining",!1),b(this,"lastGoToRegion",null),this.runtime=e,this.pendingTransition={from:me(5),to:me(5),elapsed_time:0,done:!0,total_time:0,timingFunction:Wi.easeInOutQuad,constrain:!1}}hasPending(){return!this.pendingTransition.done}getPendingTransition(){return this.pendingTransition}getPendingFrom(){return this.pendingTransition.from}customTransition(e){this.pendingTransition.rotation=void 0,e(this.pendingTransition)}stopTransition(){this.pendingTransition.rotation=void 0,this.pendingTransition.from=me(this.runtime.target),this.pendingTransition.to=me(this.runtime.target),this.pendingTransition.done=!0,this.pendingTransition.elapsed_time=0,this.pendingTransition.total_time=0}runTransition(e,t){if(!this.pendingTransition.done){let i=this.pendingTransition,n=i.total_time===0?0:(i.elapsed_time+t)/i.total_time,r=n>1?1:n,o=i.total_time===0?1:r===0?0:i.timingFunction(r);if(e[1]=i.from[1]+(i.to[1]-i.from[1])*o,e[2]=i.from[2]+(i.to[2]-i.from[2])*o,e[3]=i.from[3]+(i.to[3]-i.from[3])*o,e[4]=i.from[4]+(i.to[4]-i.from[4])*o,i.rotation){let{from:s,to:a,origin:c}=i.rotation,u=(a-s)*o,[l,d]=on((i.from[1]+i.from[3])/2,(i.from[2]+i.from[4])/2,c.x,c.y,-u),h=i.from[3]-i.from[1],p=i.from[4]-i.from[2];e[1]=l-h/2,e[2]=d-p/2,e[3]=l+h/2,e[4]=d+p/2,this.runtime.viewRotation=s+u}this.pendingTransition.elapsed_time+=t,this.pendingTransition.elapsed_time>=this.pendingTransition.total_time&&(this.pendingTransition.done=!0,this.pendingTransition.callback?.(),this.pendingTransition.constrain&&this.constrainBounds({transition:{duration:this.pendingTransition.total_time===0?0:500,easing:Wi.easeOutExpo}}))}}rotateTo(e,{origin:t={x:(this.runtime.target[1]+this.runtime.target[3])/2,y:(this.runtime.target[2]+this.runtime.target[4])/2},panPadding:i=0,transition:n}={}){if(!Number.isFinite(e)||!Number.isFinite(t.x)||!Number.isFinite(t.y))throw RangeError("Rotation and pivot coordinates must be finite");let r=this.runtime.viewRotation,o=((e-r+180)%360+360)%360-180;if(Math.abs(o)<1e-6){this.constrainTarget(this.runtime.target,{origin:t,panPadding:i});return}let s=this.runtime.target,a=s[3]-s[1],c=s[4]-s[2],[u,l]=on((s[1]+s[3])/2,(s[2]+s[4])/2,t.x,t.y,-o);this.applyTransition(ke.singleBox(a,c,u-a/2,l-c/2),n,{duration:250,easing:Wi.easeOutQuart,constrain:!1,callback:()=>this.constrainTarget(this.runtime.target,{origin:t,panPadding:i})}),this.pendingTransition.rotation={from:r,to:r+o,origin:{...t}},this.runtime.updateNextFrame()}resumeTransition(){this.lastZoomTo&&this.zoomTo(this.lastZoomTo.factor,this.lastZoomTo.options),this.isConstraining&&this.constrainBounds(),this.lastGoToRegion&&this.goToRegion(this.lastGoToRegion.target,this.lastGoToRegion.options)}zoomTo(e,t={}){let{origin:i,stream:n=!1,transition:r}=t;this.lastZoomTo={factor:e,options:t};let o=this.runtime.getZoomedPosition(e,{origin:i}),s=Math.abs(1-e);this.applyTransition(o,r,{duration:2e3*s,easing:Wi.easeOutExpo,constrain:!0,callback:()=>{this.lastZoomTo=null}},{stream:!1})}constrainBounds({transition:e,panPadding:t=0}={}){this.isConstraining=!0;let[i,n]=this.runtime.constrainBounds(this.runtime.target,{panPadding:t});if(i){this.applyTransition(n,e,{duration:500,easing:Wi.easeOutQuart,constrain:!1,callback:()=>{this.isConstraining=!1}}),this.runtime.updateNextFrame();return}this.isConstraining=!1}constrainTarget(e,{origin:t,transition:i,panPadding:n=0}={}){this.isConstraining=!0;let[r,o]=this.runtime.constrainTarget(e,{origin:t,panPadding:n});if(r){this.applyTransition(o,i,{duration:500,easing:Wi.easeOutQuart,constrain:!1,callback:()=>{this.isConstraining=!1}}),this.runtime.updateNextFrame();return}this.isConstraining=!1}applyTransition(e,t,i,{stream:n}={}){this.pendingTransition.rotation=void 0,this.pendingTransition.from=me(this.runtime.target),this.pendingTransition.to=e,n||(this.pendingTransition.elapsed_time=0),this.pendingTransition.done=!1,this.pendingTransition.callback=i?.callback,this.pendingTransition.total_time=t?.duration===void 0?i?.duration===void 0?1e3:i.duration:t.duration,this.pendingTransition.constrain=t?.constrain===void 0?i?.constrain===void 0?!1:i.constrain:t.constrain,this.pendingTransition.timingFunction=t?.easing||i?.easing||Wi.easeInOutSine}goToRegion(e,{transition:t}={}){this.lastGoToRegion={target:e,options:{transition:t}};let i=this.runtime.clampRegion(e);this.applyTransition(ke.singleBox(i.width,i.height,i.x,i.y),t,{duration:1e3,easing:Wi.easeOutExpo,constrain:!0,callback:()=>{this.lastGoToRegion=null}}),this.runtime.updateNextFrame()}};Number.MIN_VALUE+1;var Ms=class{get x(){return this.target[1]}set x(e){this.target[1]=e}get y(){return this.target[2]}set y(e){this.target[2]=e}get x2(){return this.target[3]}set x2(e){this.target[3]=e}get y2(){return this.target[4]}set y2(e){this.target[4]=e}get width(){return this.target[3]-this.target[1]}set width(e){this.target[3]=this.target[1]+e}get height(){return this.target[4]-this.target[2]}set height(e){this.target[4]=this.target[2]=e}setTouchRotationEnabled(e){this.touchRotationEnabled=e,!e&&this.transitionManager.getPendingTransition().rotation&&this.transitionManager.stopTransition()}get viewRotation(){return this._viewRotation||0}set viewRotation(e){this.rotateBy(e-this.viewRotation)}rotateBy(e,t){if(!Number.isFinite(e)||t&&(!Number.isFinite(t.x)||!Number.isFinite(t.y)))throw RangeError("Rotation and pivot coordinates must be finite");let i=(this.target[1]+this.target[3])/2,n=(this.target[2]+this.target[4])/2;if(t){let[r,o]=on(i,n,t.x,t.y,-e);Vi(this.target,zt(r-i,o-n))}this._viewRotation=(this.viewRotation+e)%360,this.updateNextFrame()}getVisibleWorldBounds(e=this.target){if(!this.viewRotation)return e;let t=this.viewRotation*Math.PI/180,i=Math.abs(Math.cos(t)),n=Math.abs(Math.sin(t)),r=e[3]-e[1],o=e[4]-e[2],s=r*i+o*n,a=r*n+o*i;return ke.singleBox(s,a,(e[1]+e[3]-s)/2,(e[2]+e[4]-a)/2)}constructor(e,t,i,n=[],r){b(this,"id",hl()),b(this,"ready",!1),b(this,"idle",!1),b(this,"readyCycle",0),b(this,"readyReason","initial"),b(this,"readyTimestamp",void 0),b(this,"resourceTransitionKey",void 0),b(this,"hasResourceTransitionKey",!1),b(this,"panMomentumActive",!1),b(this,"touchRotationEnabled",!0),b(this,"_viewRotation",0),b(this,"renderer",void 0),b(this,"world",void 0),b(this,"target",void 0),b(this,"homePosition",void 0),b(this,"manualHomePosition",void 0),b(this,"manualFocalPosition",void 0),b(this,"focalPosition",void 0),b(this,"homePaddingPx",void 0),b(this,"transitionManager",void 0),b(this,"aggregate",void 0),b(this,"transformBuffer",me(500)),b(this,"lastTarget",me(5)),b(this,"zoomBuffer",me(5)),b(this,"logNextRender",!1),b(this,"pendingUpdate",!0),b(this,"isCommitting",!1),b(this,"firstRender",!0),b(this,"lastTime",void 0),b(this,"stopId",void 0),b(this,"mode","explore"),b(this,"controllers",[]),b(this,"controllersRunning",!1),b(this,"controllerStopFunctions",[]),b(this,"maxScaleFactor",1),b(this,"_viewerToWorld",{x:0,y:0}),b(this,"_lastGoodScale",1),b(this,"debugFrame",0),b(this,"debugSubscribers",new Set),b(this,"hooks",{useFrame:[],useBeforeFrame:[],useAfterPaint:[],useAfterFrame:[]}),b(this,"fpsLimit",void 0),b(this,"options",void 0),b(this,"hookOptions",{filters:{grayscale:0,contrast:0,brightness:0,saturate:0,sepia:0,invert:0,hueRotate:0,blur:0}}),b(this,"_viewport",{x:0,y:0,width:0,height:0}),b(this,"setViewport",o=>{let s=Math.round(o.x===void 0?this.target[1]:o.x),a=Math.round(o.y===void 0?this.target[2]:o.y);o.width?this.target[3]=s+o.width:this.target[3]=this.target[3]-this.target[1]+s,o.height?this.target[4]=a+o.height:this.target[4]=this.target[4]-this.target[2]+a,Math.abs(this.target[1]-s)>.01&&(this.target[1]=s),Math.abs(this.target[2]-a)>.01&&(this.target[2]=a),this.pendingUpdate=!0}),b(this,"render",o=>{if(this.idle){this.lastTime=o,this.stopId=window.requestAnimationFrame(this.render);return}let s=o-this.lastTime;if(this.isCommitting||this.fpsLimit&&s<1e3/this.fpsLimit){this.stopId=window.requestAnimationFrame(this.render);return}this.lastTime=o,this.world.flushSubscriptions(),this.stopId=window.requestAnimationFrame(this.render),this.hook("useFrame",s);let a=this.pendingUpdate,c=this.renderer.pendingUpdate(),u=this.world.hasPendingAnimation(),l=this.hasDebugSubscribers();if(this.transitionManager.hasPending()&&(this.transitionManager.runTransition(this.target,s),this.pendingUpdate=!0,a=!0,this.updateControllerPosition()),u&&(this.pendingUpdate=!0,a=!0),!this.firstRender&&!a&&!c&&!u&&this.target[0]===this.lastTarget[0]&&this.target[1]===this.lastTarget[1]&&this.target[2]===this.lastTarget[2]&&this.target[3]===this.lastTarget[3]&&this.target[4]===this.lastTarget[4])return;let d=++this.debugFrame,h=0;l&&this.emitDebug({type:"frame-start",at:o,runtimeId:this.id,frame:d,delta:s,mode:this.mode,pendingUpdate:a,rendererPendingUpdate:c,target:[this.target[1],this.target[2],this.target[3],this.target[4]]}),this.hook("useBeforeFrame",s),this.hookOptions.viewRotation=this.viewRotation,this.hookOptions.viewCenter={x:this.width*this.getScaleFactor()/2,y:this.height*this.getScaleFactor()/2},this.renderer.beforeFrame(this.world,s,this.target,this.hookOptions);let p=this.getScaleFactor(),f=this.renderer.getPointsAt(this.world,this.target,this.aggregate,p,this.getVisibleWorldBounds()),m=f.length;for(let x=0;x<m;x++){let w=f[x][0],R=f[x][1],v=f[x][2],S=v?Jt(R,v,this.transformBuffer):R;this.renderer.prepareLayer(w,w.__parent&&v?Jt(w.__parent.crop||w.__parent.points,v):S);let C=S.length/5;for(let T=0;T<C;T++){let I=T*5;if(S[I]!==0){if(this.renderer.paint(w,T,S[I+1],S[I+2],S[I+3]-S[I+1],S[I+4]-S[I+2]),h++,l){let E;if(w.getImageUrl)try{E=w.getImageUrl(T)}catch{E=void 0}this.emitDebug({type:"paint",at:o,runtimeId:this.id,frame:d,layerIndex:x,tileIndex:T,x:S[I+1],y:S[I+2],width:S[I+3]-S[I+1],height:S[I+4]-S[I+2],paintId:w.id||`${x}:${T}`,paintType:w?.constructor?.name||w.type||"UnknownPaint",ownerId:w.__owner?.value?.id,compositeId:w.__parent?.id,imageUrl:E})}this.hook("useAfterPaint",w)}}this.renderer.finishLayer(w,R)}this.renderer.afterFrame(this.world,s,this.target,this.hookOptions),this.pendingUpdate=!1,this.hook("useAfterFrame",s),this.lastTarget[0]=this.target[0],this.lastTarget[1]=this.target[1],this.lastTarget[2]=this.target[2],this.lastTarget[3]=this.target[3],this.lastTarget[4]=this.target[4],this.firstRender=!1,this.logNextRender=!1,!this.ready&&this.renderer.isReady()&&(this.ready=!0,this.readyTimestamp=performance.now(),this.world.trigger("ready")),l&&this.emitDebug({type:"frame-end",at:o,runtimeId:this.id,frame:d,delta:s,scaleFactor:p,paintCount:h,ready:this.ready,pendingUpdate:this.pendingUpdate,worldWidth:this.world.width,worldHeight:this.world.height,target:[this.target[1],this.target[2],this.target[3],this.target[4]]}),this.world.flushSubscriptions();let g=this.world.getScheduledUpdates(this.getVisibleWorldBounds(),p),y=g.length;if(y>0)for(let x=0;x<y;x++){let w=g[y-x-1]();w?w.then(()=>{this.pendingUpdate=!0}):this.pendingUpdate=!0}}),this.renderer=e,this.world=t,this.options={maxOverZoom:1,maxUnderZoom:1,visibilityRatio:1,...r||{}},this.target=ke.projection(i),this.manualHomePosition=!1,this.pendingUpdate=!0,this.homePosition=ke.projection(this.world),this.manualFocalPosition=!1,this.focalPosition=this.target,this.updateFocalPosition(),this.transitionManager=new bA(this),this.aggregate=rn(1),this.world.addLayoutSubscriber(o=>{(o==="repaint"||o==="zone-changed")&&(this.pendingUpdate=!0),o==="recalculate-world-size"&&(this.manualHomePosition||(this.setHomePosition(),this.goHome()),this.updateFocalPosition())}),this.lastTime=performance.now(),this.controllers=n,this.render(this.lastTime),this.startControllers(),this.homePaddingPx=void 0}setHomePosition(e){this.homePosition.set(ke.projection(e||this.world)),this.pendingUpdate=!0}setHomePaddingPx(e){this.homePaddingPx=e,this.pendingUpdate=!0}getHomePaddingPx(){return this.homePaddingPx}startControllers(){if(!this.controllersRunning){for(let e of this.controllers)this.controllerStopFunctions.push(e.start(this));this.controllersRunning=!0}}stopControllers(){if(this.controllersRunning){for(let e of this.controllerStopFunctions)e();this.controllersRunning=!1,this.controllerStopFunctions=[]}}updateControllerPosition(){for(let e of this.controllers)e.updatePosition(this.x,this.y,this.width,this.height)}triggerResize(){this.renderer.triggerResize&&this.renderer.triggerResize(),this.pendingUpdate=!0}addController(e){this.controllers.push(e),this.controllersRunning&&e.start(this),this.pendingUpdate=!0}cover(){return this.goHome({cover:!0})}getRendererScreenPosition(){return this.renderer.getRendererScreenPosition()}updateRendererScreenPosition(){this.pendingUpdate=!0,this.renderer.resize()}setOptions(e){this.options={...this.options,...e}}setResourceTransitionKey(e){if(!this.hasResourceTransitionKey){this.hasResourceTransitionKey=!0,this.resourceTransitionKey=e;return}this.resourceTransitionKey!==e&&(this.resourceTransitionKey=e,e!==void 0&&(this.renderer.resetImageFadeState&&this.renderer.resetImageFadeState(),this.resetReadyState("resource-transition-key-change")))}normalizePadding(e){return typeof e=="number"?{left:e,right:e,top:e,bottom:e}:e?{left:e.left||0,right:e.right||0,top:e.top||0,bottom:e.bottom||0}:{left:0,right:0,top:0,bottom:0}}getHomeTarget(e={}){let t=this.getRendererScreenPosition(),i=t?.width||this.width,n=t?.height||this.height,r=e.paddingPx===void 0?this.homePaddingPx:e.paddingPx,o=this.normalizePadding(r),s=Math.max(1,i-o.left-o.right),a=Math.max(1,n-o.top-o.bottom),c=e.position?{x:e.position[1],y:e.position[2],width:e.position[3]-e.position[1],height:e.position[4]-e.position[2]}:{x:this.homePosition[1],y:this.homePosition[2],width:this.homePosition[3]-this.homePosition[1],height:this.homePosition[4]-this.homePosition[2]};if(this.viewRotation){let v=this.viewRotation*Math.PI/180,S=Math.abs(Math.cos(v)),C=Math.abs(Math.sin(v)),T=c.width*S+c.height*C,I=c.width*C+c.height*S;c.x+=(c.width-T)/2,c.y+=(c.height-I)/2,c.width=T,c.height=I}let u=s/a,l=c.width/c.height,d,h,p,f;(e.cover?l<u:l>u)?(d=c.width,h=c.width/u,p=c.x,f=c.y-(h-c.height)/2):(h=c.height,d=c.height*u,p=c.x-(d-c.width)/2,f=c.y);let m=d/s,g=o.left*m,y=o.right*m,x=o.top*m,w=o.bottom*m,R={x:p-g,y:f-x,width:d+g+y,height:h+x+w};if(this.viewRotation){let v=c.x+c.width/2,S=c.y+c.height/2,[C,T]=on(R.x+R.width/2,R.y+R.height/2,v,S,-this.viewRotation);R.x=C-R.width/2,R.y=T-R.height/2}return R}isViewportAtHome(e={}){let{cover:t=!1,tolerance:i=1,target:n=this.getViewport()}=e,r=this.getHomeTarget({cover:t});return Math.abs(n.x-r.x)<=i&&Math.abs(n.y-r.y)<=i&&Math.abs(n.width-r.width)<=i&&Math.abs(n.height-r.height)<=i}isViewportAtHomeZoomLevel(e={}){let{cover:t=!1,tolerance:i=.05,target:n=this.getViewport()}=e,r=this.getHomeTarget({cover:t}),o=this.renderer.getScale(n.width,n.height)||this._lastGoodScale,s=this.renderer.getScale(r.width,r.height)||this._lastGoodScale;return s===0?!1:Math.abs(o/s-1)<=i}goHome(e={}){if(this.world.width<=0||this.world.height<=0)return;let t=e.paddingPx===void 0?this.homePaddingPx:e.paddingPx,i=this.normalizePadding(t);if(i.left>0||i.right>0||i.top>0||i.bottom>0||this.viewRotation){let n=this.getHomeTarget(e);this.target[1]=Math.round(n.x),this.target[2]=Math.round(n.y),this.target[3]=Math.round(n.x+n.width),this.target[4]=Math.round(n.y+n.height)}else{let n=this.getScaleFactor(),r=e.position?{x:e.position[1],y:e.position[2],width:e.position[3]-e.position[1],height:e.position[4]-e.position[2]}:{x:this.homePosition[1],y:this.homePosition[2],width:this.homePosition[3]-this.homePosition[1],height:this.homePosition[4]-this.homePosition[2]},o=this.width*n,s=this.height*n,a=r.width/o,c=r.height/s,u=o/s;if(e.cover?a>c:a<c){let l=u*r.height,d=(l-r.width)/2;this.target[1]=Math.round(-d+r.x),this.target[2]=Math.round(r.y),this.target[3]=Math.round(l-d+r.x),this.target[4]=Math.round(r.height+r.y)}else{let l=r.width/u,d=(l-r.height)/2;this.target[1]=Math.round(r.x),this.target[2]=Math.round(r.y-d),this.target[3]=Math.round(r.x+r.width),this.target[4]=Math.round(r.y+l-d)}}this.constrainBounds(this.target),this.updateControllerPosition()}resize(e,t,i,n){this.transitionManager.hasPending()&&this.transitionManager.stopTransition(),this.updateFocalPosition(e-t,i-n);let r=t/e,o=n/i;this.target[3]=this.target[1]+(this.target[3]-this.target[1])*r,this.target[4]=this.target[2]+(this.target[4]-this.target[2])*o,this.goHome({position:this.focalPosition}),this.renderer.resize(t,n),this.pendingUpdate=!0,this.transitionManager.resumeTransition()}updateFocalPosition(e,t){if(!this.manualFocalPosition){let i=this.width,n=this.height,r=Math.min(i,n),o=this.x+0,s=this.y+0;if(i<n){let a=this.height-this.width;this.focalPosition=ke.projection({x:o,y:s+a/2,width:r-0,height:r-0}),this.pendingUpdate=!0}else{let a=this.width-this.height;this.focalPosition=ke.projection({x:o+a/2,y:s,width:r-0,height:r-0}),this.pendingUpdate=!0}}}getViewport(){return this._viewport.x=this.target[1],this._viewport.y=this.target[2],this._viewport.width=this.target[3]-this.target[1],this._viewport.height=this.target[4]-this.target[2],this._viewport}constrainBounds(e,{panPadding:t=0,ref:i=!1}={}){let{minX:n,maxX:r,minY:o,maxY:s}=this.getBounds({target:e,padding:t});if(this.viewRotation){let d=e[3]-e[1],h=e[4]-e[2],p=(e[1]+e[3])/2,f=(e[2]+e[4])/2,[m,g]=on(p,f,0,0,this.viewRotation),[y,x]=on(Math.max(n,Math.min(r,m-d/2))+d/2,Math.max(o,Math.min(s,g-h/2))+h/2,0,0,-this.viewRotation),w=i?e:me(e),R=Math.max(1,Math.abs(p),Math.abs(f),d,h)*1e-6,v=Math.abs(y-p)>R||Math.abs(x-f)>R;return v&&(w[1]=y-d/2,w[2]=x-h/2,w[3]=y+d/2,w[4]=x+h/2),[v,w]}let a=!1,c=i?e:me(e),u=Math.round(e[3]-e[1]),l=Math.round(e[4]-e[2]);return n>e[1]&&(a=!0,c[1]=n,c[3]=n+u),o>e[2]&&(a=!0,c[2]=o,c[4]=o+l),r<e[1]&&(a=!0,c[1]=r,c[3]=r+u),s<e[2]&&(a=!0,c[2]=s,c[4]=s+l),[a,c]}getBounds(e){let t=e.target||this.target,i=e.padding,n=this.options.visibilityRatio,r=Math.abs(1-n);if(this.viewRotation){let g=this.world.getActiveZone();g?.recalculateBounds();let y=g?.points[0]?g.points:ke.singleBox(this.world.width,this.world.height),[x,w]=on((y[1]+y[3])/2,(y[2]+y[4])/2,0,0,this.viewRotation),R=this.viewRotation*Math.PI/180,v=Math.abs(Math.cos(R)),S=Math.abs(Math.sin(R)),C=(y[3]-y[1])*v+(y[4]-y[2])*S,T=(y[3]-y[1])*S+(y[4]-y[2])*v,I=zp(t,ke.singleBox(C,T,x-C/2,w-T/2),i);if(!g){let E=(t[3]-t[1])*r,V=(t[4]-t[2])*r;I.minX-=E,I.maxX+=E,I.minY-=V,I.maxY+=V}return I}if(this.world.hasActiveZone()){let g=this.world.getActiveZone();if(g){g.recalculateBounds();let y=zp(t,g.points,i);if(y)return y}}let o=t[3]-t[1],s=this.world.width,a=-o*r,c=s-o-a,u=t[4]-t[2],l=this.world.height,d=-u*r,h=l-u-d,p=Math.round(Math.max(a,c)),f=Math.round(Math.min(a,c)),m=Math.round(Math.max(d,h));return{minX:f,maxX:p,minY:Math.round(Math.min(d,h)),maxY:m}}getScaleFactor(e=!1){let t=this.renderer.getScale(this.target[3]-this.target[1],this.target[4]-this.target[2],e);return t===0?this._lastGoodScale:(this._lastGoodScale=t,t)}copyStrandValues(e,t){e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4]}getZoomConstraintState(e){let t=e[3]-e[1],i=e[4]-e[2],n=this.renderer.getScale(t,i),r=n===0?this._lastGoodScale:n;n!==0&&(this._lastGoodScale=n);let o=t*r,s=i*r,a=this.world.width/o,c=this.world.height/s,u=this.viewRotation?this.getHomeTarget():void 0,l=u?this.renderer.getScale(u.width,u.height)*this.options.maxUnderZoom:a>c?o*this.options.maxUnderZoom/this.world.width:s*this.options.maxUnderZoom/this.world.height,d=this.getRendererScreenPosition()?.width,h=d?d/this.world.width:1,p=1,f=(g,y,x)=>{if(!(g instanceof ai))return;let w=Ep(g.applyRotation(y),g.points);if(w[3]<=w[1]||w[4]<=w[2])return;let R=x*g.scale,v=Jt(w,nn(rn(1/g.scale),zt(-g.x,-g.y)));for(let S of g.layers){if(S instanceof ai){f(S,v,R);continue}let C=S instanceof mo?[S,...S.allImages]:[S];for(let T of C){if(!(T instanceof mo)&&!T.getImageUrl&&!T.getTexture)continue;let I=T.display.scale*R;Number.isFinite(I)&&I>0&&(p=Math.max(p,1/I))}}},m=this.getVisibleWorldBounds(e);for(let[g]of this.world.getObjectsAt(m))f(g,m,1);return{scaleFactor:r,minScale:l,maxScale:Math.max(h||1,this.options.maxOverZoom*p)}}constrainTarget(e,{origin:t,panPadding:i=0,ref:n=!1}={}){let r=!1,o=n?e:me(e),{scaleFactor:s,minScale:a,maxScale:c}=this.getZoomConstraintState(o),u=Math.max(a,Math.min(c,s));if(Math.abs(u-s)>1e-6){let d=t||{x:o[1]+(o[3]-o[1])/2,y:o[2]+(o[4]-o[2])/2},h=Jt(o,po(s/u,d.x,d.y),this.zoomBuffer);this.copyStrandValues(o,h),r=!0}let[l]=this.constrainBounds(o,{ref:!0,panPadding:i});return[r||l,o]}getZoomedPosition(e,{origin:t,fromPos:i}){let n=i||this.target,{scaleFactor:r,minScale:o,maxScale:s}=this.getZoomConstraintState(n),a=1/e,c=r*a;a<1?c<o&&(e=r/o):c>s&&(e=r/s);let u=Jt(n,po(e,t?t.x:n[1]+(n[3]-n[1])/2,t?t.y:n[2]+(n[4]-n[2])/2),this.zoomBuffer),l=this.world.hasActiveZone()?0:100;return this.constrainBounds(u,{ref:!0,panPadding:l}),u}clampRegion({x:e,y:t,width:i,height:n,padding:r=0}){let o=this.width,s=this.height,a=i/o<n/s,c=e-r,u=t-r,l=i+r*2,d=n+r*2;if(a){let p=d/s*o;return{x:c-(p-l)/2,y:u,width:p,height:d}}let h=l/o*s;return{x:c,y:u-(h-d)/2,width:l,height:h}}viewerToWorld(e,t){let i=this.getScaleFactor(),[n,r]=on(this.target[1]+e/i,this.target[2]+t/i,(this.target[1]+this.target[3])/2,(this.target[2]+this.target[4])/2,-this.viewRotation);return this._viewerToWorld.x=n,this._viewerToWorld.y=r,{x:n,y:r}}worldToViewer(e,t,i,n){let r=ke.singleBox(i,n,e,t);if(this.viewRotation){let o=(this.target[1]+this.target[3])/2,s=(this.target[2]+this.target[4])/2,a=[[e,t],[e+i,t],[e,t+n],[e+i,t+n]].map(([c,u])=>on(c,u,o,s,this.viewRotation));r[1]=Math.min(...a.map(c=>c[0])),r[2]=Math.min(...a.map(c=>c[1])),r[3]=Math.max(...a.map(c=>c[0])),r[4]=Math.max(...a.map(c=>c[1]))}return Vi(r,nn(rn(this.getScaleFactor()),zt(-this.target[1],-this.target[2]))),{x:r[1],y:r[2],width:r[3]-r[1],height:r[4]-r[2],strand:r}}setScale(e,t){Vi(this.target,po(e,t?t.x:this.target[1]+(this.target[3]-this.target[1])/2,t?t.y:this.target[2]+(this.target[4]-this.target[2])/2)),this.pendingUpdate=!0}syncTo(e){let t=this.target;return this.target=e.target,this.pendingUpdate=!0,()=>{this.target=t}}stop(){return this.stopId!==void 0&&(window.cancelAnimationFrame(this.stopId),this.stopId=void 0),()=>{this.render(performance.now())}}reset(){this.renderer.reset(),this.resetReadyState("runtime-reset")}setIdle(e){this.idle!==e&&(this.idle=e,this.renderer.setIdle?.(e),this.lastTime=performance.now(),this.updateNextFrame())}resetReadyState(e="manual"){this.ready=!1,this.readyCycle+=1,this.readyReason=e,this.readyTimestamp=void 0,this.renderer.resetReadyState&&this.renderer.resetReadyState(),this.pendingUpdate=!0}getReadyState(){return{ready:this.ready,cycle:this.readyCycle,reason:this.readyReason,timestamp:this.readyTimestamp}}selectZone(e){this.world.selectZone(e),this.pendingUpdate=!0}goToZone(e,t={}){let i=this.world.getZoneById(e);if(!i||(i.recalculateBounds(),i.points[0]===0))return!1;this.world.selectZone(e);let n=this.getHomeTarget({position:i.points,paddingPx:t.paddingPx});return t.immediate?(this.transitionManager.stopTransition(),this.setViewport(n),this.constrainBounds(this.target,{ref:!0}),this.updateControllerPosition(),this.pendingUpdate=!0,!0):(this.transitionManager.applyTransition(ke.singleBox(n.width,n.height,n.x,n.y),void 0,{duration:1e3,easing:Wi.easeOutExpo,constrain:!1}),this.updateNextFrame(),this.pendingUpdate=!0,!0)}deselectZone(){this.world.deselectZone(),this.pendingUpdate=!0}getZoneRuntimeState(e,t=this.getViewport()){let i=this.world.getZoneById(e);if(!i)return{zoneId:e,exists:!1,active:!1,visibleInViewport:!1};i.recalculateBounds();let n=this.world.getActiveZone()?.id===e;if(i.points[0]===0)return{zoneId:e,exists:!0,active:n,visibleInViewport:!1};let r=i.points[1],o=i.points[2],s=i.points[3]-i.points[1],a=i.points[4]-i.points[2];return{zoneId:e,exists:!0,active:n,visibleInViewport:r<t.x+t.width&&r+s>t.x&&o<t.y+t.height&&o+a>t.y}}hook(e,t){let i=this.hooks[e].length;if(i!==0)for(let n=0;n<i;n++)this.hooks[e][n](t)}registerHook(e,t){return this.hooks[e].push(t),()=>{this.hooks[e]=this.hooks[e].filter(i=>i!==t)}}updateNextFrame(){this.pendingUpdate=!0}addDebugSubscriber(e){return this.debugSubscribers.add(e),()=>{this.removeDebugSubscriber(e)}}removeDebugSubscriber(e){this.debugSubscribers.delete(e)}hasDebugSubscribers(){return this.debugSubscribers.size>0}emitDebug(e){if(this.debugSubscribers.size!==0)for(let t of this.debugSubscribers)t(e)}},_p={margin:0},tm=class{constructor(e,t={}){b(this,"id",void 0),b(this,"config",void 0),b(this,"points",void 0),b(this,"objects",void 0),Array.isArray(e)?(this.id=e.map(i=>i.id).join("$$"),this.config={..._p,...t},this.objects=[...e]):(this.id=e.id,this.config={..._p,margin:typeof e.margin=="number"?e.margin:_p.margin,x:e.x,y:e.y,width:e.width,height:e.height},this.objects=[...e.objects||[]]),this.points=me(5),this.recalculateBounds()}applyProps(e){e.id!==void 0&&(this.id=e.id),this.config={...this.config,...e},this.recalculateBounds()}addObject(e){this.objects.indexOf(e)===-1&&(this.objects.push(e),this.recalculateBounds())}removeObject(e){this.objects=this.objects.filter(t=>t!==e),this.recalculateBounds()}recalculateBounds(){if(!(Number.isFinite(this.config.x)&&Number.isFinite(this.config.y)&&Number.isFinite(this.config.width)&&Number.isFinite(this.config.height)&&this.config.width>0&&this.config.height>0)){this.points.set([0,0,0,0,0]);return}let e=this.config.margin,t=this.config.x,i=this.config.y,n=this.config.width,r=this.config.height;this.points.set([1,t-e,i-e,t+n+e,i+r+e])}getPointsAt(e,t,i){return[]}};var xA=Object.defineProperty,wA=(e,t,i)=>t in e?xA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,rd=(e,t,i)=>(wA(e,typeof t!="symbol"?t+"":t,i),i);function go(e){return e.endsWith("info.json")?e:e.endsWith("/")?`${e}info.json`:`${e}/info.json`}var SA="http://library.stanford.edu/iiif/image-api/compliance.html#level0",Mx="http://library.stanford.edu/iiif/image-api/compliance.html#level1",kx="http://library.stanford.edu/iiif/image-api/compliance.html#level2",RA="http://library.stanford.edu/iiif/image-api/conformance.html#level0",Ox="http://library.stanford.edu/iiif/image-api/conformance.html#level1",Lx="http://library.stanford.edu/iiif/image-api/conformance.html#level2",CA="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0",_x="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1",Fx="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",TA="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level0",Nx="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1",Dx="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2",PA="http://iiif.io/api/image/1/level0.json",AA="http://iiif.io/api/image/1/profiles/level0.json",zx="http://iiif.io/api/image/1/level1.json",Bx="http://iiif.io/api/image/1/profiles/level1.json",Vx="http://iiif.io/api/image/1/level2.json",Wx="http://iiif.io/api/image/1/profiles/level2.json",IA="http://iiif.io/api/image/2/level0.json",EA="http://iiif.io/api/image/2/profiles/level0.json",$x="http://iiif.io/api/image/2/level1.json",jx="http://iiif.io/api/image/2/profiles/level1.json",Hx="http://iiif.io/api/image/2/level2.json",qx="http://iiif.io/api/image/2/profiles/level2.json",MA="level0",Ux="level1",Yx="level2",kA="http://iiif.io/api/image/2/level0",Gx="http://iiif.io/api/image/2/level1",Kx="http://iiif.io/api/image/2/level2",OA="https://iiif.io/api/image/1.1/compliance/#level0",Xx="https://iiif.io/api/image/1.1/compliance/#level1",Zx="https://iiif.io/api/image/1.1/compliance/#level2",Qx=[Kx,kx,Lx,Fx,Dx,Vx,Wx,Hx,qx,Yx,Zx],Jx=[...Qx,Gx,Mx,Ox,_x,Nx,zx,Bx,$x,jx,Ux,Xx],LA=[kA,Gx,Kx,SA,Mx,kx,RA,Ox,Lx,CA,_x,Fx,TA,Nx,Dx,PA,AA,zx,Bx,Vx,Wx,IA,EA,$x,jx,Hx,qx,MA,Ux,Yx,OA,Xx,Zx];var _A={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["sizeByWhListed"]},FA={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPx","regionSquare","sizeByWhListed","sizeByH","sizeByW","sizeByWh"]},NA={extraFormats:["jpg","png"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPct","regionByPx","regionSquare","rotationBy90s","sizeByWhListed","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"]};function DA(e){return Qx.indexOf(e)!==-1?NA:Jx.indexOf(e)!==-1?FA:_A}function zA(e){let t=e?Array.isArray(e.profile)?e.profile:[e.profile]:[],i={extraQualities:[],extraFormats:[],extraFeatures:[]};for(let n of t)if(typeof n=="string"&&(n=DA(n)),!!n){if(n.formats)for(let r of n.formats)i.extraFormats.indexOf(r)===-1&&i.extraFormats.push(r);if(n.qualities)for(let r of n.qualities)i.extraQualities.indexOf(r)===-1&&i.extraQualities.push(r);if(n.supports)for(let r of n.supports)i.extraFeatures.indexOf(r)===-1&&i.extraFeatures.push(r);if(n.maxHeight&&(i.maxHeight=n.maxHeight),n.maxWidth&&(i.maxWidth=n.maxWidth),n.maxArea&&(i.maxArea=n.maxArea),n.extraFormats)for(let r of n.extraFormats)i.extraFormats.indexOf(r)===-1&&i.extraFormats.push(r);if(n.extraQualities)for(let r of n.extraQualities)i.extraQualities.indexOf(r)===-1&&i.extraQualities.push(r);if(n.extraFeatures)for(let r of n.extraFeatures)i.extraFeatures.indexOf(r)===-1&&i.extraFeatures.push(r);n.maxHeight&&(i.maxHeight=n.maxHeight),n.maxWidth&&(i.maxWidth=n.maxWidth),n.maxArea&&(i.maxArea=n.maxArea)}if(e.extraFormats)for(let n of e.extraFormats)i.extraFormats.indexOf(n)===-1&&i.extraFormats.push(n);if(e.extraFeatures)for(let n of e.extraFeatures)i.extraFeatures.indexOf(n)===-1&&i.extraFeatures.push(n);if(e.extraQualities)for(let n of e.extraQualities)i.extraQualities.indexOf(n)===-1&&i.extraQualities.push(n);return i}function BA(e){try{if(e==="full")return{full:!0};if(e==="square")return{square:!0};let t=e.startsWith("pct:"),i=e.substr(t?4:0).split(",").map(n=>parseFloat(n));return{x:i[0],y:i[1],w:i[2],h:i[3],percent:t}}catch{throw new Error("Expected 'full', 'square' or 'x,y,w,h'. Found "+e)}}function VA(e){let t={upscaled:!1,max:!1,confined:!1};if(e[0]==="^"&&(t.upscaled=!0,e=e.slice(1)),e==="max"||e==="full")return t.max=!0,t.serialiseAsFull=e==="full",t;if(e[0]==="!"&&(t.confined=!0,e=e.slice(1)),e[0]==="p")return t.percentScale=parseFloat(e.slice(4)),t;let i=e.split(",").map(n=>n.trim());return i.length&&typeof i[0]<"u"&&(i[0]!==""&&(t.width=parseInt(i[0],10)),typeof i[1]<"u"&&i[1]!==""?(t.height=parseInt(i[1],10),t.version=2):t.version=3),t}function WA(e){let t={angle:0};if(e[0]==="!"&&(t.mirror=!0,e=e.substr(1)),t.angle=parseFloat(e)%360,Number.isNaN(t.angle))throw new Error(`Invalid rotation ${e}`);return t}function $A(e,t=""){let i=e.match(/^(([a-zA-Z]+):\/\/([^/]+))?((.*)+)/);if(!i)throw new Error(`Invalid or unknown input ${e}`);let n=i[2],r=i[3],o=i[4];if(o[0]==="/"&&(o=o.substring(1)),t.length>0){if(t[0]==="/"&&(t=t.substring(1)),t!==o.substring(0,t.length))throw new Error(`Path does not start with prefix (path: ${o}, prefix: ${t})`);o=o.substring(t.length)}return{scheme:n,server:r,path:o,prefix:t}}function jA(e,t=""){let{path:i,scheme:n,server:r,prefix:o}=$A(e,t),s=(i||"").split("/").reverse(),[a,c,u,l,...d]=s,h=d.reverse().filter(Boolean).join("/");if(s.length===1||a==="")return{type:"base",scheme:n,server:r,prefix:o,identifier:h};if(a==="info.json"){let[,...f]=s;return{type:"info",scheme:n,server:r,prefix:o,identifier:f.reverse().filter(Boolean).join("/")}}let p=(a||"").split(".");if(typeof p[1]>"u"||typeof p[0]>"u"||typeof l>"u"||typeof u>"u"||typeof c>"u")throw new Error("Invalid image request");return{type:"image",scheme:n,server:r,prefix:o,identifier:h,originalPath:i,region:BA(l),size:VA(u),rotation:WA(c),quality:p[0],format:p[1]}}function HA(e){let t=jA(go(e.id));if(t.type!=="info")throw new Error("Invalid service URL");let i=zA(e);return{identifier:t.identifier,originalPath:"",server:t.server,prefix:t.prefix,scheme:t.scheme,type:"image",quality:i.extraQualities.indexOf("default")===-1?i.extraQualities[0]:"default",region:{full:!0},size:{max:!0,upscaled:!1,confined:!1},format:"jpg",rotation:{angle:0}}}function qA(e,t,i){let n=i.length,r=[];for(let o=0;o<n;o++){let s=i[o];if(s){let a=s.width;r.push(e/a)}}return r}function UA(e,t,i){let n=i.length,r=[];for(let o=0;o<n;o++){let s=i[o];s&&r.push({width:Math.floor(e/s),height:Math.floor(t/s)})}return r}function Rt(e){if(e["@id"])return e["@id"];if(e.id)return e.id}function sd(e){if(!e||!e.profile||!Rt(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let i of t)if(typeof i=="string"&&LA.indexOf(i)!==-1)return!0;return!1}function YA(e){if(!sd(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let i of t)if(typeof i=="string"){if(Jx.indexOf(i)!==-1)return!0}else{let n=[...i.supports||[],...i.extraFeatures||[]];if(n.indexOf("regionByPx")!==-1&&(n.indexOf("sizeByW")!==-1||n.indexOf("sizeByWh")!==-1))return!0}return!1}function od(e,t){if(t&&t.profile){let i=t.profile;if(i){let n=Array.isArray(i)?i:[i];return n.includes(`level${e}`)||n.includes(`http://iiif.io/api/image/2/level${e}.json`)||n.includes(`http://iiif.io/api/image/1/level${e}.json`)||n.includes(`http://iiif.io/api/image/1/profiles/level${e}.json`)}}return!1}function nm(e){return sd(e)?od(0,e)?0:od(1,e)?1:od(2,e)?2:null:null}function e0(e){return(e["@context"]?Array.isArray(e["@context"])?e["@context"]:[e["@context"]]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1}function GA(e){if(!YA(e))return[];let t=[],i=Array.isArray(e.profile)?e.profile:[e.profile],n=i.length;for(let r=0;r<n;r++){let o=i[r];if(o&&typeof o!="string"&&(o.maxHeight||o.maxWidth))return[{id:Rt(e),type:"variable",minWidth:0,minHeight:0,maxHeight:o.maxHeight||o.maxWidth,maxWidth:o.maxWidth||o.maxHeight,level:nm(e),version:e["@context"]==="http://iiif.io/api/image/3/context.json"?3:2}]}if(e.tiles){let r=e.tiles.length;for(let o=0;o<r;o++){let s=e.tiles[o];s&&(s.height||s.width)&&t.push({id:Rt(e),type:"variable",minHeight:0,minWidth:0,maxHeight:s.height||s.width,maxWidth:s.width,level:nm(e),version:e0(e)?3:2})}}return t}function Ax(e){let t=/^.*\/(full)\/(((\d+),(\d+)?)|max)\/(\d+)\/default\.(jpg|png|jpeg)$/,i=e.match(t);if(i&&i[4]&&i[5]){let n=i[1],r=parseInt(i[4],10),o=parseInt(i[5],10),s=i[7];if((n==="max"||n==="full")&&r&&o&&s)return{type:"fixed",id:e,height:o,width:r}}return{type:"unknown",id:e}}function KA(e){if(e["@type"])return e["@type"];if(e.type)return e.type}function XA(e){if(typeof e=="string")return Ax(e);let t=KA(e);if(t!=="Image"&&t!=="sc:Image")return null;let i=e,n=Rt(i);return n?n&&i.width&&i.height?{id:n,type:"fixed",width:i.width,height:i.height,unsafe:!0}:Ax(n):null}function ZA(e){return sd(e)?(e&&e.sizes?e.sizes:[]).map(t=>({id:Rt(e),type:"fixed-service",height:t.height,width:t.width,level:nm(e),version:e0(e)?3:2})):[]}function Ix(e){let t=[],i=e.length;for(let n=0;n<i;n++){let r=e[n];if(!r)continue;let o=ZA(r);o.length&&t.push(...o);let s=GA(r);s.length&&t.push(...s)}return t}function t0(e){let t=e.service?Array.isArray(e.service)?e.service:[e.service]:[],i=t.length,n=[];for(let r=0;r<i;r++)sd(t[r])&&n.push(t[r]);return n}function QA(e,t=!0,i){let n=[],r=XA(e);if(r===null)return n;let o=e;if(n.push(r),t&&o&&o.width&&o.height){let s=[],a=t0(o);for(let c of a){let u={id:Rt(c),width:o.width,height:o.height};if(i.canLoadSync(u)){let l=i.loadServiceSync(u);l&&(l.height||(l.height=o.height),l.width||(l.width=o.width),s.push(...Ix([l])))}}if(s.length)return n.push(...s),n}return o.service&&n.push(...Ix(o.service)),n}function JA({x:e=0,y:t=0,w:i,h:n,full:r,square:o,percent:s}){if(r)return"full";if(o)return"square";if(typeof i>"u"||typeof n>"u")throw new Error("RegionParameter: invalid region");let a=`${e},${t},${i},${n}`;return s?`pct:${a}`:a}function eI({max:e,percentScale:t,upscaled:i,confined:n,width:r,height:o,serialiseAsFull:s,version:a}){let c=[];return i&&c.push("^"),e?(c.push(s?"full":"max"),c.join("")):(n&&c.push("!"),t&&c.push(`pct:${t}`),r&&c.push(`${r}`),c.push(","),o&&a===3&&c.push(`${o}`),c.join(""))}function tI(e){return`${e.mirror?"!":""}${(e.angle||0)%360}`}function iI(e,t){let i=e.prefix.startsWith("/")?e.prefix.substr(1):e.prefix,n=`${e.scheme}://${e.server}/${i?`${i}/`:""}${e.identifier}`;if(e.type==="base")return n;if(e.type==="info")return`${n}/info.json`;let{size:r}=e,{region:o,rotation:s,format:a,quality:c}=e;if(t){let u=t["@context"]?Array.isArray(t["@context"])?t["@context"]:[t["@context"]]:[],l=t.profile,d=u.indexOf("http://iiif.io/api/image/2/context.json")!==-1||l==="level2",h=u.indexOf("http://iiif.io/api/image/3/context.json")!==-1;if((r.width===t.width&&!r.height||r.height===t.height&&!r.width||r.width===t.width&&r.height===t.height)&&(r={...r,max:!0}),d&&(r.max&&!r.serialiseAsFull&&(r={...r,serialiseAsFull:!0}),!r.max&&r.width&&r.height&&(r={...r,height:void 0}),r={...r,version:2}),h){if(r.max&&r.serialiseAsFull&&(r={...r,serialiseAsFull:!1}),r.width&&!r.height&&t.width&&t.height){let p=t.height/t.width;r={...r,height:Math.ceil(r.width*p)}}r={...r,version:3}}}return[n,JA(o),eI(r),tI(s),`${c}.${a}`].filter(Boolean).join("/")}function im(e,t,i){let n=HA({"@context":e.version===3?"http://iiif.io/api/image/3/context.json":"http://iiif.io/api/image/2/context.json",id:go(Rt(e)),profile:e.level===null||typeof e.level>"u"?"level0":`level${e.level}`,type:e.version===3?"ImageService3":"ImageService2"});if(n.type!=="image")throw new Error("Invalid service");return n.size.max=!1,n.size.width=t,n.size.height=i,{id:iI(n),type:"fixed",width:t,height:i||e.height/(e.width||1)*t,unsafe:e.width>t}}function ks(e){let t=e.replace(/(https?:\/\/)?(www.)?/i,"");return t.indexOf("/")!==-1?t.split("/")[0]:t}function nI(e,t,i){let n=e.width?e.width:e.maxWidth;return i.height<=e.maxHeight&&i.width<=e.maxWidth&&i.height>=e.minHeight&&i.width>=e.minWidth&&(!t||Math.abs(i.width-n)<Math.abs(t.width-n))}function rI(e,t){let i=[],n=Object.assign({unsafeImageService:!1,atAnyCost:!0,fallback:!0,minHeight:64,minWidth:64,maxHeight:1/0,maxWidth:1/0,returnAllOptions:!1,preferFixedSize:!1,allowUnsafe:!1,explain:!1,height:0,width:0},e),r=(l,d=0)=>n.explain?i.push(new Array(d).fill(0).map(h=>" ").join("")+l().trim()):void 0,o=[],s=[],a=null;r(()=>`Using configuration: ${JSON.stringify(n,null,2)}`);let c=(l,d)=>{if(r(()=>"Swapping choice",3),nI(n,d,l)){if(n.preferFixedSize&&l.unsafe){r(()=>`We found an image that was marked as unsafe, but it was the best size. (${l.id})`,4),s.push(l);return}n.returnAllOptions&&d&&s.push(d),r(()=>`We found a new image that was the best size. (${l.id})`,4),a=l}else n.returnAllOptions&&s.push(l)};r(()=>`The input shows we have ${t.length} list(s) of candidates to choose from.`);let u=t.length;for(let l=0;l<u;l++){let d=t[l]();r(()=>`Candidate group ${l}: ${JSON.stringify(d,null,2)}`,1);let h=d.length;r(()=>`Checking candidate list number ${l} and found ${h} potential ways of creating image(s)`,1);for(let p=0;p<h;p++){let f=d[p];if(r(()=>`-> Checking candidate ${p}`,1),f.type==="unknown"&&n.atAnyCost&&(r(()=>`We've found an unknown image type, adding this to the "last resort" list`,2),o.push(f)),f.type==="fixed"&&(f.unsafe?(r(()=>`We've found an unsafe fixed image type, adding this to the "last resort" list`,2),o.push(f)):(r(()=>"We've found a fixed size image, checking if it matches the request",2),c(f,a))),f.type==="fixed-service")if(n.unsafeImageService){r(()=>"Checking for an image from the tile source, without calculating the right height and width (unsafeImageService)",2);let m=im(f,n.width,n.height);c(m,a)}else{r(()=>"Checking for an image from the tile source 3",2);let m=im(f,f.width,f.height);c(m,a)}if(f.type==="variable"&&f.maxWidth){let m=im({id:f.id,type:"fixed-service",width:f.maxWidth,height:f.maxWidth,level:f.level,version:f.version},f.maxWidth);c(m,a)}}if(a&&!n.returnAllOptions){if(a.unsafe||n.allowUnsafe)continue;r(()=>`We found a match in choice list number ${l}, no searching any more`);break}}return n.atAnyCost&&s.length===0?(r(()=>a?`We found an image! ${a.id} of type ${a.type}`:'We found no images, but "atAnyCost" is set, so returning that'),{best:a||o[0]||null,fallback:o.slice(1),log:i}):n.returnAllOptions?(r(()=>"Returning all options that we have found"),{best:(n.atAnyCost?a||s[0]||o[0]:a||s[0])||null,fallback:[...s,...o],log:i}):(r(()=>"Returning the best image that we found, and a fallback"),{best:a||s[0]||null,fallback:a?s:s.slice(1),log:i})}function oI(e,t,i){let n=e>t?e:t,r=i.length,o=[];for(let s=0;s<r;s++){let a=i[s];if(!a||a.scaleFactors.length===0)continue;let c=a.scaleFactors[0];if(!c)continue;let u=n/c,l=[c];for(;u>=a.width;)c=c*2,l.push(c),u=u/2;o.push({...a,scaleFactors:l})}return o}function sI(e,t){if(e.length!==t.length)return!1;if(e.length===0&&t.length===0)return!0;let i=e.length,n=!0;for(let o=0;o<i;o++){let s=e[o],a=t[o];if(s.width!==a.width||s.height!==a.height){n=!1;break}}if(n)return!0;let r=0;for(let o=0;o<i;o++)for(let s=0;s<i;s++)if(e[o].width===t[s].width&&e[o].height===t[s].height){r++;break}return r===i}function Ex(e){return od(0,e)}var i0=class{constructor(e={}){rd(this,"config",{verificationsRequired:1,approximateServices:!1,enableFetching:!0,disableThrottling:!1}),rd(this,"fetchingCount",0),rd(this,"imageServices",{}),rd(this,"knownImageServers",{}),this.config=Object.assign(this.config,e)}setConfig(e){Object.assign(this.config,e)}sample(e,t,i=!0){let n=ks(Rt(e)),r=go(Rt(e)),o=this.knownImageServers[n];return this.imageServices[r]=Object.assign(e,{real:!0}),!o&&e.tiles&&!Ex(e)?(this.knownImageServers[n]={verifications:0,malformed:!1,root:n,preLoaded:i,sampledId:Rt(e),verified:!1,server:null,result:{context:e["@context"]||[],sampledProfile:e.profile,resourceServiceRatio:t&&e.height?t.height/e.height:1,sampledSizes:e.sizes||[],sizeRatios:qA(e.width,e.height,e.sizes||[]),sampledTiles:e.tiles||[]}},!0):this.verify(e)}preLoad(e,t=!0){this.knownImageServers[e.root]=e,t&&(this.knownImageServers[e.root].malformed=!1,this.knownImageServers[e.root].verifications=this.config.verificationsRequired)}predict(e,t=!1,i=!1){let n=e?.source,r=ks(Rt(e)),o=this.knownImageServers[r],s=go(Rt(e));return this.imageServices[s]?this.imageServices[s]||null:!this.config.approximateServices||!o||!o.result||!(n?.height||e.height)||!(n?.width||e.width)||!i&&(o.malformed||o.verifications<this.config.verificationsRequired)||Ex(e.source)?null:(this.imageServices[s]||(this.imageServices[s]={"@context":o.result.context,"@id":Rt(e),id:Rt(e),protocol:"http://iiif.io/api/image",tiles:n?.tiles||oI(e.width,e.height,o.result.sampledTiles),sizes:n?.sizes||UA(Math.round(e.width/o.result.resourceServiceRatio),Math.round(e.height/o.result.resourceServiceRatio),o.result.sizeRatios),profile:n?.profile||o.result.sampledProfile,height:n?.height||e.height,width:n?.width||e.width,real:!1}),this.imageServices[s]||null)}async getThumbnailFromResource(e,t,i=!0,n=[]){let r=e?await this.getImageCandidates(e,i):[];return rI(t,[()=>n,()=>r])}async getImageCandidates(e,t=!0){let i=e;if(t&&i&&i.height&&i.width){let n=t0(i);for(let r of n){let o={id:Rt(r),width:r.width?r.width:i.width,height:r.height?r.height:i.height,source:r};await this.loadService(o)}}return QA(e,t,this)}async verify(e){let t=this.predict(e,!1,!0),i=await this.fetchService(Rt(e));if(!t)return!1;let n=t.height===i.height&&t.width===i.width&&t["@context"]===i["@context"]&&sI(t.sizes||[],i.sizes||[]);if(n){let r=ks(Rt(e)),o=this.knownImageServers[r];o&&(o.verifications+=1,o.verifications>=this.config.verificationsRequired&&(o.verified=!0))}return n}canLoadSync(e){let t=typeof e=="string"?e:Rt(e),i=go(t);if(this.imageServices[i])return!0;let n=this.knownImageServers[ks(t)];return!!(n&&!n.malformed&&n.verifications>=this.config.verificationsRequired)}async markAsMalformed(e){return this.knownImageServers[ks(Rt(e))].malformed=!0,this.loadService(e,!0)}async fetchService(e,t=!1){let i=go(e),n=this.imageServices[i];if(n&&(!t||n.real))return n;if(!this.config.enableFetching)throw new Error("Fetching is not enabled");let r=await this.fetch(i).then(o=>o.json());return!r.id&&r["@id"]&&(r.id=r["@id"]),r.id!==e&&(r.id=e,r["@id"]&&(r["@id"]=e)),this.imageServices[i]=Object.assign(r,{real:!0}),this.imageServices[i]}async fetch(e,t){return fetch(e,t)}async loadService(e,t=!1){if(!this.config.disableThrottling){let r=!0;for(;r;)if(this.fetchingCount>=this.config.verificationsRequired)await new Promise(o=>setTimeout(o,500));else{r=!1;break}}let i=this.knownImageServers[ks(Rt(e))];if(i&&!i.malformed&&!t){await i.result;let r=this.loadServiceSync(e);if(r)return r}this.fetchingCount++;let n=await this.fetchService(Rt(e),t);return this.fetchingCount--,n.real&&this.sample(n,e),n}loadServiceSync(e){let t=go(Rt(e));return this.imageServices[t]?this.imageServices[t]:this.config.approximateServices?this.predict(e):null}},HF=new i0;function aI(e){try{if(e==="full")return{full:!0};if(e==="square")return{square:!0};let t=e.startsWith("pct:"),i=e.substr(t?4:0).split(",").map(n=>parseFloat(n));return{x:i[0],y:i[1],w:i[2],h:i[3],percent:t}}catch{throw Error("Expected 'full', 'square' or 'x,y,w,h'. Found "+e)}}function lI(e){let t={upscaled:!1,max:!1,confined:!1};if(e[0]==="^"&&(t.upscaled=!0,e=e.slice(1)),e==="max"||e==="full")return t.max=!0,t.serialiseAsFull=e==="full",t;if(e[0]==="!"&&(t.confined=!0,e=e.slice(1)),e[0]==="p")return t.percentScale=parseFloat(e.slice(4)),t;let i=e.split(",").map(n=>n.trim());return i.length&&(i[0]!==""&&(t.width=parseInt(i[0],10)),i[1]!==""&&(t.height=parseInt(i[1],10))),t}function cI(e){let t={angle:0};if(e[0]==="!"&&(t.mirror=!0,e=e.substr(1)),t.angle=parseFloat(e)%360,Number.isNaN(t.angle))throw Error(`Invalid rotation ${e}`);return t}function uI(e,t=""){let i=e.match(/^(([a-zA-Z]+):\/\/([^/]+))?((.*)+)/);if(!i)throw Error(`Invalid or unknown input ${e}`);let n=i[2],r=i[3],o=i[4];if(o[0]==="/"&&(o=o.substring(1)),t.length>0){if(t[0]==="/"&&(t=t.substring(1)),t!==o.substring(0,t.length))throw Error(`Path does not start with prefix (path: ${o}, prefix: ${t})`);o=o.substring(t.length)}return{scheme:n,server:r,path:o,prefix:t}}function rm(e,t=""){let{path:i,scheme:n,server:r,prefix:o}=uI(e,t),s=i.split("/").reverse(),[a,c,u,l,...d]=s,h=d.reverse().filter(Boolean).join("/");if(s.length===1||a==="")return{type:"base",scheme:n,server:r,prefix:o,identifier:h};if(a==="info.json"){let[,...m]=s;return{type:"info",scheme:n,server:r,prefix:o,identifier:m.reverse().filter(Boolean).join("/")}}if(n===void 0||r===void 0||i===void 0||l===void 0||u===void 0||c===void 0||a===void 0)throw Error("Invalid image service URL");let[p="",f=""]=a.split(".");return{type:"image",scheme:n,server:r,prefix:o,identifier:h,originalPath:i,region:aI(l),size:lI(u),rotation:cI(c),quality:p,format:f}}function dI(e){return rs.indexOf(e)===-1?Bc.indexOf(e)===-1?By:Vy:Wy}function hI(e){let t=e?Array.isArray(e.profile)?e.profile:[e.profile]:[],i={extraQualities:[],extraFormats:[],extraFeatures:[]};for(let n of t)if(typeof n=="string"&&(n=dI(n)),n){if(n.formats)for(let r of n.formats)i.extraFormats.indexOf(r)===-1&&i.extraFormats.push(r);if(n.qualities)for(let r of n.qualities)i.extraQualities.indexOf(r)===-1&&i.extraQualities.push(r);if(n.supports)for(let r of n.supports)i.extraFeatures.indexOf(r)===-1&&i.extraFeatures.push(r);if(n.maxHeight&&(i.maxHeight=n.maxHeight),n.maxWidth&&(i.maxWidth=n.maxWidth),n.maxArea&&(i.maxArea=n.maxArea),n.extraFormats)for(let r of n.extraFormats)i.extraFormats.indexOf(r)===-1&&i.extraFormats.push(r);if(n.extraQualities)for(let r of n.extraQualities)i.extraQualities.indexOf(r)===-1&&i.extraQualities.push(r);if(n.extraFeatures)for(let r of n.extraFeatures)i.extraFeatures.indexOf(r)===-1&&i.extraFeatures.push(r);n.maxHeight&&(i.maxHeight=n.maxHeight),n.maxWidth&&(i.maxWidth=n.maxWidth),n.maxArea&&(i.maxArea=n.maxArea)}if(e.extraFormats)for(let n of e.extraFormats)i.extraFormats.indexOf(n)===-1&&i.extraFormats.push(n);if(e.extraFeatures)for(let n of e.extraFeatures)i.extraFeatures.indexOf(n)===-1&&i.extraFeatures.push(n);if(e.extraQualities)for(let n of e.extraQualities)i.extraQualities.indexOf(n)===-1&&i.extraQualities.push(n);return i}function om(e){let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let i of t)if(typeof i=="string"&&Tf.indexOf(i)!==-1)return!0;return!1}function tt(e){if(e["@id"])return e["@id"];if(e.id)return e.id}function yo(e){if(!e||!e.profile||!tt(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let i of t)if(typeof i=="string"&&Rf.indexOf(i)!==-1)return!0;return!1}function n0(e){if(!yo(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let i of t)if(typeof i=="string"){if(Bc.indexOf(i)!==-1)return!0}else{let n=[...i.supports||[],...i.extraFeatures||[]];if(n.indexOf("regionByPx")!==-1&&(n.indexOf("sizeByW")!==-1||n.indexOf("sizeByWh")!==-1))return!0}return!1}function fI({x:e=0,y:t=0,w:i,h:n,full:r,square:o,percent:s}){if(r)return"full";if(o)return"square";if(i===void 0||n===void 0)throw Error("RegionParameter: invalid region");let a=`${e},${t},${i},${n}`;return s?`pct:${a}`:a}function pI({max:e,percentScale:t,upscaled:i,confined:n,width:r,height:o,serialiseAsFull:s,version:a}){let c=[];return i&&c.push("^"),e?(c.push(s?"full":"max"),c.join("")):(n&&c.push("!"),t&&c.push(`pct:${t}`),r&&c.push(`${r}`),c.push(","),o&&a===3&&c.push(`${o}`),c.join(""))}function mI(e){return`${e.mirror?"!":""}${(e.angle||0)%360}`}function Ls(e,t){let i=e.prefix.startsWith("/")?e.prefix.substring(1):e.prefix,n=`${e.scheme}://${e.server}/${i?`${i}/`:""}${e.identifier}`;if(e.type==="base")return n;if(e.type==="info")return`${n}/info.json`;let{size:r}=e,{region:o,rotation:s,format:a,quality:c}=e;if(t){let u=t["@context"]?Array.isArray(t["@context"])?t["@context"]:[t["@context"]]:[],l=u.indexOf("http://iiif.io/api/image/2/context.json")!==-1,d=u.indexOf("http://iiif.io/api/image/3/context.json")!==-1;if((r.width===t.width&&!r.height||r.height===t.height&&!r.width||r.width===t.width&&r.height===t.height)&&(r={...r,max:!0}),l&&(r.max&&!r.serialiseAsFull&&(r={...r,serialiseAsFull:!0}),!r.max&&r.width&&r.height&&(r={...r,height:void 0}),r={...r,version:2}),d){if(r.max&&r.serialiseAsFull&&(r={...r,serialiseAsFull:!1}),r.width&&!r.height&&t.width&&t.height){let h=t.height/t.width;r={...r,height:Math.ceil(r.width*h)}}r={...r,version:3}}}return[n,fI(o),pI(r),mI(s),`${c}.${a}`].filter(Boolean).join("/")}function Er(e){return e.endsWith("info.json")?e:e.endsWith("/")?`${e}info.json`:`${e}/info.json`}function ad(e){let t=rm(Er(e.id));if(t.type!=="info")throw Error("Invalid service URL");let i=hI(e);return{identifier:t.identifier,originalPath:"",server:t.server,prefix:t.prefix,scheme:t.scheme,type:"image",quality:i.extraQualities.indexOf("default")===-1?i.extraQualities[0]:"default",region:{full:!0},size:{max:!0,upscaled:!1,confined:!1},format:"jpg",rotation:{angle:0}}}function r0(e,t,i){let n=i.length,r=[];for(let o=0;o<n;o++){let s=i[o];if(!s)continue;let a=s.width;r.push(e/a)}return r}function o0(e,t,i){let n=i.length,r=[];for(let o=0;o<n;o++){let s=i[o];s&&r.push({width:Math.floor(e/s),height:Math.floor(t/s)})}return r}function Os(e,t){if(t&&t.profile){let i=t.profile;if(i){let n=Array.isArray(i)?i:[i];if(n.includes(`level${e}`)||n.includes(`http://iiif.io/api/image/2/level${e}.json`)||n.includes(`http://iiif.io/api/image/1/level${e}.json`)||n.includes(`http://iiif.io/api/image/1/profiles/level${e}.json`))return!0;if(e===2){for(let r of n)if(rs.includes(r))return!0}if(e===1){for(let r of n)if(Bc.includes(r))return!0}if(e===0){for(let r of n)if(Tf.includes(r))return!0}}}return!1}function ld(e){return yo(e)?Os(2,e)?2:Os(1,e)?1:Os(0,e)?0:null:null}function ml(e){let t=e.service?Array.isArray(e.service)?e.service:[e.service]:[],i=t.length,n=[];for(let r=0;r<i;r++)yo(t[r])&&n.push(t[r]);return n}function s0(e){if(e["@type"])return e["@type"];if(e.type)return e.type}function sm(e){let t=e.match(/^.*\/(full)\/(((\d+),(\d+)?)|max)\/(\d+)\/default\.(jpg|png|jpeg)$/);if(t&&t[4]&&t[5]){let i=t[1],n=parseInt(t[4],10),r=parseInt(t[5],10),o=t[7];if((i==="max"||i==="full")&&n&&r&&o)return{type:"fixed",id:e,height:r,width:n}}return{type:"unknown",id:e}}function gl(e){if(typeof e=="string")return sm(e);let t=s0(e);if(t!=="Image"&&t!=="sc:Image")return null;let i=e,n=tt(i);return n?n&&i.width&&i.height?{id:n,type:"fixed",width:Number(i.width),height:Number(i.height),unsafe:!0}:sm(n):null}function lm(e){return(e["@context"]?Array.isArray(e["@context"])?e["@context"]:[e["@context"]]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1}function a0(e){if(!n0(e))return[];let t=[],i=Array.isArray(e.profile)?e.profile:[e.profile],n=i.length;for(let r=0;r<n;r++){let o=i[r];if(o&&typeof o!="string"&&(o.maxHeight||o.maxWidth))return[{id:tt(e),type:"variable",minWidth:0,minHeight:0,maxHeight:o.maxHeight||o.maxWidth,maxWidth:o.maxWidth||o.maxHeight,level:ld(e),version:e["@context"]==="http://iiif.io/api/image/3/context.json"?3:2}]}if(e.tiles){let r=e.tiles.length;for(let o=0;o<r;o++){let s=e.tiles[o];s&&(s.height||s.width)&&t.push({id:tt(e),type:"variable",minHeight:0,minWidth:0,maxHeight:s.height||s.width,maxWidth:s.width,level:ld(e),version:lm(e)?3:2})}}return t}function l0(e){return yo(e)?(e&&e.sizes?e.sizes:[]).map(t=>({id:tt(e),type:"fixed-service",height:t.height,width:t.width,level:ld(e),version:lm(e)?3:2})):[]}function am(e){let t=[],i=e.length;for(let n=0;n<i;n++){let r=e[n];if(!r)continue;let o=l0(r);o.length&&t.push(...o);let s=a0(r);s.length&&t.push(...s)}return t}function c0(e,t=!0,i){let n=[],r=gl(e);if(r===null)return n;let o=e;if(n.push(r),t&&o&&o.width&&o.height){let s=[],a=ml(o);for(let c of a){let u={id:tt(c),width:Number(o.width),height:Number(o.height)};if(i.canLoadSync(u)){let l=i.loadServiceSync(u);l&&(l.height||(l.height=Number(o.height)),l.width||(l.width=Number(o.width)),s.push(...am([l])))}}if(s.length)return n.push(...s),n}return o.service&&n.push(...am(o.service)),n}function vo(e){let t=e.replace(/(https?:\/\/)?(www.)?/i,"");return t.indexOf("/")===-1?t:t.split("/")[0]}function u0(e,t){if(e.length!==t.length)return!1;if(e.length===0&&t.length===0)return!0;let i=e.length,n=!0;for(let o=0;o<i;o++){let s=e[o],a=t[o];if(s.width!==a.width||s.height!==a.height){n=!1;break}}if(n)return!0;let r=0;for(let o=0;o<i;o++)for(let s=0;s<i;s++)if(e[o].width===t[s].width&&e[o].height===t[s].height){r++;break}return r===i}function cd(e,t,i){let n=ad({"@context":e.version===3?"http://iiif.io/api/image/3/context.json":"http://iiif.io/api/image/2/context.json",id:Er(tt(e)),profile:e.level===null||e.level===void 0?"level0":`level${e.level}`,type:e.version===3?"ImageService3":"ImageService2"});if(n.type!=="image")throw Error("Invalid service");return n.size.max=!1,n.size.width=t,n.size.height=i,{id:Ls(n),type:"fixed",width:t,height:i||e.height/(e.width||1)*t,unsafe:e.width>t}}function d0(e,t,i){let n=e.width?e.width:e.maxWidth;return i.height<=e.maxHeight&&i.width<=e.maxWidth&&i.height>=e.minHeight&&i.width>=e.minWidth&&(!t||Math.abs(i.width-n)<Math.abs(t.width-n))}function h0(e,t){let i=[],n=Object.assign({unsafeImageService:!1,atAnyCost:!0,fallback:!0,minHeight:64,minWidth:64,maxHeight:1/0,maxWidth:1/0,returnAllOptions:!1,preferFixedSize:!1,allowUnsafe:!1,explain:!1,height:0,width:0},e),r=(l,d=0)=>n.explain?i.push(Array(d).fill(0).map(h=>" ").join("")+l().trim()):void 0,o=[],s=[],a=null;r(()=>`Using configuration: ${JSON.stringify(n,null,2)}`);let c=(l,d)=>{if(r(()=>"Swapping choice",3),d0(n,d,l)){if(n.preferFixedSize&&l.unsafe){r(()=>`We found an image that was marked as unsafe, but it was the best size. (${l.id})`,4),s.push(l);return}n.returnAllOptions&&d&&s.push(d),r(()=>`We found a new image that was the best size. (${l.id})`,4),a=l}else n.returnAllOptions&&s.push(l)};r(()=>`The input shows we have ${t.length} list(s) of candidates to choose from.`);let u=t.length;for(let l=0;l<u;l++){let d=t[l]();r(()=>`Candidate group ${l}: ${JSON.stringify(d,null,2)}`,1);let h=d.length;r(()=>`Checking candidate list number ${l} and found ${h} potential ways of creating image(s)`,1);for(let p=0;p<h;p++){let f=d[p];r(()=>`-> Checking candidate ${p}`,1),f.type==="unknown"&&n.atAnyCost&&(r(()=>`We've found an unknown image type, adding this to the "last resort" list`,2),o.push(f)),f.type==="fixed"&&(f.unsafe?(r(()=>`We've found an unsafe fixed image type, adding this to the "last resort" list`,2),o.push(f)):(r(()=>"We've found a fixed size image, checking if it matches the request",2),c(f,a))),f.type==="fixed-service"&&(n.unsafeImageService?(r(()=>"Checking for an image from the tile source, without calculating the right height and width (unsafeImageService)",2),c(cd(f,n.width,n.height),a)):(r(()=>"Checking for an image from the tile source 3",2),c(cd(f,f.width,f.height),a))),f.type==="variable"&&f.maxWidth&&c(cd({id:f.id,type:"fixed-service",width:f.maxWidth,height:f.maxWidth,level:f.level,version:f.version},f.maxWidth),a)}if(a&&!n.returnAllOptions){if(a.unsafe||n.allowUnsafe)continue;r(()=>`We found a match in choice list number ${l}, no searching any more`);break}}return n.atAnyCost&&s.length===0?(r(()=>a?`We found an image! ${a.id} of type ${a.type}`:'We found no images, but "atAnyCost" is set, so returning that'),{best:a||o[0]||null,fallback:o.slice(1),log:i}):n.returnAllOptions?(r(()=>"Returning all options that we have found"),{best:(n.atAnyCost?a||s[0]||o[0]:a||s[0])||null,fallback:[...s,...o],log:i}):(r(()=>"Returning the best image that we found, and a fallback"),{best:a||s[0]||null,fallback:a?s:s.slice(1),log:i})}function f0(e,t,i){let n=e>t?e:t,r=i.length,o=[];for(let s=0;s<r;s++){let a=i[s];if(!a||a.scaleFactors.length===0)continue;let c=a.scaleFactors[0];if(!c)continue;let u=n/c,l=[c];for(;u>=a.width;)c*=2,l.push(c),u/=2;o.push({...a,scaleFactors:l})}return o}var _s=class{constructor(e={}){xt(this,"config",{verificationsRequired:1,approximateServices:!1,enableFetching:!0,disableThrottling:!1}),xt(this,"fetchingCount",0),xt(this,"imageServices",{}),xt(this,"knownImageServers",{}),this.config=Object.assign(this.config,e)}setConfig(e){Object.assign(this.config,e)}sample(e,t,i=!0){let n=vo(tt(e)),r=Er(tt(e)),o=this.knownImageServers[n];return this.imageServices[r]=Object.assign(e,{real:!0}),!o&&e.tiles&&!om(e)?(this.knownImageServers[n]={verifications:0,malformed:!1,root:n,preLoaded:i,sampledId:tt(e),verified:!1,server:null,result:{context:e["@context"]||[],sampledProfile:e.profile,resourceServiceRatio:t&&e.height?t.height/e.height:1,sampledSizes:e.sizes||[],sizeRatios:r0(e.width,e.height,e.sizes||[]),sampledTiles:e.tiles||[]}},!0):this.verify(e)}preLoad(e,t=!0){this.knownImageServers[e.root]=e,t&&(this.knownImageServers[e.root].malformed=!1,this.knownImageServers[e.root].verifications=this.config.verificationsRequired)}predict(e,t=!1,i=!1){let n=e?.source,r=vo(tt(e)),o=this.knownImageServers[r],s=Er(tt(e));return this.imageServices[s]?this.imageServices[s]||null:!this.config.approximateServices||!o||!o.result||!(n?.height||e.height)||!(n?.width||e.width)||!i&&(o.malformed||o.verifications<this.config.verificationsRequired)||e.source&&om(e.source)?null:(this.imageServices[s]||(this.imageServices[s]={"@context":o.result.context,"@id":tt(e),id:tt(e),protocol:"http://iiif.io/api/image",tiles:n?.tiles||f0(e.width,e.height,o.result.sampledTiles),sizes:n?.sizes||o0(Math.round(e.width/o.result.resourceServiceRatio),Math.round(e.height/o.result.resourceServiceRatio),o.result.sizeRatios),profile:n?.profile||o.result.sampledProfile,height:n?.height||e.height,width:n?.width||e.width,real:!1}),this.imageServices[s]||null)}async getThumbnailFromResource(e,t,i=!0,n=[]){let r=e?await this.getImageCandidates(e,i):[];return h0(t,[()=>n,()=>r])}async getImageCandidates(e,t=!0){let i=e;if(t&&i&&i.height&&i.width){let n=ml(i);for(let r of n){let o={id:tt(r),width:Number(r.width?r.width:i.width),height:Number(r.height?r.height:i.height),source:r};await this.loadService(o)}}return c0(e,t,this)}async verify(e){let t=this.predict(e,!1,!0),i=await this.fetchService(tt(e));if(!t)return!1;let n=t.height===i.height&&t.width===i.width&&t["@context"]===i["@context"]&&u0(t.sizes||[],i.sizes||[]);if(n){let r=vo(tt(e)),o=this.knownImageServers[r];o&&(o.verifications+=1,o.verifications>=this.config.verificationsRequired&&(o.verified=!0))}return n}canLoadSync(e){let t=typeof e=="string"?e:tt(e),i=Er(t);if(this.imageServices[i])return!0;let n=this.knownImageServers[vo(t)];return!!(n&&!n.malformed&&n.verifications>=this.config.verificationsRequired)}async markAsMalformed(e){return this.knownImageServers[vo(tt(e))].malformed=!0,this.loadService(e,!0)}async fetchService(e,t=!1){let i=Er(e),n=this.imageServices[i];if(n&&(!t||n.real))return n;if(!this.config.enableFetching)throw Error("Fetching is not enabled");let r=await this.fetch(i).then(o=>o.json());return!r.id&&r["@id"]&&(r.id=r["@id"]),r.id!==e&&(r.id=e,r["@id"]&&(r["@id"]=e)),this.imageServices[i]=Object.assign(r,{real:!0}),this.imageServices[i]}async fetch(e,t){return fetch(e,t)}async loadService(e,t=!1){if(!this.config.disableThrottling){let r=!0;for(;r;)if(this.fetchingCount>=this.config.verificationsRequired)await new Promise(o=>setTimeout(o,500));else{r=!1;break}}let i=this.knownImageServers[vo(tt(e))];if(i&&!i.malformed&&!t){await i.result;let r=this.loadServiceSync(e);if(r)return r}this.fetchingCount++;let n=await this.fetchService(tt(e),t);return this.fetchingCount--,n.real&&this.sample(n,e),n}loadServiceSync(e){let t=Er(tt(e));return this.imageServices[t]?this.imageServices[t]:this.config.approximateServices?this.predict(e):null}};function p0(e={}){let t=e.events||Ai(),i=e.loader||new _s;return{store:_c((n,r)=>({loaded:{},loadServiceSync:(o,s,a)=>{let c=o.id||o["@id"],u=r().loaded[c];if(u&&u.status==="done")return u.service;if(u&&u.status==="loading")return null;if(u&&u.status==="error")throw Error("Failed to load image service");let l={id:tt(o),width:o.width||s?.width||0,height:o.height||s?.height||0,source:o},d=i.loadServiceSync(l);return d?(n(h=>({loaded:{...h.loaded,[c]:{status:"done",service:d,real:!0}}})),t.emit("image-service.loaded",{id:c,service:d})):a&&r().loadService(o,s).then(()=>{}),d},loadService:async(o,s)=>{let a=o.id||o["@id"],c=r().loaded[a];if(c&&c.status==="done")return c.service;if(c&&c.status==="loading")return new Promise((u,l)=>{let d=h=>{h.id===a&&(t.off("image-service.loaded",d),u(h.service||o))};t.on("image-service.loaded",d)});if(c&&c.status==="error"&&!s?.force)throw Error("Failed to load image service");t.emit("image-service.loading",{id:a});try{let u={id:tt(o),width:o.width||0,height:o.height||0,source:o},l=await i.loadService(u,s?.force);return n(d=>({loaded:{...d.loaded,[a]:{status:"done",service:l,real:l.real}}})),t.emit("image-service.loaded",{id:a,service:l}),l}catch(u){throw t.emit("image-service.error",{id:a,error:u}),u}}})),events:t}}var cm=p0();var m0=new _s;function um(e=Bi,t={}){let i=t.imageServiceLoader||m0;async function n(r,o,s=!1,a=[],c){let u=()=>i.getThumbnailFromResource(void 0,o,s,a);if(!r)return await i.getThumbnailFromResource(void 0,o,s,a);if(typeof r=="string"){let d=gl(r);return d&&a.push(d),await i.getThumbnailFromResource(void 0,o,s,a)}let l=e.get(r,{skipSelfReturn:!1});if(typeof l=="string")return{best:gl(l),fallback:[],log:[]};if(!l)return await u();switch(await(async d=>{if(d&&d.thumbnail&&d.thumbnail.length){let h=e.get(d.thumbnail[0]),p=await i.getImageCandidates(h,s);p&&p.length&&a.push(...p)}})(l),l.type){case"Annotation":{let h=qo(e.get(l.body),m=>e.get(m,{preserveSpecificResources:!0})??m).filter(({aggregatePath:m,aggregateDefaults:g})=>m.every(({type:y,index:x},w)=>y!=="Choice"||x===(g[w]??0)));if(!h[0])return await u();let p=e.get(h[0].value,{skipSelfReturn:!1}),f=c&&!p.width?{...p,width:c.width,height:c.height}:p;return await i.getThumbnailFromResource(f,o,s,a)}case"Canvas":{let h=l;return n(h.items[0],o,s,a,{width:h.width,height:h.height})}case"AnnotationPage":return n(l.items[0],o,s,a,c);case"Choice":{let h=l;return!h.items||!h.items[0]?await u():n(h.items[0],o,s,a,c)}case"Collection":{let h=l.items[0];return h?n(h,o,s,a,c):await u()}case"Manifest":{let h=l.items[0];return h?n(h,o,s,a,c):await u()}case"SpecificResource":case"Image":case"Dataset":case"Sound":case"Text":case"TextualBody":case"Video":let d=c&&!l.width?{...l,width:c.width,height:c.height}:l;return i.getThumbnailFromResource(d,o,s,a)}return await u()}return{getBestThumbnailAtSize:n}}var md=P(Z(),1),Ae=P(Z(),1),S0=P(D(),1),yl=P(y0(),1),R0=class{constructor(e){b(this,"canvas",void 0),b(this,"context",void 0),b(this,"heightRatio",1),b(this,"widthRatio",1),b(this,"target",new Float32Array(5)),b(this,"initialWidth",void 0),b(this,"initialHeight",void 0),b(this,"bounds",void 0),b(this,"aggregate",void 0),b(this,"delta",0),b(this,"renderNextFrame",!0),this.canvas=e,this.initialWidth=e.width,this.initialHeight=e.height,this.context=e.getContext("2d"),this.context.globalAlpha=.5,this.aggregate=rn(1)}isReady(){return!0}resize(){this.initialWidth=this.canvas.width,this.initialHeight=this.canvas.height,this.renderNextFrame=!0}afterFrame(e,t,i){if(this.renderNextFrame){this.context.clearRect(0,0,this.canvas.width,this.canvas.height);let n=this.initialWidth/e.width,r=this.initialHeight/e.height,o=this.widthRatio>this.heightRatio?n:r;if(this.target=i,this.bounds){let s=e.getPointsAt(this.bounds,this.aggregate,o);for(let[a,c]of s)if(a instanceof St&&a.__host.canvas){let u=c.length/5;for(let l=0;l<u;l++)a.__host.canvas.canvases[l]&&(c[l+1]*o,c[l+2]*o,(c[l+3]-c[l+1])*o,(c[l+4]-c[l+2])*o)}}e.getPoints().forEach((s,a,c)=>{if(a%5==0&&s){let u={x1:c[a+1]*o,y1:c[a+2]*o,x2:c[a+3]*o,y2:c[a+4]*o,width:(c[a+3]-c[a+1])*o,height:(c[a+4]-c[a+2])*o};this.context.strokeStyle="red",this.context.strokeRect(u.x1,u.y1,u.width,u.height)}}),i&&(this.context.strokeStyle="red",this.context.lineWidth=window.devicePixelRatio||1,this.context.strokeRect(i[1]*o,i[2]*o,(i[3]-i[1])*o,(i[4]-i[2])*o))}}getActiveZone(e){return null}getPointsAt(e,t,i,n){return e.getPointsAt(t,i,n)}getScale(e,t){return 1}beforeFrame(e,t){this.bounds=ke.singleBox(e.width,e.height)}drawImage(){}afterPaintLayer(e,t){}paint(e,t,i,n,r,o){this.renderNextFrame=!0}prepareLayer(e){}pendingUpdate(){return!1}hasActiveZone(){return!1}getViewportBounds(e,t,i){return null}getRendererScreenPosition(){return this.canvas.getBoundingClientRect()}finishLayer(){}reset(){}};var yI={background:"rgba(15, 23, 42, 0.7)",objectFill:"rgba(56, 189, 248, 0.22)",objectStroke:"rgba(56, 189, 248, 0.62)",viewportFill:"rgba(251, 191, 36, 0.22)",viewportStroke:"rgba(250, 204, 21, 1)",viewportLineWidth:2};function dm(e){if(!(typeof e!="number"||!Number.isFinite(e)))return Math.floor(e)}function vI(e,t){if(!e||t<=1)return null;let i=dm(e.total),n=dm(e.before),r=dm(e.after),o=i===void 0?n!==void 0||r!==void 0?Math.max(1,Math.max(0,n||0)+Math.max(0,r||0)+1):9:Math.max(1,i),s=n===void 0?void 0:Math.max(0,n),a=r===void 0?void 0:Math.max(0,r);s===void 0&&a===void 0?(s=Math.floor((o-1)/2),a=o-s-1):s===void 0?s=Math.max(0,o-(a||0)-1):a===void 0&&(a=Math.max(0,o-s-1));let c=s+a+1;return c!==o&&(o=c),o=Math.max(1,Math.min(t,o)),s=Math.min(s,o-1),a=o-s-1,{total:o,before:s,after:a}}function bI(e){let t=[];for(let i=0;i<e.zones.length;i++){let n=e.zones[i];n.recalculateBounds(),n.points[0]!==0&&t.push({zone:n,minX:n.points[1],minY:n.points[2],maxX:n.points[3],maxY:n.points[4]})}return t.sort((i,n)=>i.minY===n.minY?i.minX===n.minX?(i.zone?.id||"").localeCompare(n.zone?.id||""):i.minX-n.minX:i.minY-n.minY),t}function C0(e,t){let i=vI(t.zoneWindow,e.zones.length);if(!i)return null;let n=bI(e);if(n.length<=i.total)return n;let r=wI(n,t.target)-i.before,o=r+i.total-1;return r<0&&(r=0,o=i.total-1),o>=n.length&&(o=n.length-1,r=Math.max(0,o-i.total+1)),n.slice(r,o+1)}function xI(e){if(!e)return null;if(Array.isArray(e)||ArrayBuffer.isView(e)){let t=e;return t[0]===0?null:{x:(t[1]+t[3])/2,y:(t[2]+t[4])/2}}return{x:e.x+e.width/2,y:e.y+e.height/2}}function wI(e,t){if(e.length===0)return 0;let i=xI(t);if(!i)return 0;for(let o=0;o<e.length;o++){let s=e[o];if(i.x>=s.minX&&i.x<=s.maxX&&i.y>=s.minY&&i.y<=s.maxY)return o}let n=0,r=1/0;for(let o=0;o<e.length;o++){let s=e[o],a=(s.minY+s.maxY)/2,c=Math.abs(i.y-a);c<r&&(r=c,n=o)}return n}function SI(e){if(e.length===0)return null;let t=e[0].minX,i=e[0].minY,n=e[0].maxX,r=e[0].maxY;for(let o=1;o<e.length;o++){let s=e[o];t=Math.min(t,s.minX),i=Math.min(i,s.minY),n=Math.max(n,s.maxX),r=Math.max(r,s.maxY)}return{x:t,y:i,width:Math.max(1,n-t),height:Math.max(1,r-i)}}function dd(e,t,i,n,r=0,o=0){let s=Math.max(1,e),a=Math.max(1,t),c=Math.min(i/s,n/a),u=s*c,l=a*c;return{scale:c,offsetX:(i-u)/2,offsetY:(n-l)/2,worldX:r,worldY:o,worldWidth:s,worldHeight:a}}function mm(e,t={}){let i=e.getActiveZone();if(i&&(i.recalculateBounds(),i.points[0]!==0))return{x:i.points[1],y:i.points[2],width:Math.max(1,i.points[3]-i.points[1]),height:Math.max(1,i.points[4]-i.points[2])};let n=C0(e,t);if(n&&n.length>0){let r=SI(n);if(r)return r}return{x:0,y:0,width:Math.max(1,e.width),height:Math.max(1,e.height)}}function T0(e,t={}){let i=e.getActiveZone();if(i)return i.recalculateBounds(),i.points[0]===0?new Set:new Set([i.id]);let n=C0(e,t);if(!n)return null;let r=new Set;for(let o of n)r.add(o.zone.id);return r}function P0(e,t,i){if(!e.scale||!Number.isFinite(e.scale))return{x:e.worldX,y:e.worldY};let n=e.worldX+(t-e.offsetX)/e.scale,r=e.worldY+(i-e.offsetY)/e.scale;return{x:Math.max(e.worldX,Math.min(e.worldX+e.worldWidth,n)),y:Math.max(e.worldY,Math.min(e.worldY+e.worldHeight,r))}}var A0=class extends R0{constructor(e,t={}){super(e),b(this,"style",void 0),b(this,"maxRects",void 0),b(this,"minVisibleRectSize",void 0),b(this,"drawFallbackBoxes",void 0),b(this,"zoneWindow",void 0),b(this,"sharedCanvasRenderer",void 0),b(this,"onRequestRender",void 0),b(this,"onDebugEvent",void 0),b(this,"baseCanvas",void 0),b(this,"baseContext",void 0),b(this,"worldTarget",ke.singleBox(1,1,0,0)),b(this,"previewImageCache",new Map),b(this,"idle",!1),b(this,"worldLayerDirty",!0),b(this,"lastWorldWidth",0),b(this,"lastWorldHeight",0),b(this,"lastTargetX",NaN),b(this,"lastTargetY",NaN),b(this,"lastTargetX2",NaN),b(this,"lastTargetY2",NaN),b(this,"lastRegionX",NaN),b(this,"lastRegionY",NaN),b(this,"lastRegionWidth",NaN),b(this,"lastRegionHeight",NaN),b(this,"worldLayerInvalidationVersion",0),b(this,"sharedCanvasResourcesPending",!1),b(this,"viewRotation",0),this.style={...yI,...t.style||{}},this.maxRects=Math.max(100,t.maxRects||5e3),this.minVisibleRectSize=Math.max(1,t.minVisibleRectSize||1),this.drawFallbackBoxes=t.drawFallbackBoxes!==!1,this.zoneWindow=t.zoneWindow,this.sharedCanvasRenderer=t.sharedCanvasRenderer,this.onRequestRender=t.onRequestRender,this.onDebugEvent=t.onDebugEvent,this.context.globalAlpha=1,this.context.imageSmoothingEnabled=!1,this.baseCanvas=document.createElement("canvas"),this.baseContext=this.baseCanvas.getContext("2d"),this.baseContext.imageSmoothingEnabled=!0,this.syncBaseLayerCanvas()}emitDebugEvent(e){this.onDebugEvent&&this.onDebugEvent(e)}requestRender(e){this.onRequestRender&&(this.emitDebugEvent({type:"render-request-forwarded",reason:e}),this.onRequestRender())}invalidateWorldLayer(e="manual"){this.worldLayerInvalidationVersion++,this.worldLayerDirty=!0,this.renderNextFrame=!0,this.emitDebugEvent({type:"world-layer-invalidated",reason:e}),this.requestRender(e)}resize(){super.resize(),this.syncBaseLayerCanvas(),this.invalidateWorldLayer("resize")}beforeFrame(e,t,i,n){let r=n?.viewRotation||0;r!==this.viewRotation&&(this.renderNextFrame=!0),this.viewRotation=r,(e.width!==this.lastWorldWidth||e.height!==this.lastWorldHeight)&&(this.lastWorldWidth=e.width,this.lastWorldHeight=e.height,this.invalidateWorldLayer("world-size-changed"))}paint(){this.renderNextFrame=!0}pendingUpdate(){return!this.idle&&(this.renderNextFrame||this.worldLayerDirty)}afterFrame(e,t,i){if(this.idle)return;let n=this.worldLayerInvalidationVersion;if(this.canvas.width<=0||this.canvas.height<=0){this.emitDebugEvent({type:"frame-skipped-zero-size-canvas",canvasWidth:this.canvas.width,canvasHeight:this.canvas.height,baseCanvasWidth:this.baseCanvas.width,baseCanvasHeight:this.baseCanvas.height}),this.renderNextFrame=!0;return}let r=mm(e,{target:i,zoneWindow:this.zoneWindow});this.hasRegionChanged(r)&&(this.worldLayerDirty=!0);let o=this.hasViewportChanged(i);if(this.renderNextFrame||this.worldLayerDirty||o){if((this.baseCanvas.width!==this.canvas.width||this.baseCanvas.height!==this.canvas.height)&&(this.syncBaseLayerCanvas(),this.worldLayerDirty=!0),this.baseCanvas.width<=0||this.baseCanvas.height<=0){this.emitDebugEvent({type:"frame-skipped-zero-size-canvas",canvasWidth:this.canvas.width,canvasHeight:this.canvas.height,baseCanvasWidth:this.baseCanvas.width,baseCanvasHeight:this.baseCanvas.height}),this.renderNextFrame=!0;return}if(this.worldLayerDirty){let s=this.worldLayerInvalidationVersion;this.sharedCanvasResourcesPending=!1,this.emitDebugEvent({type:"world-layer-render-start",region:r});try{this.renderWorldLayer(e,r)}finally{this.emitDebugEvent({type:"world-layer-render-end",region:r})}this.worldLayerDirty=this.sharedCanvasResourcesPending||s!==this.worldLayerInvalidationVersion}this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.context.drawImage(this.baseCanvas,0,0),this.renderViewportBox(i,r),this.lastTargetX=i[1],this.lastTargetY=i[2],this.lastTargetX2=i[3],this.lastTargetY2=i[4],this.lastRegionX=r.x,this.lastRegionY=r.y,this.lastRegionWidth=r.width,this.lastRegionHeight=r.height,this.renderNextFrame=this.sharedCanvasResourcesPending||n!==this.worldLayerInvalidationVersion}}hasViewportChanged(e){return this.lastTargetX!==e[1]||this.lastTargetY!==e[2]||this.lastTargetX2!==e[3]||this.lastTargetY2!==e[4]}hasRegionChanged(e){return this.lastRegionX!==e.x||this.lastRegionY!==e.y||this.lastRegionWidth!==e.width||this.lastRegionHeight!==e.height}syncBaseLayerCanvas(){this.baseCanvas.width=this.canvas.width,this.baseCanvas.height=this.canvas.height}shouldClipImagePaintToBounds(e){return e instanceof St||e instanceof At?!!e.__parent?.renderOptions?.clipToBounds:!1}getBoundsFromPoints(e){let t=1/0,i=1/0,n=-1/0,r=-1/0;for(let o=0;o<e.length;o+=5)e[o]&&(t=Math.min(t,e[o+1]),i=Math.min(i,e[o+2]),n=Math.max(n,e[o+3]),r=Math.max(r,e[o+4]));if(!(!Number.isFinite(t)||!Number.isFinite(i)||!Number.isFinite(n)||!Number.isFinite(r))&&!(n<=t||r<=i))return{x:t,y:i,width:n-t,height:r-i}}getLayerClipBounds(e,t,i){if(!this.shouldClipImagePaintToBounds(e))return;let n=e.__parent,r=n?.crop||n?.points;if(!r)return;let o=t?Jt(r,t):r,s=this.getBoundsFromPoints(o);if(s)return{x:s.x+i.offsetX,y:s.y+i.offsetY,width:s.width,height:s.height}}renderWorldLayer(e,t){let i=this.baseContext;i.clearRect(0,0,this.baseCanvas.width,this.baseCanvas.height),i.fillStyle=this.style.background,i.fillRect(0,0,this.baseCanvas.width,this.baseCanvas.height);let n=e.getActiveZone(),r=dd(t.width,t.height,this.baseCanvas.width,this.baseCanvas.height,t.x,t.y);this.worldTarget[1]=t.x,this.worldTarget[2]=t.y,this.worldTarget[3]=t.x+t.width,this.worldTarget[4]=t.y+t.height;let o=e.getPointsAt(this.worldTarget,this.aggregate,r.scale),s=0;for(let a=0;a<o.length&&!(s>=this.maxRects);a++){let c=o[a][0],u=o[a][1],l=o[a][2],d=l?Jt(u,l):u,h=d.length/5,p=this.getLayerClipBounds(c,l,r);p&&(i.save(),i.beginPath(),i.rect(p.x,p.y,p.width,p.height),i.clip());try{for(let f=0;f<h&&!(s>=this.maxRects);f++){let m=f*5;if(d[m]===0)continue;if(n){let R=c?.__owner?.value;if(!R||n.objects.indexOf(R)===-1)continue}let g=d[m+1]+r.offsetX,y=d[m+2]+r.offsetY,x=Math.max(this.minVisibleRectSize,d[m+3]-d[m+1]),w=Math.max(this.minVisibleRectSize,d[m+4]-d[m+2]);c instanceof fl?this.renderGeometry(i,c,g,y,r.scale):c instanceof Ir?this.renderBox(i,c,g,y,x,w,r.scale):this.renderImagePaint(i,c,f,g,y,x,w)||this.drawFallbackBoxes&&this.renderFallbackBox(i,g,y,x,w),s++}}finally{p&&i.restore()}}}renderFallbackBox(e,t,i,n,r){let o=Math.round(t),s=Math.round(i),a=Math.max(1,Math.round(n)),c=Math.max(1,Math.round(r));e.fillStyle=this.style.objectFill,e.strokeStyle=this.style.objectStroke,e.lineWidth=1,e.fillRect(o,s,a,c),a>2&&c>2&&e.strokeRect(o+.5,s+.5,a-1,c-1)}renderImagePaint(e,t,i,n,r,o,s){if(o<=0||s<=0)return!1;let a;if(t instanceof Es)a=t.getTexture()?.source;else if(t instanceof St||t instanceof At){let l=this.renderSharedCanvasImage(e,t,i,n,r,o,s);if(l!==null)return l;if(typeof t.getImageUrl!="function")return!1;let d=t.getImageUrl(i);a=this.getLoadedPreviewImage(d)}if(!a)return!1;let c=Math.max(1,Math.round(o)),u=Math.max(1,Math.round(s));return e.drawImage(a,Math.round(n),Math.round(r),c,u),!0}ensureSharedCanvasImageBuffer(e){return e.__host?.canvas||this.sharedCanvasRenderer?.createImageHost?.(e),e.__host||(e.__host={}),e.__host.canvas||(e.__host.canvas={canvases:[],tiles:{}}),e.__host.canvas.canvases||(e.__host.canvas.canvases=[]),e.__host.canvas.tiles||(e.__host.canvas.tiles={}),e.__host.canvas}drawSharedCanvasTile(e,t,i,n,r,o,s,a){let c=Math.max(1,Math.round(s)),u=Math.max(1,Math.round(a));if(t.crop&&t.cropData){let p=i*5;if(!t.crop[p])return!1;let f=t.crop[p+1]/t.display.scale-t.display.points[p+1]+t.cropData.x/t.display.scale,m=t.crop[p+2]/t.display.scale-t.display.points[p+2]+t.cropData.y/t.display.scale,g=1+(t.crop[p+3]-t.crop[p+1])/t.display.scale,y=1+(t.crop[p+4]-t.crop[p+2])/t.display.scale;return e.drawImage(n,f,m,g,y,Math.round(r),Math.round(o),c,u),!0}let l=i*5,d=t.display.points[l+3]-t.display.points[l+1],h=t.display.points[l+4]-t.display.points[l+2];return e.drawImage(n,0,0,d,h,Math.round(r),Math.round(o),c,u),!0}renderSharedCanvasImage(e,t,i,n,r,o,s){let a=this.sharedCanvasRenderer;if(!a?.hostCache)return null;let c=this.ensureSharedCanvasImageBuffer(t),u=c.canvases?.[i],l=!!u&&!!a.invalidated?.includes(u),d=u&&!l?a.hostCache.get(u):void 0;if(d)return this.drawSharedCanvasTile(e,t,i,d,n,r,o,s);let h=c.tiles?.[i],p=Math.hypot(n+o/2-this.baseCanvas.width/2,r+s/2-this.baseCanvas.height/2);return(a.schedulePaintToCanvas?.(c,t,i,p,!1)||h?.state==="queued"||h?.state==="loading"||h?.state==="decoded")&&(this.sharedCanvasResourcesPending=!0),!1}getLoadedPreviewImage(e){let t=this.previewImageCache.get(e);if(t){if(t.status==="loading"&&t.image.complete){if(t.image.naturalWidth>0&&t.image.naturalHeight>0)return t.status="loaded",this.emitDebugEvent({type:"preview-image-loaded",imageUrl:e,cached:!0}),this.invalidateWorldLayer("preview-image-loaded"),t.image;t.status="error",this.emitDebugEvent({type:"preview-image-error",imageUrl:e});return}return t.status==="loaded"?t.image:void 0}if(this.idle)return;let i=new Image,n={image:i,status:"loading"};return this.previewImageCache.set(e,n),this.emitDebugEvent({type:"preview-image-requested",imageUrl:e}),i.onload=()=>{n.status==="loading"&&(n.status="loaded",this.emitDebugEvent({type:"preview-image-loaded",imageUrl:e,cached:!1}),this.invalidateWorldLayer("preview-image-loaded"))},i.onerror=()=>{n.status==="loading"&&(n.status="error",this.emitDebugEvent({type:"preview-image-error",imageUrl:e}))},i.src=e,i.complete&&(i.naturalWidth>0&&i.naturalHeight>0?(n.status="loaded",this.emitDebugEvent({type:"preview-image-loaded",imageUrl:e,cached:!0}),this.invalidateWorldLayer("preview-image-loaded")):(n.status="error",this.emitDebugEvent({type:"preview-image-error",imageUrl:e}))),n.status==="loaded"?i:void 0}setIdle(e){if(this.idle=e,e)for(let[t,i]of this.previewImageCache)i.status==="loading"&&(i.status="error",i.image.onload=i.image.onerror=null,i.image.src="",this.previewImageCache.delete(t));this.worldLayerDirty=!0}reset(){this.setIdle(!0);for(let e of this.previewImageCache.values())e.image.onload=e.image.onerror=null;this.previewImageCache.clear(),this.baseCanvas.width=this.baseCanvas.height=0,this.idle=!1}renderBox(e,t,i,n,r,o,s){let a=t.props?.style;if(!a){this.renderFallbackBox(e,i,n,r,o);return}let c=a.backgroundColor||this.style.objectFill,u=a.borderColor||this.style.objectStroke,l=a.borderWidth?parseInt(a.borderWidth,10):0,d=Math.max(0,l*(t.props?.relativeStyle?1:s));e.globalAlpha=typeof a.opacity=="number"?a.opacity:1,e.fillStyle=c,e.fillRect(Math.round(i),Math.round(n),Math.max(1,Math.round(r)),Math.max(1,Math.round(o))),d>0&&(e.strokeStyle=u,e.lineWidth=Math.max(1,d),e.strokeRect(Math.round(i)+e.lineWidth/2,Math.round(n)+e.lineWidth/2,Math.max(1,Math.round(r))-e.lineWidth,Math.max(1,Math.round(o))-e.lineWidth)),e.globalAlpha=1}renderGeometry(e,t,i,n,r){let o=t.shape;if(o.type!=="polygon"||o.points.length===0)return;let s=t.props?.style||{},a=s.backgroundColor||this.style.objectFill,c=s.borderColor||this.style.objectStroke,u=s.borderWidth?parseInt(s.borderWidth,10):0,l=Math.max(0,u*(t.props?.relativeStyle?1:r));e.globalAlpha=typeof s.opacity=="number"?s.opacity:1,e.beginPath();for(let d=0;d<o.points.length;d++){let h=i+o.points[d][0]*r,p=n+o.points[d][1]*r;d===0?e.moveTo(h,p):e.lineTo(h,p)}o.open||(e.closePath(),e.fillStyle=a,e.fill()),(l>0||o.open)&&(e.strokeStyle=c,e.lineWidth=Math.max(1,l||1),e.stroke()),e.globalAlpha=1}renderViewportBox(e,t){let i=dd(t.width,t.height,this.canvas.width,this.canvas.height,t.x,t.y),n=(e[1]-i.worldX)*i.scale+i.offsetX,r=(e[2]-i.worldY)*i.scale+i.offsetY,o=(e[3]-e[1])*i.scale,s=(e[4]-e[2])*i.scale,a=Math.round(n),c=Math.round(r),u=Math.max(1,Math.round(o)),l=Math.max(1,Math.round(s));this.viewRotation&&(this.context.save(),this.context.translate(n+o/2,r+s/2),this.context.rotate(-this.viewRotation*Math.PI/180),this.context.translate(-n-o/2,-r-s/2)),this.context.fillStyle=this.style.viewportFill,this.context.fillRect(a,c,u,l),this.context.strokeStyle=this.style.viewportStroke,this.context.lineWidth=Math.max(1,this.style.viewportLineWidth),this.context.strokeRect(a+.5,c+.5,Math.max(1,u-1),Math.max(1,l-1)),this.viewRotation&&this.context.restore()}},vl=class extends an{constructor(){super(),b(this,"type","spacial-content"),b(this,"id",void 0),b(this,"points",void 0),b(this,"color","#000"),b(this,"backgroundColor",void 0),b(this,"hovering",void 0),b(this,"pressing",void 0),b(this,"text",""),b(this,"display",{x:0,y:0,scale:1,width:100,height:100,points:me(5)}),b(this,"className",void 0),b(this,"html",void 0),b(this,"interactive",!1),b(this,"props",{font:"18px Arial, sans-serif",lineHeight:1,textAlign:"left",verticalAlign:"top",paddingX:0,paddingY:0,fitParent:!1,lineBreak:"auto",strokeText:!1,sizeToFill:!1,maxFontSizeToFill:void 0,allowNewLine:!0,justifyLines:!1,renderHDPI:!1,textDecoration:"none",interactive:!1,relativeSize:!1}),this.id="",this.points=me(5)}getAllPointsAt(e,t){return[[this,this.points,t]]}applyProps({id:e,target:t,text:i,color:n,backgroundColor:r,fontSize:o=18,interactive:s,fontFamily:a="Arial, sans-serif",...c}){c.font=`${o}px ${a}`,this.interactive=s||!1,i!==void 0&&(this.text=i||""),n&&(this.color=n),r&&(this.backgroundColor=r),e&&(this.id=e),t&&(this.points=ke.singleBox(t.width,t.height,t.x,t.y),this.display.points=this.points,this.display.width=t.width,this.display.height=t.height),this.props={...this.props,...c},this.__revision++}};function hd(e,t){let i=t?e:JSON.stringify(e),n=5381,r=i.length;for(;r;)n=n*33^i.charCodeAt(--r);let o=(n>>>0).toString(16);return o.length%2?"0"+o:o}var I0=class{constructor(e){b(this,"$element",void 0),b(this,"stylesheetClasses",void 0),b(this,"activeStylesheetClasses",void 0),b(this,"sheetsDidUpdate",void 0),b(this,"sheetPrefix",void 0),b(this,"stylesheetEntries",void 0),this.sheetPrefix=e?.sheetPrefix||"a-",this.$element=document.createElement("style"),this.stylesheetClasses=[],this.activeStylesheetClasses=[],this.sheetsDidUpdate=!1,this.stylesheetEntries={}}getElement(){return this.$element}addStylesheet(e){let t=e.replace(/\s\s+/g," ").replace(/: /g,":").replace(/; /g,";").trim(),i=this.sheetPrefix+hd(t,!0);return this.stylesheetClasses.indexOf(i)===-1&&(this.stylesheetClasses.push(i),this.activeStylesheetClasses.push(i),this.stylesheetEntries[i]=t,this.sheetsDidUpdate=!0),i}removeStylesheet(e){let t=this.sheetPrefix+hd(e,!0);this.stylesheetClasses.indexOf(t)&&(this.stylesheetClasses=this.stylesheetClasses.filter(i=>i!==t)),this.sheetsDidUpdate=!0}clearClasses(){this.activeStylesheetClasses=[]}didUpdateActive(){if(this.activeStylesheetClasses.length){for(let e of this.activeStylesheetClasses)if(this.stylesheetClasses.indexOf(e)===-1)return!0;for(let e of this.stylesheetClasses)if(this.activeStylesheetClasses.indexOf(e)===-1)return!0}return!1}updateSheet(){(this.sheetsDidUpdate||this.didUpdateActive())&&(this.$element.innerText=this.activeStylesheetClasses.map(e=>`.${e}{${this.stylesheetEntries[e]}}`).join(""),this.sheetsDidUpdate=!1,this.stylesheetClasses=[...this.activeStylesheetClasses])}},gm=class{constructor(e,t){b(this,"htmlContainer",void 0),b(this,"visible",[]),b(this,"previousVisible",[]),b(this,"htmlIds",[]),b(this,"firstMeaningfulPaint",!1),b(this,"rendererPosition",void 0),b(this,"stylesheet",void 0),b(this,"options",void 0),b(this,"paintTx",1),b(this,"zIndex",0),b(this,"classes",void 0),b(this,"viewTransform",""),this.htmlContainer=e,this.htmlContainer.innerHTML="",this.rendererPosition=this.htmlContainer.getBoundingClientRect(),this.options={triggerResize:()=>{},box:!1,text:!1,sheetPrefix:"",inlineStyles:!1,background:"",...t||{}},this.stylesheet=new I0({sheetPrefix:this.options.sheetPrefix}),this.options.inlineStyles||this.htmlContainer.appendChild(this.stylesheet.getElement()),this.options.background&&this.htmlContainer.classList.add(this.stylesheet.addStylesheet(`
25
11
  background: ${this.options.background};
26
12
  `)),this.classes={hostClassName:this.stylesheet.addStylesheet(`
27
13
  position: absolute;
28
14
  transform-origin: 0px 0px;
29
- `),interactive:this.stylesheet.addStylesheet("pointer-events: all"),nonInteractive:this.stylesheet.addStylesheet("pointer-events: none")},this.stylesheet.updateSheet()}createHtmlHost(t){if(this.htmlContainer&&(t instanceof Qh&&this.options.text||this.options.box||t.props.className||t.props.html||t.props.href)){let e=document.createElement(t.props.href?"a":"div");if(t.props.href){e.style.display="block",e.href=t.props.href;let n=t.props.hrefTarget||"_blank";e.target=n,n!=="_self"&&(e.rel="noopener noreferrer")}e.title=t.props.title||"",this.options.inlineStyles?(e.style.display="block",e.style.position="absolute",e.style.overflow="hidden",e.style.transformOrigin="0px 0px"):e.classList.add(this.classes.hostClassName),t.__host={element:e,revision:null,relative:!1},this.updateHtmlHost(t,t.width,t.height),t.__onCreate&&t.__onCreate()}}triggerResize(){this.options.triggerResize()}updateHtmlHost(t,e,n){if(t.__revision!==t.__host.revision){let i=t.__host.element,a=[this.classes.hostClassName];if(t.props.interactive?this.options.inlineStyles?i.style.pointerEvents="all":a.push(this.classes.interactive):this.options.inlineStyles?i.style.pointerEvents="none":a.push(this.classes.nonInteractive),t.props.href){i.style.display="block",i.href=t.props.href;let l=t.props.hrefTarget||"_blank";i.target=l,l==="_self"?i.rel="":i.rel="noopener noreferrer"}else i.href&&i.removeAttribute("href");if(t.props.title&&(i.title=t.props.title||""),t.props.className&&(a.push(t.props.className),t.hovering&&a.push(`${t.props.className}--hover`),t.pressing&&a.push(`${t.props.className}--active`)),t.props.relativeStyle?(i.style.width=`${e||t.width}px`,i.style.height=`${n||t.height}px`):(i.style.width=`${t.width}px`,i.style.height=`${t.height}px`),t.props.style){Object.assign(i.style,t.props.style||{},t.hovering&&t.props.hoverStyles||{},t.pressing&&t.props.pressStyles||{});return}if(this.options.text&&t instanceof Qh){t.text&&(i.innerText=t.text),t.backgroundColor&&(i.style.backgroundColor=t.backgroundColor),t.color&&(i.style.color=t.color),t.props.font&&(i.style.font=t.props.font),t.props.textAlign&&(i.style.textAlign=t.props.textAlign),t.__host.revision=t.__revision;let l=a.join(" ");i.className=l,i.part=l}t instanceof Ed&&(this.options.box||t.props.className||t.props.html)&&(t.props.backgroundColor&&(i.style.backgroundColor=t.props.backgroundColor),t.props.border!==i.style.border&&(i.style.border=t.props.border));let r=a.join(" ");i.className=r,i.part=r}}afterFrame(t,e,n){this.stylesheet.updateSheet();for(let i of this.previousVisible)this.visible.indexOf(i)===-1&&this.htmlContainer&&i.__id&&this.htmlIds.indexOf(i.__id)!==-1&&this.htmlContainer.removeChild(i.__host.element);this.previousVisible=this.visible}afterPaintLayer(t,e){}beforeFrame(t,e,n){this.stylesheet.clearClasses(),this.paintTx++,this.zIndex=0,this.visible=[]}getPointsAt(t,e,n,i){return t.getPointsAt(e,n,i)}getScale(t,e){let n=this.rendererPosition.width/t,i=this.rendererPosition.height/e;return n<i?i:n}getViewportBounds(t,e,n){return null}isReady(){return!0}paint(t,e,n,i,a,r){if(this.zIndex++,(this.options.text&&t instanceof Qh||t instanceof Ed&&(this.options.box||t.props.className||t.props.html))&&t.__host&&t.__host.tx!==this.paintTx&&(this.visible.push(t),t.__host.tx=this.paintTx,this.htmlContainer)){this.updateHtmlHost(t,a,r);let l=a/t.width,u=t.__host.element;u.style.zIndex=`${this.zIndex}`,t.props.relativeStyle?u.style.transform=`translate(${Math.round(n)}px, ${Math.round(i)}px)`:u.style.transform=`translate(${Math.round(n)}px, ${Math.round(i)}px) scale(${l})`,this.previousVisible.indexOf(t)===-1&&this.htmlContainer.appendChild(u),this.htmlIds.indexOf(t.__id)===-1&&this.htmlIds.push(t.__id)}}pendingUpdate(){return!1}prepareLayer(t){t.__host||(t instanceof Qh||t instanceof Ed)&&this.createHtmlHost(t)}resize(t,e){t!==void 0&&e!==void 0&&(this.htmlContainer.style.width=`${t}px`,this.htmlContainer.style.height=`${e}px`),this.rendererPosition=this.htmlContainer.getBoundingClientRect()}getRendererScreenPosition(){return this.rendererPosition}finishLayer(){}reset(){}},rj=np((t,e)=>{var n=!1,i,a,r,l,u,f,h,d,m,y,g,b,T,C,x;function w(){if(!n){n=!0;var E=navigator.userAgent,M=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(E),z=/(Mac OS X)|(Windows)|(Linux)/.exec(E);if(b=/\b(iPhone|iP[ao]d)/.exec(E),T=/\b(iP[ao]d)/.exec(E),y=/Android/i.exec(E),C=/FBAN\/\w+;/i.exec(E),x=/Mobile/i.exec(E),g=!!/Win64/.exec(E),M){i=M[1]?parseFloat(M[1]):M[5]?parseFloat(M[5]):NaN,i&&document&&document.documentMode&&(i=document.documentMode);var I=/(?:Trident\/(\d+.\d+))/.exec(E);f=I?parseFloat(I[1])+4:i,a=M[2]?parseFloat(M[2]):NaN,r=M[3]?parseFloat(M[3]):NaN,l=M[4]?parseFloat(M[4]):NaN,l?(M=/(?:Chrome\/(\d+\.\d+))/.exec(E),u=M&&M[1]?parseFloat(M[1]):NaN):u=NaN}else i=a=r=u=l=NaN;if(z){if(z[1]){var L=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(E);h=L?parseFloat(L[1].replace("_",".")):!0}else h=!1;d=!!z[2],m=!!z[3]}else h=d=m=!1}}var R={ie:function(){return w()||i},ieCompatibilityMode:function(){return w()||f>i},ie64:function(){return R.ie()&&g},firefox:function(){return w()||a},opera:function(){return w()||r},webkit:function(){return w()||l},safari:function(){return R.webkit()},chrome:function(){return w()||u},windows:function(){return w()||d},osx:function(){return w()||h},linux:function(){return w()||m},iphone:function(){return w()||b},mobile:function(){return w()||b||T||y||x},nativeApp:function(){return w()||C},android:function(){return w()||y},ipad:function(){return w()||T}};e.exports=R}),oj=np((t,e)=>{var n=!!(typeof window<"u"&&window.document&&window.document.createElement);e.exports={canUseDOM:n,canUseWorkers:typeof Worker<"u",canUseEventListeners:n&&!!(window.addEventListener||window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n}}),sj=np((t,e)=>{var n=oj(),i;n.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function a(r,l){if(!n.canUseDOM||l&&!("addEventListener"in document))return!1;var u="on"+r,f=u in document;if(!f){var h=document.createElement("div");h.setAttribute(u,"return;"),f=typeof h[u]=="function"}return!f&&i&&r==="wheel"&&(f=document.implementation.hasFeature("Events.wheel","3.0")),f}e.exports=a}),lj=np((t,e)=>{var n=rj(),i=sj(),a=10,r=40,l=800;function u(f){var h=0,d=0,m=0,y=0;return"detail"in f&&(d=f.detail),"wheelDelta"in f&&(d=-f.wheelDelta/120),"wheelDeltaY"in f&&(d=-f.wheelDeltaY/120),"wheelDeltaX"in f&&(h=-f.wheelDeltaX/120),"axis"in f&&f.axis===f.HORIZONTAL_AXIS&&(h=d,d=0),m=h*a,y=d*a,"deltaY"in f&&(y=f.deltaY),"deltaX"in f&&(m=f.deltaX),(m||y)&&f.deltaMode&&(f.deltaMode==1?(m*=r,y*=r):(m*=l,y*=l)),m&&!h&&(h=m<1?-1:1),y&&!d&&(d=y<1?-1:1),{spinX:h,spinY:d,pixelX:m,pixelY:y}}u.getEventType=function(){return n.firefox()?"DOMMouseScroll":i("wheel")?"wheel":"mousewheel"},e.exports=u}),Z3=np((t,e)=>{e.exports=lj()}),uj=C3(Z3(),1),dn=Math.pow,Ev=Math.sqrt,Yh=Math.sin,r3=Math.cos,Wh=Math.PI,Bv=1.70158,Cv=Bv*1.525,o3=Bv+1,s3=2*Wh/3,l3=2*Wh/4.5,Av=function(t){let e=7.5625,n=2.75;return t<1/n?e*t*t:t<2/n?e*(t-=1.5/n)*t+.75:t<2.5/n?e*(t-=2.25/n)*t+.9375:e*(t-=2.625/n)*t+.984375},jr={linear:t=>t,easeInQuad:function(t){return t*t},easeOutQuad:function(t){return 1-(1-t)*(1-t)},easeInOutQuad:function(t){return t<.5?2*t*t:1-dn(-2*t+2,2)/2},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return 1-dn(1-t,3)},easeInOutCubic:function(t){return t<.5?4*t*t*t:1-dn(-2*t+2,3)/2},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1-dn(1-t,4)},easeInOutQuart:function(t){return t<.5?8*t*t*t*t:1-dn(-2*t+2,4)/2},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1-dn(1-t,5)},easeInOutQuint:function(t){return t<.5?16*t*t*t*t*t:1-dn(-2*t+2,5)/2},easeInSine:function(t){return 1-r3(t*Wh/2)},easeOutSine:function(t){return Yh(t*Wh/2)},easeInOutSine:function(t){return-(r3(Wh*t)-1)/2},easeInExpo:function(t){return t===0?0:dn(2,10*t-10)},easeOutExpo:function(t){return t===1?1:1-dn(2,-10*t)},easeInOutExpo:function(t){return t===0?0:t===1?1:t<.5?dn(2,20*t-10)/2:(2-dn(2,-20*t+10))/2},easeInCirc:function(t){return 1-Ev(1-dn(t,2))},easeOutCirc:function(t){return Ev(1-dn(t-1,2))},easeInOutCirc:function(t){return t<.5?(1-Ev(1-dn(2*t,2)))/2:(Ev(1-dn(-2*t+2,2))+1)/2},easeInBack:function(t){return o3*t*t*t-Bv*t*t},easeOutBack:function(t){return 1+o3*dn(t-1,3)+Bv*dn(t-1,2)},easeInOutBack:function(t){return t<.5?dn(2*t,2)*((Cv+1)*2*t-Cv)/2:(dn(2*t-2,2)*((Cv+1)*(t*2-2)+Cv)+2)/2},easeInElastic:function(t){return t===0?0:t===1?1:-dn(2,10*t-10)*Yh((t*10-10.75)*s3)},easeOutElastic:function(t){return t===0?0:t===1?1:dn(2,-10*t)*Yh((t*10-.75)*s3)+1},easeInOutElastic:function(t){return t===0?0:t===1?1:t<.5?-(dn(2,20*t-10)*Yh((20*t-11.125)*l3))/2:dn(2,-20*t+10)*Yh((20*t-11.125)*l3)/2+1},easeInBounce:function(t){return 1-Av(1-t)},easeOutBounce:Av,easeInOutBounce:function(t){return t<.5?(1-Av(1-2*t))/2:(1+Av(2*t-1))/2}},u3="scroll",QT="gesture",cj={zoomOutFactor:.8,zoomInFactor:1.25,maxZoomFactor:1,minZoomFactor:.05,zoomDuration:300,zoomWheelConstant:20,zoomClamp:.6,panBounceStiffness:120,panBounceDamping:15,panTimeConstant:325,panPower:.1,enablePanMomentum:!0,panMomentumStrength:1,nudgeDistance:100,panPadding:0,devicePixelRatio:1,enableWheel:!0,enableClickToZoom:!0,enableDoubleTapZoom:!0,ignoreSingleFingerTouch:!1,enablePanOnWait:!1,requireMetaKeyForWheelZoom:!1,wheelInExploreModeOnly:!1,panOnWaitDelay:40,onPanInSketchMode:()=>{},parentElement:null},hR=(t={})=>({start:e=>{let{zoomWheelConstant:n,enableWheel:i,enableClickToZoom:a,enableDoubleTapZoom:r,ignoreSingleFingerTouch:l,enablePanOnWait:u,panOnWaitDelay:f,parentElement:h,requireMetaKeyForWheelZoom:d,wheelInExploreModeOnly:m,enablePanMomentum:y,panMomentumStrength:g,panBounceStiffness:b,panBounceDamping:T,panTimeConstant:C,panPadding:x}={...cj,...t},w={pointerStart:{x:0,y:0},isPressing:!1,mousemoveBuffer:It(5),multiTouch:{distance:0},hasMovedSincePress:!1},R=[],E={active:!1,vx:0,vy:0},M=null,z,I=0,L,H;function q(){R.length=0}function st(lt,Tt){let Vt=performance.now(),_=R[R.length-1];if(_&&_.x===lt&&_.y===Tt){_.t=Vt;return}for(R.push({x:lt,y:Tt,t:Vt});R.length>1&&Vt-R[0].t>140;)R.shift()}function et(){E.active=!1,E.vx=0,E.vy=0}function gt(){M=null,z=void 0}function it(){if(!r||e.mode!=="explore"||w.hasMovedSincePress||!H)return!1;let lt=performance.now();if(Gt&&lt-Gt>250)return!1;let Tt=L&&I>0&&lt-I<=350&&Zh(L,H)<=100;if(I=lt,L={...H},!Tt)return!1;let Vt=e.isViewportAtHomeZoomLevel({tolerance:.1})?e.getHomeTarget({cover:!0}):e.getHomeTarget();return e.transitionManager.goToRegion(Vt,{transition:{duration:500,easing:jr.easeInOutQuad}}),I=0,L=void 0,!0}function nt(lt,Tt,Vt,_){let B=Math.min(Vt,32)/1e3,rt=Tt*1e3,ht=lt+rt*B,xt=ht-_,U=-b*xt-T*rt,P=rt+U*B;return{position:ht+.5*U*B*B,velocity:P/1e3}}function ut(lt){e.transitionManager.customTransition(Tt=>{Tt.from=It(e.target),Tt.to=lt,Tt.elapsed_time=0,Tt.total_time=0,Tt.timingFunction=jr.easeInOutExpo,Tt.done=!1})}function wt(){if(R.length<2)return null;let lt=R[R.length-1],Tt=R[0];for(let _=R.length-2;_>=0&&(Tt=R[_],!(lt.t-Tt.t>=80));_--);let Vt=lt.t-Tt.t;return Vt<=0?null:{vx:(lt.x-Tt.x)/Vt,vy:(lt.y-Tt.y)/Vt}}function Y(){if(!y||!w.hasMovedSincePress||R.length<2)return!1;let lt=wt();if(!lt)return!1;let Tt=Math.max(0,g),Vt=lt.vx*Tt,_=lt.vy*Tt;return Math.hypot(Vt,_)*e.getScaleFactor()<.08?!1:(E.active=!0,E.vx=Vt,E.vy=_,e.updateNextFrame(),!0)}function yt(){if(!w.isPressing){gt(),qt();return}let lt=e.mode==="explore"?Y():!1;e.mode==="explore"&&!lt&&e.world.constraintBounds(),w.isPressing=!1,w.hasMovedSincePress=!1,q(),gt(),qt()}function Mt(){if(!w.isPressing){gt(),qt();return}if(et(),e.mode==="explore"){let lt=e.transitionManager.getPendingTransition(),Tt=M||(lt&&lt.total_time===0&&!lt.done?lt.to:e.target);e.transitionManager.constrainTarget(Tt,{origin:z,panPadding:x})}w.isPressing=!1,w.hasMovedSincePress=!1,q(),gt(),qt()}e.world.activatedEvents.push("onMouseUp","onMouseDown","onMouseMove","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","onContextMenu");function qt(){ee=0,re="",Zt(),Zt(void 0,"notice"),Gt=0,H=void 0}function Kt(){yt()}function te(lt){if(re===QT&&lt.touches.length<2){Mt();return}lt.touches.length===0&&(it(),yt())}function ue(lt){if(re===QT){Mt();return}yt()}function ft(lt){if(lt.which>1){w.isPressing=!1;return}e.mode==="explore"&&(lt.preventDefault(),et(),q(),w.hasMovedSincePress=!1,w.pointerStart.x=lt.atlas.x,w.pointerStart.y=lt.atlas.y,st(e.target[1],e.target[2]),e.transitionManager.stopTransition(),w.isPressing=!0)}function Ht(){yt()}let ee=0,Gt=0,re="";function Ce(lt){if(e.mode==="explore"){if(et(),q(),w.hasMovedSincePress=!1,lt.atlasTouches.length===1&&(Gt=performance.now(),l==0&&lt.preventDefault(),w.pointerStart.x=lt.atlasTouches[0].x,w.pointerStart.y=lt.atlasTouches[0].y,H={x:lt.atlasTouches[0].x,y:lt.atlasTouches[0].y},st(e.target[1],e.target[2])),lt.atlasTouches.length===2){re=QT,lt.preventDefault();let Tt=lt.atlasTouches[0].x,Vt=lt.atlasTouches[1].x;w.pointerStart.x=(Tt+Vt)/2;let _=lt.atlasTouches[0].y,B=lt.atlasTouches[1].y;w.pointerStart.y=(_+B)/2,ee=Zh({x:lt.touches[0].clientX,y:lt.touches[0].clientY},{x:lt.touches[1].clientX,y:lt.touches[1].clientY}),q(),gt()}e.transitionManager.stopTransition(),w.isPressing=!0}}function Zt(lt,Tt="intent"){h&&(h.dataset[Tt]=lt)}function fe(lt){let Tt=null,Vt=null,_=0,B=!1;if(w.isPressing&&lt.touches.length===2&&(Tt=(lt.touches[0].clientX+lt.touches[1].clientX)/2,Vt=(lt.touches[0].clientY+lt.touches[1].clientY)/2,_=Zh({x:lt.touches[0].clientX,y:lt.touches[0].clientY},{x:lt.touches[1].clientX,y:lt.touches[1].clientY})),Zt(re),w.isPressing&&lt.touches.length===1){if(u&&(performance.now()-Gt<f&&re==""&&(re=u3),re==""&&(re="pan")),Zt(re),re==""&&l==1||re==u3){Zt("require-two-finger","notice");return}let rt=lt.touches[0];Tt=rt.clientX,Vt=rt.clientY,B=!0}if(Tt!==null&&Vt!==null){let rt=e.getRendererScreenPosition();if(rt){let{x:ht,y:xt}=e.viewerToWorld(Tt-rt.x,Vt-rt.y),U=_&&ee?_/ee:1,P=Qi(It(e.target),Dr(di(w.pointerStart.x-ht,w.pointerStart.y-xt),kl(1/U,ht,xt)),w.mousemoveBuffer);if(B){let W=R[R.length-1];W&&(W.x!==P[1]||W.y!==P[2])&&(w.hasMovedSincePress=!0),st(P[1],P[2])}lt.touches.length===2&&(M=It(P),z={x:ht,y:xt}),ut(P)}ee=_}re=="pan"&&lt.preventDefault()}function Ft(lt){if(w.isPressing){let Tt=e.getRendererScreenPosition();if(Tt){let{x:Vt,y:_}=e.viewerToWorld(lt.clientX-Tt.x,lt.clientY-Tt.y),B=Qi(It(e.target),di(w.pointerStart.x-Vt,w.pointerStart.y-_),w.mousemoveBuffer),rt=R[R.length-1];rt&&(rt.x!==B[1]||rt.y!==B[2])&&(w.hasMovedSincePress=!0),st(B[1],B[2]),ut(B)}}}function tn(lt){e.mode==="explore"&&e.world.zoomIn(lt.atlas)}function Jt(lt){if(m&&e.mode!=="explore")return;et();let Tt=1+(0,uj.default)(lt).spinY/n;e.world.zoomTo(Tt,lt.atlas,!0)}function ze(lt){return d&&lt.metaKey==0?(Zt("meta-required","notice"),lt.stopPropagation(),!1):!0}e.world.addEventListener("mouseup",Kt),e.world.addEventListener("touchend",te),e.world.addEventListener("touchcancel",ue),e.world.addEventListener("touchstart",Ce),e.world.addEventListener("mousedown",ft),window.addEventListener("touchend",Ht),window.addEventListener("mouseup",Ht),window.addEventListener("mousemove",Ft),h&&h.addEventListener("touchmove",fe),a&&(e.world.activatedEvents.push("onClick"),e.world.addEventListener("click",tn)),i&&(e.world.activatedEvents.push("onWheel"),d&&h?.addEventListener("wheel",ze,{passive:!0,capture:!0}),e.world.addEventListener("wheel",Jt));let oi=e.world.addLayoutSubscriber((lt,Tt)=>{if(lt==="zone-changed"&&(et(),e.transitionManager.hasPending()||e.transitionManager.constrainBounds()),lt==="zoom-to"&&Tt&&(et(),e.transitionManager.zoomTo(Tt.factor,{origin:Tt.point,stream:Tt.stream})),lt==="go-home"){et();let Vt=Tt.immediate?{duration:0}:void 0,_=Tt?.paddingPx,B=e.getHomeTarget({paddingPx:_});e.transitionManager.goToRegion(B,{transition:Vt})}if(lt==="goto-region"&&Tt){et();let Vt=Tt.immediate?{duration:0}:{};if(Tt.paddingPx!==void 0){let _=e.getHomeTarget({position:de.singleBox(Tt.width,Tt.height,Tt.x,Tt.y),paddingPx:Tt.paddingPx});e.transitionManager.goToRegion(_,{transition:Vt})}else e.transitionManager.goToRegion(Tt,{transition:Vt})}lt==="constrain-bounds"&&(et(),e.transitionManager.constrainBounds({panPadding:x,transition:Tt?.immediate?{duration:0}:void 0}))}),Un=e.registerHook("useFrame",lt=>{if(!E.active)return;let Tt=Math.exp(-lt/Math.max(1,C)),Vt=e.target[3]-e.target[1],_=e.target[4]-e.target[2],B=Qi(It(e.target),di(E.vx*lt,E.vy*lt),w.mousemoveBuffer),[,rt]=e.constrainBounds(B,{panPadding:x}),ht=B[1]!==rt[1],xt=B[2]!==rt[2],U=ht?E.vx:E.vx*Tt,P=xt?E.vy:E.vy*Tt,W=It(B);if(ht){let Pt=nt(e.target[1],E.vx,lt,rt[1]);W[1]=Pt.position,W[3]=Pt.position+Vt,U=Pt.velocity}else W[1]=e.target[1]+U*lt,W[3]=W[1]+Vt;if(xt){let Pt=nt(e.target[2],E.vy,lt,rt[2]);W[2]=Pt.position,W[4]=Pt.position+_,P=Pt.velocity}else W[2]=e.target[2]+P*lt,W[4]=W[2]+_;E.vx=U,E.vy=P;let[,J]=e.constrainBounds(W,{panPadding:x}),Lt=Math.hypot(W[1]-J[1],W[2]-J[2])*e.getScaleFactor(),Yt=Math.hypot(E.vx,E.vy)*e.getScaleFactor();if(Lt<=.5&&Yt<=.02){et(),ut(J);return}ut(W),e.updateNextFrame()});return()=>{et(),e.world.removeEventListener("mouseup",Kt),e.world.removeEventListener("touchend",te),e.world.removeEventListener("touchcancel",ue),e.world.removeEventListener("touchstart",Ce),e.world.removeEventListener("mousedown",ft),window.removeEventListener("touchend",Ht),window.removeEventListener("mouseup",Ht),window.removeEventListener("mousemove",Ft),h&&(h.removeEventListener("touchmove",fe),h.removeEventListener("wheel",ze,{passive:!0,capture:!0})),a&&e.world.removeEventListener("click",tn),i&&e.world.removeEventListener("wheel",Jt),Un(),oi()}},updatePosition(){}}),dj=C3(Z3(),1),fj={scrollWheelFactor:1,scrollLoadAheadFactor:1,clickDragThresholdPx:6,touchScrollMomentumStrength:1.4,touchScrollMomentumMinStartPxPerMs:.04},c3=.8,d3=.08,hj=1,KT=new WeakMap;function ZT(t){return{x:t.x,y:t.y,width:t.width,height:t.height}}function f3(t,e,n){return t.points[0]!==0&&e>=t.points[1]&&e<=t.points[3]&&n>=t.points[2]&&n<=t.points[4]}var W3=(t={})=>({start(e){let n=hj++;KT.set(e,n);let i=()=>KT.get(e)===n,{scrollWheelFactor:a,scrollLoadAheadFactor:r,clickDragThresholdPx:l,touchScrollMomentumStrength:u,touchScrollMomentumMinStartPxPerMs:f,enablePanMomentum:h=!0,panMomentumStrength:d=1,panTimeConstant:m=325}={...fj,...t},y=()=>{L||(L=!0,window.requestAnimationFrame(()=>{L=!1,i()&&e.updateNextFrame()}))},g=e.mode,b=e.manualHomePosition,T="scroll-mode",C=!1,x=!1,w=!1,R,E,M=!1,z,I=performance.now()+5e3,L=!1,H=0,q=0,st=0,et=0,gt=null,it=!1,nt=null,ut=!1,wt=!1,Y=0,yt,Mt=!0,qt=-1,Kt=-1,te=-1,ue=-1,ft=-1,Ht=[],ee={active:!1,vy:0},Gt=hR({...t,enableWheel:!0,enableClickToZoom:!1,wheelInExploreModeOnly:!0}),re=V=>{e.world.activatedEvents.indexOf(V)===-1&&e.world.activatedEvents.push(V)},Ce=V=>{T=V,e.mode=V==="zone-active"?"explore":"sketch"},Zt=()=>{Ht.length=0},fe=V=>{let pt=performance.now(),Ot=Ht[Ht.length-1];if(Ot&&Ot.y===V){Ot.t=pt;return}for(Ht.push({y:V,t:pt});Ht.length>1&&pt-Ht[0].t>140;)Ht.shift()},Ft=()=>{ee.active=!1,ee.vy=0},tn=()=>{if(Ht.length<2)return null;let V=Ht[Ht.length-1],pt=Ht[0];for(let $=Ht.length-2;$>=0&&(pt=Ht[$],!(V.t-pt.t>=80));$--);let Ot=V.y-pt.y,ne=V.t-pt.t;return ne<=0||Math.abs(Ot)<=.5?null:Ot/ne},Jt=({strengthMultiplier:V=1,minStartPxPerMs:pt=d3}={})=>{if(!h||Ht.length<2)return!1;let Ot=tn();if(Ot===null)return!1;let ne=Ot*Math.max(0,d)*Math.max(0,V);return Math.abs(ne)*e.getScaleFactor()<pt?!1:(ee.active=!0,ee.vy=ne,e.updateNextFrame(),!0)},ze=()=>{let V=T==="zone-active"?"explore":"sketch";e.mode!==V&&(e.mode=V)},oi=()=>{Mt=!0},Un=(V,pt)=>Math.abs(V.x-pt.x)>.01||Math.abs(V.y-pt.y)>.01||Math.abs(V.width-pt.width)>.01||Math.abs(V.height-pt.height)>.01,lt=()=>{let V,pt=0;for(let Ot of e.world.zones)Ot.recalculateBounds(),Ot.points[0]!==0&&(!V||Ot.points[2]<pt)&&(V=Ot,pt=Ot.points[2]);return V},Tt=()=>{let V=e.getRendererScreenPosition(),pt=Math.max(0,V?.height||0);if(pt===0)return;let Ot=Math.round(pt*.04999999999999999);return{top:Ot,bottom:Ot}},Vt=()=>{let V=lt();if(V)return V.points[2];let pt=!1,Ot=0;for(let ne of e.world.getObjects())!ne||ne.points[0]===0||(!pt||ne.points[2]<Ot)&&(Ot=ne.points[2],pt=!0);return pt?Ot:0},_=()=>{let V=e.getRendererScreenPosition(),pt=Math.round((V?.width||e.width||0)*100)/100,Ot=Math.round((V?.height||e.height||0)*100)/100,ne=V?.width&&V?.height?"renderer":"runtime",$=lt();if($)return["zone",$.id,$.points[1],$.points[2],$.points[3]-$.points[1],$.points[4]-$.points[2],`screen:${pt}x${Ot}:${ne}`].join(":");let mt=-1,vt=0,$t=e.world.getObjects();for(let Se=0;Se<$t.length;Se++){let en=$t[Se];!en||en.points[0]===0||(mt===-1||en.points[2]<vt)&&(mt=Se,vt=en.points[2])}if(mt!==-1){let Se=$t[mt];return["object",Se.id||mt,Se.points[1],Se.points[2],Se.points[3]-Se.points[1],Se.points[4]-Se.points[2],`screen:${pt}x${Ot}:${ne}`].join(":")}},B=()=>{if(!i()||M||T!=="scroll-mode"||C||wt||x||e.world.hasActiveZone())return;let V=_();if(!V){performance.now()<I&&e.updateNextFrame();return}V!==z&&(z=V,Y=Vt(),U(Y),y())},rt=()=>{let V=e.world.width,pt=e.world.height,Ot=e.getRendererScreenPosition(),ne=Math.max(1,Ot?.width||e.width),$=Math.max(1,Ot?.height||e.height),mt=e.world.zones.length;if(!Mt&&yt&&qt===V&&Kt===pt&&te===ne&&ue===$&&ft===mt)return yt;let vt=lt(),$t;if(vt){let Se=e.getHomeTarget({position:vt.points,paddingPx:Tt()});$t={x:Se.x,y:Se.y,width:Se.width,height:Se.height}}else $t=V>0&&pt>0?{x:0,y:0,width:V,height:V/ne*$}:void 0;return yt=$t,Mt=!1,qt=V,Kt=pt,te=ne,ue=$,ft=mt,yt},ht=V=>{let pt=rt();if(!pt)return;let Ot=e.world.height,ne=Math.max(1,r),$=pt.width*ne,mt=pt.height,vt=pt.height*ne,$t=Math.min(0,Ot-mt),Se=Math.max(0,Ot-mt);return{x:pt.x-($-pt.width)/2,y:Math.min(Se,Math.max($t,V)),width:$,height:vt}},xt=V=>{if(V.recalculateBounds(),V.points[0]!==0)return ht(V.points[2])},U=V=>{let pt=ht(V);if(!pt)return;Y=pt.y;let Ot=e.getViewport();!e.transitionManager.hasPending()&&!Un(Ot,pt)||(e.transitionManager.hasPending()&&e.transitionManager.stopTransition(),e.setViewport(pt),e.updateNextFrame())},P=V=>{let pt=ht(V);return pt?(Y=pt.y,e.transitionManager.goToRegion(pt),e.updateNextFrame(),!0):!1},W=()=>{if(T!=="scroll-mode"||C||x||e.world.hasActiveZone())return;let V=e.getViewport(),pt=ht(V.y);pt&&(Y=pt.y,Un(V,pt)&&(e.transitionManager.hasPending()&&e.transitionManager.stopTransition(),e.setViewport(pt),e.updateNextFrame()))},J=(V,pt)=>{for(let Ot of e.world.zones)if(Ot.recalculateBounds(),f3(Ot,V,pt))return Ot},Lt=V=>{i()&&(Ft(),Zt(),M=!0,E||(E=ZT({...e.getViewport(),y:Y})),w=!0,e.goToZone(V)?Ce("zone-active"):w=!1)},Yt=()=>{if(!i())return;let V=P(E?E.y:Y);E=void 0,x=V,V||(x=!1,C=!1,U(Y)),e.updateNextFrame()},Pt=()=>{if(!i()||T!=="zone-active")return!1;let V=e.world.getActiveZone();if(!V||(V.recalculateBounds(),V.points[0]===0))return!1;let pt=e.getViewport();if(pt.width<=0||pt.height<=0)return!1;let Ot=V.points[3]-V.points[1],ne=V.points[4]-V.points[2],$=Ot/pt.width,mt=ne/pt.height;return $<c3&&mt<c3},X=()=>{i()&&T==="zone-active"&&(Ft(),Zt(),Ce("scroll-mode"),C=!0,e.deselectZone(),Yt())},at=(V,pt)=>{Ft(),Zt(),M=!0,wt=!0,ut=!1,st=V,et=pt,H=pt,q=Y,fe(Y)},Ct=(V,pt)=>{if(!wt)return!1;Math.hypot(V-st,pt-et)>l&&(ut=!0);let Ot=(pt-H)/Math.max(1e-4,e.getScaleFactor());return U(q-Ot),fe(Y),!0},At=({allowMomentum:V=!0,momentumStrengthMultiplier:pt=1,momentumMinStartPxPerMs:Ot=d3}={})=>{let ne=wt,$=ut;return wt=!1,ut=!1,ne?(V&&T==="scroll-mode"&&!x?Jt({strengthMultiplier:pt,minStartPxPerMs:Ot}):Ft(),Zt(),{releasedDrag:!0,tapSuppressed:$}):(Zt(),{releasedDrag:!1,tapSuppressed:$})},Rt=()=>{wt=!1,ut=!1,Zt(),Ft()},Ut=()=>{gt=null,it=!1,nt=null,ut=!1},G=V=>{if(!i()||(ze(),ut||x))return;if(T==="scroll-mode"){let Ot=J(V.x,V.y);Ot&&Lt(Ot.id);return}let pt=e.world.getActiveZone();(!pt||!f3(pt,V.x,V.y))&&X()},Bt=V=>{i()&&V.atlas&&G(V.atlas)},he=V=>{if(!i())return;if(ze(),x){V.stopPropagation();return}if(T!=="scroll-mode")return;Ft(),M=!0,V.stopPropagation();let pt=((0,dj.default)(V).pixelY||V.deltaY||0)/Math.max(1e-4,e.getScaleFactor())*a;U(Y+pt)},qe=V=>{i()&&(ze(),!(T!=="scroll-mode"||x||!V.atlas)&&(V.stopPropagation(),at(typeof V.clientX=="number"?V.clientX:0,V.clientY)))},Le=V=>{i()&&(ze(),!(!wt||T!=="scroll-mode"||x||!V.atlas)&&(V.stopPropagation(),Ct(typeof V.clientX=="number"?V.clientX:0,V.clientY)))},je=()=>{i()&&At()},Cn=V=>{if(!i())return;if(ze(),T==="zone-active"){if(!V.atlasTouches||V.atlasTouches.length!==1||V.touches.length!==1){Ut();return}let ne=V.touches[0],$=V.atlasTouches[0];gt=$.id,it=!0,ut=!1,st=ne.clientX,et=ne.clientY,nt={x:$.x,y:$.y};return}if(T!=="scroll-mode"||x)return;if(V.preventDefault(),V.stopPropagation?.(),!V.atlasTouches||V.atlasTouches.length!==1||V.touches.length!==1){Ut(),Rt();return}let pt=V.touches[0],Ot=V.atlasTouches[0];gt=Ot.id,it=!0,nt={x:Ot.x,y:Ot.y},at(pt.clientX,pt.clientY)},Kn=V=>{if(!i())return;if(ze(),T==="zone-active"){if(!it)return;if(!V.atlasTouches||V.atlasTouches.length!==1||V.touches.length!==1){Ut();return}let ne=V.atlasTouches.find(mt=>mt.id===gt)||V.atlasTouches[0],$=Array.from(V.touches).find(mt=>mt.identifier===ne.id)||V.touches[0];nt={x:ne.x,y:ne.y},Math.hypot($.clientX-st,$.clientY-et)>l&&(ut=!0);return}if(T!=="scroll-mode"||x||!wt)return;if(V.preventDefault(),V.stopPropagation?.(),!V.atlasTouches||V.atlasTouches.length!==1||V.touches.length!==1){Ut(),Rt();return}let pt=V.atlasTouches.find(ne=>ne.id===gt)||V.atlasTouches[0],Ot=Array.from(V.touches).find(ne=>ne.identifier===pt.id)||V.touches[0];gt=pt.id,nt={x:pt.x,y:pt.y},Ct(Ot.clientX,Ot.clientY)},Oi=V=>{if(!i())return;if(ze(),T==="zone-active"){let ne=nt,$=it&&!ut&&V.touches.length===0;Ut(),ne&&$&&G(ne);return}if(T!=="scroll-mode")return;if(V.preventDefault(),V.stopPropagation?.(),V.touches.length>0){Ut(),Rt();return}let pt=nt,Ot=At({momentumStrengthMultiplier:u,momentumMinStartPxPerMs:f});Ut(),pt&&!Ot.tapSuppressed&&G(pt)},_i=V=>{if(i()){if(ze(),T==="zone-active"){Ut();return}T==="scroll-mode"&&(V.preventDefault(),V.stopPropagation?.(),Ut(),Rt())}},qi=()=>{if(i()){if(T==="zone-active"){Ut();return}At({momentumStrengthMultiplier:u,momentumMinStartPxPerMs:f}),Ut()}},Zr=V=>{i()&&V.key==="Escape"&&X()};re("onClick"),re("onWheel"),re("onMouseDown"),re("onMouseMove"),re("onMouseUp"),re("onTouchStart"),re("onTouchMove"),re("onTouchEnd"),re("onTouchCancel"),e.world.addEventListener("click",Bt),e.world.addEventListener("wheel",he),e.world.addEventListener("mousedown",qe),e.world.addEventListener("mousemove",Le),e.world.addEventListener("mouseup",je),e.world.addEventListener("touchstart",Cn),e.world.addEventListener("touchmove",Kn),e.world.addEventListener("touchend",Oi),e.world.addEventListener("touchcancel",_i),window.addEventListener("mouseup",je),window.addEventListener("touchend",qi),window.addEventListener("touchcancel",_i),window.addEventListener("keydown",Zr),e.manualHomePosition=!0,Ce("scroll-mode"),Y=Vt(),B();let oa=Gt.start(e),hl=e.registerHook("useFrame",V=>{if(!ee.active)return;if(!i()||T!=="scroll-mode"||C||x||wt||e.world.hasActiveZone()){Ft();return}let pt=Math.exp(-V/Math.max(1,m));if(ee.vy*=pt,Math.abs(ee.vy)*e.getScaleFactor()<=.02){Ft();return}let Ot=Y;if(U(Y+ee.vy*V),Math.abs(Y-Ot)<=.01){Ft();return}e.updateNextFrame()}),pl=e.registerHook("useAfterFrame",()=>{if(i()){if(ze(),W(),B(),x&&!e.transitionManager.hasPending()&&(x=!1,C=!1),R&&T==="zone-active"&&!e.transitionManager.hasPending()){let V=e.world.getActiveZone();if(V&&V.id===R){let pt=xt(V);pt&&(E=ZT(pt),Y=pt.y)}R=void 0}C||Pt()&&X()}}),ml=e.world.addLayoutSubscriber(V=>{if(i()){if((V==="recalculate-world-size"||V==="zone-changed")&&oi(),V==="goto-region"&&(C=!1),V==="recalculate-world-size"&&T==="scroll-mode"&&!C){let pt=E?E.y:Y;e.world.zones.length&&pt===0&&(Y=Vt()),U(Y),y()}if(V==="zone-changed"){if(e.world.hasActiveZone()){Ft(),Zt(),M=!0;let Ot=e.world.getActiveZone();!w&&Ot?R=Ot.id:E||(E=ZT({...e.getViewport(),y:Y})),w=!1,Ce("zone-active");return}let pt=T==="zone-active";if(R=void 0,Ce("scroll-mode"),x)return;pt?(C=!0,Yt()):C||U(Y)}}});return()=>{Ft(),Zt(),oa(),hl(),pl(),ml(),e.world.removeEventListener("click",Bt),e.world.removeEventListener("wheel",he),e.world.removeEventListener("mousedown",qe),e.world.removeEventListener("mousemove",Le),e.world.removeEventListener("mouseup",je),e.world.removeEventListener("touchstart",Cn),e.world.removeEventListener("touchmove",Kn),e.world.removeEventListener("touchend",Oi),e.world.removeEventListener("touchcancel",_i),window.removeEventListener("mouseup",je),window.removeEventListener("touchend",qi),window.removeEventListener("touchcancel",_i),window.removeEventListener("keydown",Zr),i()&&(KT.delete(e),e.manualHomePosition=b,e.mode=g)}},updatePosition(){}}),Gv=k.default.createContext(null);Gv.displayName="Atlas";var Yv=k.default.createContext(null);Yv.displayName="Bounds";var Ad=k.default.createContext("explore");Ad.displayName="Mode";var pj=()=>(0,k.useContext)(Ad);var mj=class{constructor(t){A(this,"runtime",void 0),A(this,"pendingTransition",void 0),A(this,"lastZoomTo",null),A(this,"isConstraining",!1),A(this,"lastGoToRegion",null),this.runtime=t,this.pendingTransition={from:It(5),to:It(5),elapsed_time:0,done:!0,total_time:0,timingFunction:jr.easeInOutQuad,constrain:!1}}hasPending(){return!this.pendingTransition.done}getPendingTransition(){return this.pendingTransition}getPendingFrom(){return this.pendingTransition.from}customTransition(t){t(this.pendingTransition)}stopTransition(){this.pendingTransition.from=It(this.runtime.target),this.pendingTransition.to=It(this.runtime.target),this.pendingTransition.done=!0,this.pendingTransition.elapsed_time=0,this.pendingTransition.total_time=0}runTransition(t,e){if(!this.pendingTransition.done){let n=this.pendingTransition,i=n.total_time===0?0:(n.elapsed_time+e)/n.total_time,a=n.total_time===0?1:i===0?0:n.timingFunction(i);t[1]=n.from[1]+(n.to[1]-n.from[1])*a,t[2]=n.from[2]+(n.to[2]-n.from[2])*a,t[3]=n.from[3]+(n.to[3]-n.from[3])*a,t[4]=n.from[4]+(n.to[4]-n.from[4])*a,this.pendingTransition.elapsed_time+=e,this.pendingTransition.elapsed_time>=this.pendingTransition.total_time&&(this.pendingTransition.done=!0,this.pendingTransition.callback?.(),this.pendingTransition.constrain&&this.constrainBounds({transition:{duration:this.pendingTransition.total_time===0?0:500,easing:jr.easeOutExpo}}))}}resumeTransition(){this.lastZoomTo&&this.zoomTo(this.lastZoomTo.factor,this.lastZoomTo.options),this.isConstraining&&this.constrainBounds(),this.lastGoToRegion&&this.goToRegion(this.lastGoToRegion.target,this.lastGoToRegion.options)}zoomTo(t,e={}){let{origin:n,stream:i=!1,transition:a}=e;this.lastZoomTo={factor:t,options:e};let r=this.runtime.getZoomedPosition(t,{origin:n}),l=Math.abs(1-t);this.applyTransition(r,a,{duration:2e3*l,easing:jr.easeOutExpo,constrain:!0,callback:()=>{this.lastZoomTo=null}},{stream:!1})}constrainBounds({transition:t,panPadding:e=0}={}){this.isConstraining=!0;let[n,i]=this.runtime.constrainBounds(this.runtime.target,{panPadding:e});if(n){this.applyTransition(i,t,{duration:500,easing:jr.easeOutQuart,constrain:!1,callback:()=>{this.isConstraining=!1}}),this.runtime.updateNextFrame();return}this.isConstraining=!1}constrainTarget(t,{origin:e,transition:n,panPadding:i=0}={}){this.isConstraining=!0;let[a,r]=this.runtime.constrainTarget(t,{origin:e,panPadding:i});if(a){this.applyTransition(r,n,{duration:500,easing:jr.easeOutQuart,constrain:!1,callback:()=>{this.isConstraining=!1}}),this.runtime.updateNextFrame();return}this.isConstraining=!1}applyTransition(t,e,n,{stream:i}={}){this.pendingTransition.from=It(this.runtime.target),this.pendingTransition.to=t,i||(this.pendingTransition.elapsed_time=0),this.pendingTransition.done=!1,this.pendingTransition.total_time=e?.duration===void 0?n?.duration===void 0?1e3:n.duration:e.duration,this.pendingTransition.constrain=e?.constrain===void 0?n?.constrain===void 0?!1:n.constrain:e.constrain,this.pendingTransition.timingFunction=e?.easing||n?.easing||jr.easeInOutSine}goToRegion(t,{transition:e}={}){this.lastGoToRegion={target:t,options:{transition:e}};let n=this.runtime.clampRegion(t);this.applyTransition(de.singleBox(n.width,n.height,n.x,n.y),e,{duration:1e3,easing:jr.easeOutExpo,constrain:!0,callback:()=>{this.lastGoToRegion=null}}),this.runtime.updateNextFrame()}};Number.MIN_VALUE+1;var Xv=class{get x(){return this.target[1]}set x(t){this.target[1]=t}get y(){return this.target[2]}set y(t){this.target[2]=t}get x2(){return this.target[3]}set x2(t){this.target[3]=t}get y2(){return this.target[4]}set y2(t){this.target[4]=t}get width(){return this.target[3]-this.target[1]}set width(t){this.target[3]=this.target[1]+t}get height(){return this.target[4]-this.target[2]}set height(t){this.target[4]=this.target[2]=t}constructor(t,e,n,i=[],a){A(this,"id",kv()),A(this,"ready",!1),A(this,"readyCycle",0),A(this,"readyReason","initial"),A(this,"readyTimestamp",void 0),A(this,"renderer",void 0),A(this,"world",void 0),A(this,"target",void 0),A(this,"homePosition",void 0),A(this,"manualHomePosition",void 0),A(this,"manualFocalPosition",void 0),A(this,"focalPosition",void 0),A(this,"homePaddingPx",void 0),A(this,"transitionManager",void 0),A(this,"aggregate",void 0),A(this,"transformBuffer",It(500)),A(this,"lastTarget",It(5)),A(this,"zoomBuffer",It(5)),A(this,"logNextRender",!1),A(this,"pendingUpdate",!0),A(this,"isCommitting",!1),A(this,"firstRender",!0),A(this,"lastTime",void 0),A(this,"stopId",void 0),A(this,"mode","explore"),A(this,"controllers",[]),A(this,"controllersRunning",!1),A(this,"controllerStopFunctions",[]),A(this,"maxScaleFactor",1),A(this,"_viewerToWorld",{x:0,y:0}),A(this,"_lastGoodScale",1),A(this,"debugFrame",0),A(this,"debugSubscribers",new Set),A(this,"hooks",{useFrame:[],useBeforeFrame:[],useAfterPaint:[],useAfterFrame:[]}),A(this,"fpsLimit",void 0),A(this,"options",void 0),A(this,"hookOptions",{filters:{grayscale:0,contrast:0,brightness:0,saturate:0,sepia:0,invert:0,hueRotate:0,blur:0}}),A(this,"_viewport",{x:0,y:0,width:0,height:0}),A(this,"setViewport",r=>{let l=Math.round(r.x===void 0?this.target[1]:r.x),u=Math.round(r.y===void 0?this.target[2]:r.y);r.width?this.target[3]=l+r.width:this.target[3]=this.target[3]-this.target[1]+l,r.height?this.target[4]=u+r.height:this.target[4]=this.target[4]-this.target[2]+u,Math.abs(this.target[1]-l)>.01&&(this.target[1]=l),Math.abs(this.target[2]-u)>.01&&(this.target[2]=u),this.pendingUpdate=!0}),A(this,"render",r=>{let l=r-this.lastTime;if(this.isCommitting||this.fpsLimit&&l<1e3/this.fpsLimit){this.stopId=window.requestAnimationFrame(this.render);return}this.lastTime=r,this.world.flushSubscriptions(),this.stopId=window.requestAnimationFrame(this.render),this.hook("useFrame",l);let u=this.pendingUpdate,f=this.renderer.pendingUpdate(),h=this.world.hasPendingAnimation(),d=this.hasDebugSubscribers();if(this.transitionManager.hasPending()&&(this.transitionManager.runTransition(this.target,l),this.pendingUpdate=!0,u=!0,this.updateControllerPosition()),h&&(this.pendingUpdate=!0,u=!0),!this.firstRender&&!u&&!f&&!h&&this.target[0]===this.lastTarget[0]&&this.target[1]===this.lastTarget[1]&&this.target[2]===this.lastTarget[2]&&this.target[3]===this.lastTarget[3]&&this.target[4]===this.lastTarget[4])return;let m=++this.debugFrame,y=0;d&&this.emitDebug({type:"frame-start",at:r,runtimeId:this.id,frame:m,delta:l,mode:this.mode,pendingUpdate:u,rendererPendingUpdate:f,target:[this.target[1],this.target[2],this.target[3],this.target[4]]}),this.hook("useBeforeFrame",l),this.renderer.beforeFrame(this.world,l,this.target,this.hookOptions);let g=this.getScaleFactor(),b=this.renderer.getPointsAt(this.world,this.target,this.aggregate,g),T=b.length;for(let w=0;w<T;w++){let R=b[w][0],E=b[w][1],M=b[w][2],z=M?Qi(E,M,this.transformBuffer):E;this.renderer.prepareLayer(R,R.__parent&&M?Qi(R.__parent.crop||R.__parent.points,M):z);let I=z.length/5;for(let L=0;L<I;L++){let H=L*5;if(z[H]!==0){if(this.renderer.paint(R,L,z[H+1],z[H+2],z[H+3]-z[H+1],z[H+4]-z[H+2]),y++,d){let q;if(R.getImageUrl)try{q=R.getImageUrl(L)}catch{q=void 0}this.emitDebug({type:"paint",at:r,runtimeId:this.id,frame:m,layerIndex:w,tileIndex:L,x:z[H+1],y:z[H+2],width:z[H+3]-z[H+1],height:z[H+4]-z[H+2],paintId:R.id||`${w}:${L}`,paintType:R?.constructor?.name||R.type||"UnknownPaint",ownerId:R.__owner?.value?.id,compositeId:R.__parent?.id,imageUrl:q})}this.hook("useAfterPaint",R)}}this.renderer.finishLayer(R,E)}this.renderer.afterFrame(this.world,l,this.target,this.hookOptions),this.pendingUpdate=!1,this.hook("useAfterFrame",l),this.lastTarget[0]=this.target[0],this.lastTarget[1]=this.target[1],this.lastTarget[2]=this.target[2],this.lastTarget[3]=this.target[3],this.lastTarget[4]=this.target[4],this.firstRender=!1,this.logNextRender=!1,!this.ready&&this.renderer.isReady()&&(this.ready=!0,this.readyTimestamp=performance.now(),this.world.trigger("ready")),d&&this.emitDebug({type:"frame-end",at:r,runtimeId:this.id,frame:m,delta:l,scaleFactor:g,paintCount:y,ready:this.ready,pendingUpdate:this.pendingUpdate,worldWidth:this.world.width,worldHeight:this.world.height,target:[this.target[1],this.target[2],this.target[3],this.target[4]]}),this.world.flushSubscriptions();let C=this.world.getScheduledUpdates(this.target,g),x=C.length;if(x>0)for(let w=0;w<x;w++){let R=C[x-w-1]();R?R.then(()=>{this.pendingUpdate=!0}):this.pendingUpdate=!0}}),this.renderer=t,this.world=e,this.options={maxOverZoom:1,maxUnderZoom:1,visibilityRatio:1,...a||{}},this.target=de.projection(n),this.manualHomePosition=!1,this.pendingUpdate=!0,this.homePosition=de.projection(this.world),this.manualFocalPosition=!1,this.focalPosition=this.target,this.updateFocalPosition(),this.transitionManager=new mj(this),this.aggregate=go(1),this.world.addLayoutSubscriber(r=>{(r==="repaint"||r==="zone-changed")&&(this.pendingUpdate=!0),r==="recalculate-world-size"&&(this.manualHomePosition||(this.setHomePosition(),this.goHome()),this.updateFocalPosition())}),this.lastTime=performance.now(),this.controllers=i,this.render(this.lastTime),this.startControllers(),this.homePaddingPx=void 0}setHomePosition(t){this.homePosition.set(de.projection(t||this.world)),this.pendingUpdate=!0}setHomePaddingPx(t){this.homePaddingPx=t,this.pendingUpdate=!0}getHomePaddingPx(){return this.homePaddingPx}startControllers(){if(!this.controllersRunning){for(let t of this.controllers)this.controllerStopFunctions.push(t.start(this));this.controllersRunning=!0}}stopControllers(){if(this.controllersRunning){for(let t of this.controllerStopFunctions)t();this.controllersRunning=!1,this.controllerStopFunctions=[]}}updateControllerPosition(){for(let t of this.controllers)t.updatePosition(this.x,this.y,this.width,this.height)}triggerResize(){this.renderer.triggerResize&&this.renderer.triggerResize(),this.pendingUpdate=!0}addController(t){this.controllers.push(t),this.controllersRunning&&t.start(this),this.pendingUpdate=!0}cover(){return this.goHome({cover:!0})}getRendererScreenPosition(){return this.renderer.getRendererScreenPosition()}updateRendererScreenPosition(){this.pendingUpdate=!0,this.renderer.resize()}setOptions(t){this.options={...this.options,...t}}normalizePadding(t){return typeof t=="number"?{left:t,right:t,top:t,bottom:t}:t?{left:t.left||0,right:t.right||0,top:t.top||0,bottom:t.bottom||0}:{left:0,right:0,top:0,bottom:0}}getHomeTarget(t={}){let e=this.getRendererScreenPosition(),n=e?.width||this.width,i=e?.height||this.height,a=t.paddingPx===void 0?this.homePaddingPx:t.paddingPx,r=this.normalizePadding(a),l=Math.max(1,n-r.left-r.right),u=Math.max(1,i-r.top-r.bottom),f=t.position?{x:t.position[1],y:t.position[2],width:t.position[3]-t.position[1],height:t.position[4]-t.position[2]}:{x:this.homePosition[1],y:this.homePosition[2],width:this.homePosition[3]-this.homePosition[1],height:this.homePosition[4]-this.homePosition[2]},h=l/u,d=f.width/f.height,m,y,g,b;(t.cover?d<h:d>h)?(m=f.width,y=f.width/h,g=f.x,b=f.y-(y-f.height)/2):(y=f.height,m=f.height*h,g=f.x-(m-f.width)/2,b=f.y);let T=m/l,C=r.left*T,x=r.right*T,w=r.top*T,R=r.bottom*T;return{x:g-C,y:b-w,width:m+C+x,height:y+w+R}}isViewportAtHome(t={}){let{cover:e=!1,tolerance:n=1,target:i=this.getViewport()}=t,a=this.getHomeTarget({cover:e});return Math.abs(i.x-a.x)<=n&&Math.abs(i.y-a.y)<=n&&Math.abs(i.width-a.width)<=n&&Math.abs(i.height-a.height)<=n}isViewportAtHomeZoomLevel(t={}){let{cover:e=!1,tolerance:n=.05,target:i=this.getViewport()}=t,a=this.getHomeTarget({cover:e}),r=this.renderer.getScale(i.width,i.height)||this._lastGoodScale,l=this.renderer.getScale(a.width,a.height)||this._lastGoodScale;return l===0?!1:Math.abs(r/l-1)<=n}goHome(t={}){if(this.world.width<=0||this.world.height<=0)return;let e=t.paddingPx===void 0?this.homePaddingPx:t.paddingPx,n=this.normalizePadding(e);if(n.left>0||n.right>0||n.top>0||n.bottom>0){let i=this.getHomeTarget(t);this.target[1]=Math.round(i.x),this.target[2]=Math.round(i.y),this.target[3]=Math.round(i.x+i.width),this.target[4]=Math.round(i.y+i.height)}else{let i=this.getScaleFactor(),a=t.position?{x:t.position[1],y:t.position[2],width:t.position[3]-t.position[1],height:t.position[4]-t.position[2]}:{x:this.homePosition[1],y:this.homePosition[2],width:this.homePosition[3]-this.homePosition[1],height:this.homePosition[4]-this.homePosition[2]},r=this.width*i,l=this.height*i,u=a.width/r,f=a.height/l,h=r/l;if(t.cover?u>f:u<f){let d=h*a.height,m=(d-a.width)/2;this.target[1]=Math.round(-m+a.x),this.target[2]=Math.round(a.y),this.target[3]=Math.round(d-m+a.x),this.target[4]=Math.round(a.height+a.y)}else{let d=a.width/h,m=(d-a.height)/2;this.target[1]=Math.round(a.x),this.target[2]=Math.round(a.y-m),this.target[3]=Math.round(a.x+a.width),this.target[4]=Math.round(a.y+d-m)}}this.constrainBounds(this.target),this.updateControllerPosition()}resize(t,e,n,i){this.transitionManager.hasPending()&&this.transitionManager.stopTransition(),this.updateFocalPosition(t-e,n-i);let a=e/t,r=i/n;this.target[3]=this.target[1]+(this.target[3]-this.target[1])*a,this.target[4]=this.target[2]+(this.target[4]-this.target[2])*r,this.goHome({position:this.focalPosition}),this.renderer.resize(e,i),this.pendingUpdate=!0,this.transitionManager.resumeTransition()}updateFocalPosition(t,e){if(!this.manualFocalPosition){let n=this.width,i=this.height,a=Math.min(n,i),r=this.x+0,l=this.y+0;if(n<i){let u=this.height-this.width;this.focalPosition=de.projection({x:r,y:l+u/2,width:a-0,height:a-0}),this.pendingUpdate=!0}else{let u=this.width-this.height;this.focalPosition=de.projection({x:r+u/2,y:l,width:a-0,height:a-0}),this.pendingUpdate=!0}}}getViewport(){return this._viewport.x=this.target[1],this._viewport.y=this.target[2],this._viewport.width=this.target[3]-this.target[1],this._viewport.height=this.target[4]-this.target[2],this._viewport}constrainBounds(t,{panPadding:e=0,ref:n=!1}={}){let{minX:i,maxX:a,minY:r,maxY:l}=this.getBounds({target:t,padding:e}),u=!1,f=n?t:It(t),h=Math.round(t[3]-t[1]),d=Math.round(t[4]-t[2]);return i>t[1]&&(u=!0,f[1]=i,f[3]=i+h),r>t[2]&&(u=!0,f[2]=r,f[4]=r+d),a<t[1]&&(u=!0,f[1]=a,f[3]=a+h),l<t[2]&&(u=!0,f[2]=l,f[4]=l+d),[u,f]}getBounds(t){let e=t.target||this.target,n=t.padding,i=this.options.visibilityRatio,a=Math.abs(1-i);if(this.world.hasActiveZone()){let C=this.world.getActiveZone();if(C){C.recalculateBounds();let x=z3(e,C.points,n);if(x)return x}}let r=e[3]-e[1],l=this.world.width,u=-r*a,f=l-r-u,h=e[4]-e[2],d=this.world.height,m=-h*a,y=d-h-m,g=Math.round(Math.max(u,f)),b=Math.round(Math.min(u,f)),T=Math.round(Math.max(m,y));return{minX:b,maxX:g,minY:Math.round(Math.min(m,y)),maxY:T}}getScaleFactor(t=!1){let e=this.renderer.getScale(this.target[3]-this.target[1],this.target[4]-this.target[2],t);return e===0?this._lastGoodScale:(this._lastGoodScale=e,e)}copyStrandValues(t,e){t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]}getZoomConstraintState(t){let e=t[3]-t[1],n=t[4]-t[2],i=this.renderer.getScale(e,n),a=i===0?this._lastGoodScale:i;i!==0&&(this._lastGoodScale=i);let r=e*a,l=n*a,u=this.world.width/r>this.world.height/l?r*this.options.maxUnderZoom/this.world.width:l*this.options.maxUnderZoom/this.world.height,f=this.getRendererScreenPosition()?.width,h=f?f/this.world.width:1;return{scaleFactor:a,minScale:u,maxScale:Math.max(h||1,this.options.maxOverZoom)}}constrainTarget(t,{origin:e,panPadding:n=0,ref:i=!1}={}){let a=!1,r=i?t:It(t),{scaleFactor:l,minScale:u,maxScale:f}=this.getZoomConstraintState(r),h=Math.max(u,Math.min(f,l));if(Math.abs(h-l)>1e-6){let m=e||{x:r[1]+(r[3]-r[1])/2,y:r[2]+(r[4]-r[2])/2},y=Qi(r,kl(l/h,m.x,m.y),this.zoomBuffer);this.copyStrandValues(r,y),a=!0}let[d]=this.constrainBounds(r,{ref:!0,panPadding:n});return[a||d,r]}getZoomedPosition(t,{origin:e,fromPos:n}){let i=n||this.target,{scaleFactor:a,minScale:r,maxScale:l}=this.getZoomConstraintState(i),u=1/t,f=a*u;u<1?f<r&&(t=a/r):f>l&&(t=a/l);let h=Qi(i,kl(t,e?e.x:i[1]+(i[3]-i[1])/2,e?e.y:i[2]+(i[4]-i[2])/2),this.zoomBuffer),d=this.world.hasActiveZone()?0:100;return this.constrainBounds(h,{ref:!0,panPadding:d}),h}clampRegion({x:t,y:e,width:n,height:i,padding:a=0}){let r=this.width,l=this.height,u=n/r<i/l,f=t-a,h=e-a,d=n+a*2,m=i+a*2;if(u){let g=m/l*r;return{x:f-(g-d)/2,y:h,width:g,height:m}}let y=d/r*l;return{x:f,y:h-(y-m)/2,width:d,height:y}}viewerToWorld(t,e){let n=this.getScaleFactor();return this._viewerToWorld.x=this.target[1]+t/n,this._viewerToWorld.y=this.target[2]+e/n,this._viewerToWorld}worldToViewer(t,e,n,i){let a=de.singleBox(n,i,t,e);return hr(a,Dr(go(this.getScaleFactor()),di(-this.target[1],-this.target[2]))),{x:a[1],y:a[2],width:a[3]-a[1],height:a[4]-a[2],strand:a}}setScale(t,e){hr(this.target,kl(t,e?e.x:this.target[1]+(this.target[3]-this.target[1])/2,e?e.y:this.target[2]+(this.target[4]-this.target[2])/2)),this.pendingUpdate=!0}syncTo(t){let e=this.target;return this.target=t.target,this.pendingUpdate=!0,()=>{this.target=e}}stop(){return this.stopId!==void 0&&(window.cancelAnimationFrame(this.stopId),this.stopId=void 0),()=>{this.render(performance.now())}}reset(){this.renderer.reset(),this.resetReadyState("runtime-reset")}resetReadyState(t="manual"){this.ready=!1,this.readyCycle+=1,this.readyReason=t,this.readyTimestamp=void 0,this.renderer.resetReadyState&&this.renderer.resetReadyState(),this.pendingUpdate=!0}getReadyState(){return{ready:this.ready,cycle:this.readyCycle,reason:this.readyReason,timestamp:this.readyTimestamp}}selectZone(t){this.world.selectZone(t),this.pendingUpdate=!0}goToZone(t,e={}){let n=this.world.getZoneById(t);if(!n||(n.recalculateBounds(),n.points[0]===0))return!1;this.world.selectZone(t);let i=this.getHomeTarget({position:n.points,paddingPx:e.paddingPx});return e.immediate?(this.transitionManager.stopTransition(),this.setViewport(i),this.constrainBounds(this.target,{ref:!0}),this.updateControllerPosition(),this.pendingUpdate=!0,!0):(this.transitionManager.applyTransition(de.singleBox(i.width,i.height,i.x,i.y),void 0,{duration:1e3,easing:jr.easeOutExpo,constrain:!1}),this.updateNextFrame(),this.pendingUpdate=!0,!0)}deselectZone(){this.world.deselectZone(),this.pendingUpdate=!0}getZoneRuntimeState(t,e=this.getViewport()){let n=this.world.getZoneById(t);if(!n)return{zoneId:t,exists:!1,active:!1,visibleInViewport:!1};n.recalculateBounds();let i=this.world.getActiveZone()?.id===t;if(n.points[0]===0)return{zoneId:t,exists:!0,active:i,visibleInViewport:!1};let a=n.points[1],r=n.points[2],l=n.points[3]-n.points[1],u=n.points[4]-n.points[2];return{zoneId:t,exists:!0,active:i,visibleInViewport:a<e.x+e.width&&a+l>e.x&&r<e.y+e.height&&r+u>e.y}}hook(t,e){let n=this.hooks[t].length;if(n!==0)for(let i=0;i<n;i++)this.hooks[t][i](e)}registerHook(t,e){return this.hooks[t].push(e),()=>{this.hooks[t]=this.hooks[t].filter(n=>n!==e)}}updateNextFrame(){this.pendingUpdate=!0}addDebugSubscriber(t){return this.debugSubscribers.add(t),()=>{this.removeDebugSubscriber(t)}}removeDebugSubscriber(t){this.debugSubscribers.delete(t)}hasDebugSubscribers(){return this.debugSubscribers.size>0}emitDebug(t){if(this.debugSubscribers.size!==0)for(let e of this.debugSubscribers)e(t)}},WT={margin:0},gj=class{constructor(t,e={}){A(this,"id",void 0),A(this,"config",void 0),A(this,"points",void 0),A(this,"objects",void 0),Array.isArray(t)?(this.id=t.map(n=>n.id).join("$$"),this.config={...WT,...e},this.objects=[...t]):(this.id=t.id,this.config={...WT,margin:typeof t.margin=="number"?t.margin:WT.margin,x:t.x,y:t.y,width:t.width,height:t.height},this.objects=[...t.objects||[]]),this.points=It(5),this.recalculateBounds()}applyProps(t){t.id!==void 0&&(this.id=t.id),this.config={...this.config,...t},this.recalculateBounds()}addObject(t){this.objects.indexOf(t)===-1&&(this.objects.push(t),this.recalculateBounds())}removeObject(t){this.objects=this.objects.filter(e=>e!==t),this.recalculateBounds()}recalculateBounds(){if(!(Number.isFinite(this.config.x)&&Number.isFinite(this.config.y)&&Number.isFinite(this.config.width)&&Number.isFinite(this.config.height)&&this.config.width>0&&this.config.height>0)){this.points.set([0,0,0,0,0]);return}let t=this.config.margin,e=this.config.x,n=this.config.y,i=this.config.width,a=this.config.height;this.points.set([1,e-t,n-t,e+i+t,n+a+t])}getPointsAt(t,e,n){return[]}},Hv;if(typeof performance=="object"&&typeof performance.now=="function"){let t=performance;Hv=()=>t.now()}else{let t=Date,e=t.now();Hv=()=>t.now()-e}var h3=typeof Xh.default=="function"?Xh.default:typeof Xh.default?.default=="function"?Xh.default.default:null,Gr=class{constructor(t){A(this,"world",void 0),A(this,"zone",void 0),A(this,"isRegistered",!1),A(this,"directWorldObjects",[]),this.world=t,this.zone=new gj({id:""})}applyProps(t){this.zone.applyProps({id:t.id,x:t.x,y:t.y,width:t.width,height:t.height,margin:t.margin})}appendChild(t){t instanceof Ho&&(this.registerDirectWorldObject(t),this.world.appendChild(t))}removeChild(t){t instanceof Ho&&(this.unregisterDirectWorldObject(t),this.world.removeChild(t))}insertBefore(t,e){if(t instanceof Ho){if(this.registerDirectWorldObject(t),e instanceof Ho){this.world.insertBefore(t,e);return}this.world.appendChild(t)}}hideInstance(){}attachToWorld(t){this.isRegistered&&this.world!==t&&(this.world.removeZone(this.zone),this.isRegistered=!1),this.world=t,this.isRegistered||(this.world.addZone(this.zone),this.isRegistered=!0)}unmount(){this.directWorldObjects=[],this.isRegistered&&(this.world.removeZone(this.zone),this.isRegistered=!1)}registerDirectWorldObject(t){this.directWorldObjects.indexOf(t)===-1&&this.directWorldObjects.push(t),this.zone.addObject(t)}unregisterDirectWorldObject(t){this.directWorldObjects=this.directWorldObjects.filter(e=>e!==t),this.zone.removeObject(t)}};function p3(t,e){if(t instanceof mu&&e instanceof Gr){e.attachToWorld(t);return}if(t instanceof Gr){t.appendChild(e);return}t&&t.appendChild&&e&&t.appendChild(e)}function J3(t,e){if(t instanceof mu&&e instanceof Gr){e.unmount();return}if(t instanceof Gr){t.removeChild(e);return}t&&t.removeChild&&e&&t.removeChild(e)}function yj(t,e){if(e instanceof Gr){e.unmount();return}return J3(t.world,e)}function vj(t,e,n){if(e instanceof Gr){e.attachToWorld(t.world);return}return $3(t.world,e,n)}function $3(t,e,n){if(t&&t instanceof Xv&&(t=t.world),!(t instanceof mu&&e instanceof Gr)){if(t instanceof Gr){t.insertBefore(e,n);return}t&&t.insertBefore&&t.insertBefore(e,n)}}function tD(t,e,n){if(n&&(t.applyProps&&t.applyProps(n),t instanceof Yr))for(let i of Uv){let a=i.slice(2).toLowerCase();n[i]!==e[i]&&(e[i]&&t.removeEventListener(a,e[i]),t.addEventListener(a,n[i]))}}function eD(t,e){let n=Object.keys(e),i=!1;for(let a of n)if(Uv.indexOf(a)!==-1){let r=Cd[a];if(r){if(t.activatedEvents.indexOf(r)!==-1)continue;i=!0,t.activatedEvents.push(r)}}i&&t.triggerEventActivation()}var Fv=new Map,m3={};function bj(t,{args:e=[],...n},i,a,r){if(!(i instanceof Xv)&&r){let f=h=>h.return?f(h.return):h.stateNode&&h.stateNode.containerInfo;i=f(r)}let l,u=i.world;switch(t){case"world":l=mu.withProps({width:n.width,height:n.height,viewingDirection:"left-to-right"}),l.activatedEvents=u.activatedEvents,l.eventHandlers=u.eventHandlers,l.subscriptions=u.subscriptions,l.triggerEventActivation(),u=l;break;case"box":l=new Ed;break;case"shape":l=new dR;break;case"worldObject":case"world-object":l=new Ho;break;case"zone":l=new Gr(u);break;case"worldImage":case"world-image":l=new yi;break;case"texture":l=new Dv;break;case"compositeImage":case"composite-image":l=new fR({id:n.id,width:n.width,height:n.height,images:[],renderOptions:n.renderOptions});break;case"tiledImage":case"tiled-image":l=Ei.fromTile(n.uri,n.display,n.tile,n.scaleFactor,void 0,n.format,n.useFloorCalc,n.version3);break;case"mapTiledImage":case"map-tiled-image":l=new Q8({id:n.id,bounds:n.bounds,worldWidth:n.worldWidth,worldHeight:n.worldHeight,zoom:n.zoom,tileSize:n.tileSize,scaleFactor:n.scaleFactor,tileSource:n.tileSource,tileUrlTemplate:n.tileUrlTemplate,subdomains:n.subdomains});break;case"paragraph":l=new Qh,l.text=n.children;break;default:return}return eD(u,n),tD(l,{},n),l}function Sj(t,e){if(e instanceof mu)t.world=e;else if(e instanceof Gr)e.attachToWorld(t.world);else if(e instanceof Ho)t.world.appendChild(e);else if(e)throw Error("Invalid root")}var Mv=0,Zs=h3?h3({unstable_now:Hv,now:Hv,createInstance:bj,removeChild:J3,appendChild:p3,appendInitialChild:p3,insertBefore:$3,warnsIfNotActing:!0,supportsMutation:!0,isPrimaryRenderer:!1,scheduleTimeout:typeof setTimeout<"u"?setTimeout:void 0,cancelTimeout:typeof clearTimeout<"u"?clearTimeout:void 0,setTimeout:typeof setTimeout<"u"?setTimeout:void 0,clearTimeout:typeof clearTimeout<"u"?clearTimeout:void 0,noTimeout:-1,appendChildToContainer:Sj,removeChildFromContainer:yj,createTextInstance(){},insertInContainerBefore:vj,prepareUpdate(t,e,n,i,a){return eD(a.world,i),i},commitUpdate(t,e,n,i,a){let r=i,l=n;typeof r=="string"&&(r=n),t.applyProps&&r&&tD(t,l,r)},finalizeInitialChildren(t){return t?.__handlers},getChildHostContext(){return m3},getRootHostContext(){return m3},prepareForCommit(t){return t.isCommitting=!0,null},preparePortalMount(){},hideInstance(t){t&&t.points&&(t.points[0]=0)},unhideInstance(t,e){t&&t.points&&(t.points[0]=1)},getPublicInstance(t){return t},hideTextInstance(){throw Error("Text is not allowed in the react-three-fibre tree. You may have extraneous whitespace between components.")},resetAfterCommit(t){t.isCommitting=!1,t.pendingUpdate=!0,t.world&&t.world.needsRecalculate&&(t.world.recalculateWorldSize(),t.world.triggerRepaint())},shouldSetTextContent(){return!1},clearContainer(){return!1},supportsHydration:!1,supportsPersistence:!1,detachDeletedInstance(t){},afterActiveInstanceBlur(){},beforeActiveInstanceBlur(){},getCurrentEventPriority(){return 32},getInstanceFromNode(t){throw Error("Not implemented")},getInstanceFromScope(t){throw Error("Not implemented")},prepareScopeUpdate(t,e){throw Error("Not implemented")},logRecoverableError(){},requestPostPaintCallback(){},rendererPackageName:"@atlas-viewer/atlas",rendererVersion:k.version,shouldAttemptEagerTransition:()=>!1,trackSchedulerEvent:()=>{},resolveEventType:()=>null,resolveEventTimeStamp:()=>-1.1,maySuspendCommit:()=>!1,preloadInstance:()=>!0,startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady:()=>null,NotPendingTransition:null,setCurrentUpdatePriority(t){Mv=t},getCurrentUpdatePriority(){return Mv},resolveUpdatePriority(){if(Mv!==0)return Mv;switch(typeof window<"u"&&window.event?.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return 2;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return 8;default:return 32}},resetFormInstance(){}}):null;Zs&&Zs.injectIntoDevTools();function pR(t,e){let n=Fv.get(t);if(n){if(!Zs)return;Zs.updateContainer(null,n,null,()=>{Fv.delete(t),e&&e(t)})}}var g3={render(t,e){let n=Fv.get(e);if(Zs)if(n)Zs.updateContainer(t,n,null);else{let i=Zs.createContainer(e,0,null,!1,null,"",()=>{},null);Zs.updateContainer(t,i,null),Fv.set(e,i)}},unmountComponentAtNode(t,e){pR(t,e)}},Jh=typeof window<"u"&&(window.document?.createElement||window.navigator?.product==="ReactNative")?Vv.useLayoutEffect:Vv.useEffect,xj=k.default.memo(({children:t,setIsReady:e,onCreated:n,bounds:i,preset:a,mode:r="explore",interactionMode:l="popmotion"})=>{let u=(0,k.useRef)(new WeakSet);return(0,k.useEffect)(()=>{if(!a||u.current.has(a))return;u.current.add(a),l!=="pdf-scroll-zone"&&a.runtime.goHome();let f=!1;return Promise.resolve(n?.(a)).then(()=>{f||e(!0)}),()=>{f=!0}},[l,n,a,e]),Jh(()=>{if(a){let f=a.runtime;r!==f.mode&&(f.mode=r),g3.render((0,Z.jsx)(k.default.StrictMode,{children:(0,Z.jsx)(Yv.Provider,{value:i,children:(0,Z.jsx)(Ad.Provider,{value:r,children:(0,Z.jsx)(Gv.Provider,{value:a,children:t})})})}),f)}},[a,r,i,t]),Jh(()=>{if(a){let f=a.runtime;return()=>{g3.unmountComponentAtNode(f)}}return()=>{}},[a]),null}),Kh=k.default.forwardRef((t,e)=>(0,Z.jsx)("div",{...t,ref:e,part:t.className})),Qv=()=>(0,k.useContext)(Gv),ip=()=>{let t=Qv();return t?t.runtime:void 0},aR=new Set,Fo=new Map,tp=new Map,ep=[],Nv,kr,nD={activeCandidateId:void 0,selectedRuntimeId:void 0,candidates:[],runtimes:[]};function iD(){let t=Array.from(Fo.entries()).map(([e,n],i)=>({id:e,runtime:n.runtime,preset:n.preset,label:`Atlas ${i+1} (${e.slice(0,6)})`}));nD={activeCandidateId:Nv,selectedRuntimeId:kr,candidates:[...ep],runtimes:t}}function pu(){iD();for(let t of aR)t()}function ap(){if(kr&&Fo.has(kr))return;let t=Fo.keys().next();kr=t.done?void 0:t.value}function aD(){Nv&&tp.has(Nv)||(Nv=ep[0])}function wj(t){return aR.add(t),()=>{aR.delete(t)}}function y3(){return nD}function Tj(t){let e=t.runtime.id;return Fo.set(e,{runtime:t.runtime,preset:t}),ap(),pu(),()=>{Rj(e)}}function Rj(t){Fo.delete(t),ap(),pu()}function Ej(t){return tp.get(t.id)||ep.push(t.id),tp.set(t.id,t),aD(),!kr&&t.runtimeId&&Fo.has(t.runtimeId)&&(kr=t.runtimeId),ap(),pu(),()=>{Aj(t.id)}}function Cj(t,e){let n=tp.get(t);n&&(n.runtimeId=e,!kr&&e&&Fo.has(e)&&(kr=e),ap(),pu())}function Aj(t){tp.delete(t);let e=ep.indexOf(t);e!==-1&&ep.splice(e,1),aD(),pu()}function v3(t){if(!t){kr=void 0,ap(),pu();return}Fo.has(t)&&(kr=t,pu())}function Mj(t){if(t)return Fo.get(t)}iD();function rD(t,e=[]){if(!t)return e;if(Array.isArray(t.renderers)){for(let n of t.renderers)rD(n,e);return e}return e.push(t),e}function rR(t,e,n,i){if(t){if(t instanceof Ho){if(Array.isArray(t.layers))for(let a of t.layers)rR(a,e,t.id,i);return}if(t instanceof fR){let a=t.id,r=new Set([...t.allImages,...t.images]);for(let l of r)rR(l,e,n,a);return}if(t instanceof yi||t instanceof Ei){let a={id:t.id,type:t.constructor.name,ownerId:n,compositeId:i,anomalies:[]};t.__host?.canvas&&(a.canvas={loading:!!t.__host.canvas.loading,indices:t.__host.canvas.indices?.length||0,loaded:t.__host.canvas.loaded?.length||0},a.canvas.loading&&a.canvas.indices===0&&a.anomalies.push("Canvas host marked loading with empty queue."),a.canvas.loaded>a.canvas.indices&&a.canvas.indices>0&&a.anomalies.push("Canvas loaded count exceeds scheduled indices.")),t.__host?.webgl&&(a.webgl={loading:t.__host.webgl.loading?.length||0,loaded:t.__host.webgl.loaded?.length||0,textures:t.__host.webgl.textures?.filter(Boolean)?.length||0},a.webgl.loading>0&&a.webgl.textures===0&&a.webgl.loaded===0&&a.anomalies.push("WebGL has pending loads but no loaded textures.")),e.push(a)}}}function Oj(t){let e=[],n=t.getObjects();for(let i of n)i&&rR(i,e,i.id,void 0);return e}function _j(t){let e=rD(t.renderer);return{rendererTypes:e.map(n=>n?.constructor?.name||"UnknownRenderer"),canvas:e.filter(n=>n?.loadingQueue!==void 0).map(n=>({type:n?.constructor?.name||"CanvasRenderer",loadingQueue:n.loadingQueue?.length||0,imagesPending:n.imagesPending||0,imagesLoaded:n.imagesLoaded||0,tasksRunning:n.tasksRunning||0,firstMeaningfulPaint:!!n.firstMeaningfulPaint})),webgl:e.filter(n=>n?.gl!==void 0).map(n=>({type:n?.constructor?.name||"WebGLRenderer"}))}}function zj(t,e=30){let n=new Map;for(let i of t){if(i.type!=="paint"||!i.compositeId)continue;n.has(i.frame)||n.set(i.frame,new Map);let a=n.get(i.frame);a.has(i.compositeId)||a.set(i.compositeId,[]),a.get(i.compositeId).push({paintId:i.paintId,paintType:i.paintType,tileIndex:i.tileIndex,imageUrl:i.imageUrl})}return Array.from(n.entries()).sort((i,a)=>a[0]-i[0]).slice(0,e).map(([i,a])=>({frame:i,composites:Array.from(a.entries()).map(([r,l])=>({compositeId:r,layers:l}))}))}function oD(t,e=[]){if(!t)return e;if(Array.isArray(t.renderers)){for(let n of t.renderers)oD(n,e);return e}return e.push(t),e}function oR(t,e){if(t){if(t instanceof yi||t instanceof Ei){e.push(t);return}if(t instanceof fR){let n=new Set([...t.allImages,...t.images]);for(let i of n)oR(i,e);return}if(t instanceof Ho&&Array.isArray(t.layers))for(let n of t.layers)oR(n,e)}}function Ij(t){let e=[],n=t.getObjects();for(let i of n)i&&oR(i,e);return e}function Nj(t){let e=Ij(t.world),n=0;for(let r of e)n++,r.__host||(r.__host={}),r.__host.canvas={canvas:void 0,canvases:[],tiles:{},indices:[],loaded:[],loading:!1},r.__host.webgl&&(r.__host.webgl.loading=[],r.__host.webgl.loaded=[],Array.isArray(r.__host.webgl.textures)&&(r.__host.webgl.textures=[...Array(r.points.length/5)]));let i=oD(t.renderer),a=0;for(let r of i)a++,Array.isArray(r.loadingQueue)&&(r.loadingQueue=[]),Array.isArray(r.tileRequestQueue)&&(r.tileRequestQueue=[]),Array.isArray(r.drawCalls)&&(r.drawCalls=[]),Array.isArray(r.invalidated)&&(r.invalidated=[]),Array.isArray(r.imageIdsLoaded)&&(r.imageIdsLoaded=[]),r.hostCache?.clear&&r.hostCache.clear(),typeof r.tasksRunning=="number"&&(r.tasksRunning=0),typeof r.imagesPending=="number"&&(r.imagesPending=0),typeof r.imagesLoaded=="number"&&(r.imagesLoaded=0),typeof r.pendingDrawCall=="boolean"&&(r.pendingDrawCall=!1),typeof r.loadingQueueOrdered=="boolean"&&(r.loadingQueueOrdered=!0),r.requiredTileKeys?.clear&&r.requiredTileKeys.clear(),r.requiredPrefetchTileKeys?.clear&&r.requiredPrefetchTileKeys.clear(),r.queuedTileRequestKeys?.clear&&r.queuedTileRequestKeys.clear(),r.imageRequestPool?.cancelAll&&r.imageRequestPool.cancelAll({silent:!0}),r.inFlightImageLoads?.clear&&r.inFlightImageLoads.clear(),typeof r.reset=="function"&&r.reset();return t.updateNextFrame(),{imageHostsReset:n,renderersReset:a}}async function sD(t,e,n){if(k.version.startsWith("18.")||k.version.startsWith("19.")){let i=await Promise.resolve().then(()=>N(KL(),1)),a=i.default?i.default.createRoot:i.createRoot;n.current||(n.current=a(t)),n.current.render(e)}else if(typeof ReactDOM<"u"){let{render:i,unmountComponentAtNode:a}=ReactDOM;i(e,t),n.current={unmount(){a(t)}}}else{let i=await Promise.resolve().then(()=>N(Xl(),1)),a=i.default?i.default.render:i.render,r=i.default?i.default.unmountComponentAtNode:i.unmountComponentAtNode;a(e,t),n.current={unmount(){r(t)}}}}var Lj=["Overview","World","Inspector","Events","Images","Actions"],Dj=0,Pj=t=>{let e=ip(),n=t.runtimeId||e?.id,i=(0,k.useRef)(null),a=(0,k.useRef)(null);return(0,k.useEffect)(()=>{if(typeof document>"u")return;let r=document.createElement("div");return r.dataset.atlasDevtools="true",document.body.appendChild(r),i.current=r,()=>{a.current?.unmount&&a.current.unmount(),r.remove(),i.current=null}},[]),(0,k.useEffect)(()=>{let r=i.current;r&&sD(r,(0,Z.jsx)(Fj,{...t,runtimeId:n}),a)}),null};function b3(t,e,n){t.push(e),t.length>n&&t.splice(0,t.length-n)}function JT(t){if(!(!t||t.length<5))return{x1:Number(t[1].toFixed?t[1].toFixed(2):t[1]),y1:Number(t[2].toFixed?t[2].toFixed(2):t[2]),x2:Number(t[3].toFixed?t[3].toFixed(2):t[3]),y2:Number(t[4].toFixed?t[4].toFixed(2):t[4])}}function lD(t){return t?.constructor?.name||t?.type||"Unknown"}function Bj(t){let e=[],n=new Set,i=(r,l,u)=>{if(!r||n.has(r))return;n.add(r);let f=r.id?` #${r.id}`:"";if(e.push({key:u,depth:l,label:`${lD(r)}${f}`,ref:r}),Array.isArray(r.layers))for(let h=0;h<r.layers.length;h++)i(r.layers[h],l+1,`${u}.layers.${h}`);if(Array.isArray(r.images)||Array.isArray(r.allImages)){let h=new Set([...r.allImages||[],...r.images||[]]),d=0;for(let m of h)i(m,l+1,`${u}.images.${d}`),d++}};i(t.world,0,"world");let a=t.world.getObjects();for(let r=0;r<a.length;r++){let l=a[r];l&&i(l,1,`world.objects.${r}`)}return e}function Hj(t){return t?.__host?t.__host.canvas?`Canvas host loading=${!!t.__host.canvas.loading} indices=${t.__host.canvas.indices?.length||0} loaded=${t.__host.canvas.loaded?.length||0}`:t.__host.webgl?`WebGL host loading=${t.__host.webgl.loading?.length||0} loaded=${t.__host.webgl.loaded?.length||0}`:"Host attached":"No host"}var Fj=({initialOpen:t=!1,bottom:e=16,right:n=16,zIndex:i=1e3,maxEvents:a=500,maxRuntimeEvents:r=1e3,runtimeId:l,className:u,style:f})=>{let h=(0,k.useRef)(`devtools-${++Dj}`),[d,m]=(0,k.useState)(t),[y,g]=(0,k.useState)("Overview"),[b,T]=(0,k.useState)(!1),[C,x]=(0,k.useState)(!1),[w,R]=(0,k.useState)(null),[E,M]=(0,k.useState)("explore"),[z,I]=(0,k.useState)(""),[L,H]=(0,k.useState)(!1),[q,st]=(0,k.useState)(""),[et,gt]=(0,k.useState)("all"),[,it]=(0,k.useState)(0),nt=(0,k.useRef)([]),ut=(0,k.useRef)([]),wt=(0,k.useRef)(null),Y=(0,k.useRef)(!1),yt=()=>{Y.current||(Y.current=!0,requestAnimationFrame(()=>{Y.current=!1,it(_=>_+1)}))},Mt=l;(0,k.useEffect)(()=>Ej({id:h.current,runtimeId:Mt}),[]),(0,k.useEffect)(()=>{Cj(h.current,Mt)},[Mt]);let qt=(0,k.useSyncExternalStore)(wj,y3,y3),Kt=qt.activeCandidateId===h.current,te=qt.selectedRuntimeId||Mt||qt.runtimes[0]?.id,ue=Mj(te),ft=ue?.runtime,Ht=ue?.preset;if((0,k.useEffect)(()=>{te&&te!==qt.selectedRuntimeId&&v3(te)},[te,qt.selectedRuntimeId]),(0,k.useEffect)(()=>{ft&&M(ft.mode)},[ft?.id]),(0,k.useEffect)(()=>{if(!Kt||!d||!ft)return;let _=ft.addDebugSubscriber(rt=>{b||(b3(nt.current,rt,r),yt())}),B=ft.world.addDebugSubscriber(rt=>{b||(b3(ut.current,rt,a),yt())});return()=>{_(),B()}},[Kt,d,ft?.id,b,a,r]),(0,k.useEffect)(()=>{if(!Kt||!d)return;let _=setInterval(()=>{it(B=>B+1)},250);return()=>{clearInterval(_)}},[Kt,d]),(0,k.useEffect)(()=>{if(!C||!ft||!Ht?.em?.element)return;let _=Ht.em.element,B=rt=>{let ht=_.getBoundingClientRect(),{x:xt,y:U}=ft.viewerToWorld(rt.clientX-ht.left,rt.clientY-ht.top),P=de.singleBox(1,1,xt,U),W=ft.world.getObjectsAt(P,!0),J=W[W.length-1];if(J){let Lt=J[1];R(Lt.length?Lt[Lt.length-1]:J[0])}g("Inspector"),x(!1),yt(),rt.preventDefault(),rt.stopPropagation()};return _.addEventListener("pointerdown",B,!0),()=>{_.removeEventListener("pointerdown",B,!0)}},[C,ft?.id,Ht?.em?.element]),(0,k.useEffect)(()=>()=>{let _=wt.current;_&&(wt.current=null,_())},[]),typeof window>"u"||typeof document>"u"||!Kt)return null;let ee=ft?Bj(ft):[],Gt=w||ee[0]?.ref,re=ft?_j(ft):{rendererTypes:[],canvas:[],webgl:[]},Ce=ft?Oj(ft.world):[],Zt=zj(nt.current,15),fe=ut.current.filter(_=>et==="all"||_.type===et),Ft=(()=>{if(!ft)return{width:220,height:220,rects:[],viewport:null};let _=ft.world.getPoints(),B=Math.max(1,ft.world.width),rt=Math.max(1,ft.world.height),ht=220/B,xt=220/rt,U=[],P=Math.min(_.length/5,300);for(let W=0;W<P;W++){let J=W*5;_[J]!==0&&U.push({x:_[J+1]*ht,y:_[J+2]*xt,width:Math.max(1,(_[J+3]-_[J+1])*ht),height:Math.max(1,(_[J+4]-_[J+2])*xt)})}return{width:220,height:220,rects:U,viewport:{x:ft.target[1]*ht,y:ft.target[2]*xt,width:Math.max(1,(ft.target[3]-ft.target[1])*ht),height:Math.max(1,(ft.target[4]-ft.target[2])*xt)}}})(),tn={position:"fixed",right:n,bottom:e,zIndex:i,color:"#eef1ff",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",pointerEvents:"auto",...f||{}},Jt={background:"#111827",color:"#f9fafb",border:"1px solid #374151",borderRadius:999,fontSize:12,padding:"8px 12px",cursor:"pointer",boxShadow:"0 8px 24px rgba(0, 0, 0, 0.35)"},ze={width:460,maxHeight:"70vh",overflow:"hidden",background:"#0f172a",border:"1px solid #334155",borderRadius:10,boxShadow:"0 12px 36px rgba(0, 0, 0, 0.4)",marginBottom:10,display:"flex",flexDirection:"column"},oi={padding:10,overflow:"auto",fontSize:12,lineHeight:1.4,display:"grid",gap:8},Un=()=>{!ft||wt.current||(wt.current=ft.stop(),H(!0))},lt=()=>{let _=wt.current;wt.current=null,_&&_(),H(!1)},Tt=()=>{if(ft){if(wt.current){let _=wt.current;wt.current=null,_(),requestAnimationFrame(()=>{ft&&(wt.current=ft.stop(),H(!0))});return}ft.updateNextFrame()}},Vt=()=>{nt.current=[],ut.current=[],st("Logs cleared"),yt()};return(0,Z.jsxs)("div",{className:u,style:tn,children:[d?(0,Z.jsxs)("div",{style:ze,children:[(0,Z.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:10,borderBottom:"1px solid #1f2937"},children:[(0,Z.jsx)("strong",{style:{fontSize:12,letterSpacing:.4},children:"Atlas DevTools"}),(0,Z.jsx)("select",{style:{marginLeft:"auto",fontSize:12,background:"#111827",color:"#e2e8f0",border:"1px solid #334155"},value:te||"",onChange:_=>v3(_.target.value),children:qt.runtimes.map(_=>(0,Z.jsx)("option",{value:_.id,children:_.label},_.id))}),(0,Z.jsx)("button",{style:Jt,onClick:()=>m(!1),children:"Close"})]}),(0,Z.jsx)("div",{style:{display:"flex",gap:6,padding:8,borderBottom:"1px solid #1f2937",flexWrap:"wrap"},children:Lj.map(_=>(0,Z.jsx)("button",{style:{...Jt,padding:"4px 8px",borderRadius:6,background:y===_?"#334155":"#111827"},onClick:()=>g(_),children:_},_))}),(0,Z.jsxs)("div",{style:oi,children:[ft?null:(0,Z.jsx)("div",{children:"No Atlas runtime available."}),ft&&y==="Overview"?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{children:["Runtime id: ",ft.id]}),(0,Z.jsxs)("div",{children:["Mode: ",ft.mode]}),(0,Z.jsxs)("div",{children:["Scale factor: ",ft.getScaleFactor().toFixed(4)]}),(0,Z.jsxs)("div",{children:["World: ",ft.world.width," x ",ft.world.height]}),(0,Z.jsxs)("div",{children:["Target: ",JSON.stringify(JT(ft.target))]}),(0,Z.jsxs)("div",{children:["Pending update: ",String(ft.pendingUpdate)]}),(0,Z.jsxs)("div",{children:["Renderer chain: ",re.rendererTypes.join(" -> ")||"None"]}),(0,Z.jsxs)("div",{children:["Runtime log entries: ",nt.current.length]}),(0,Z.jsxs)("div",{children:["World log entries: ",ut.current.length]})]}):null,ft&&y==="World"?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{children:["World dimensions: ",ft.world.width," x ",ft.world.height]}),(0,Z.jsxs)("div",{children:["Viewport target: ",JSON.stringify(JT(ft.target))]}),(0,Z.jsxs)("svg",{width:Ft.width,height:Ft.height,style:{background:"#020617",border:"1px solid #334155"},children:[Ft.rects.map((_,B)=>(0,Z.jsx)("rect",{x:_.x,y:_.y,width:_.width,height:_.height,fill:"rgba(56, 189, 248, 0.18)",stroke:"rgba(56, 189, 248, 0.7)"},`rect-${B}`)),Ft.viewport?(0,Z.jsx)("rect",{x:Ft.viewport.x,y:Ft.viewport.y,width:Ft.viewport.width,height:Ft.viewport.height,fill:"rgba(251, 191, 36, 0.1)",stroke:"rgba(251, 191, 36, 1)"}):null]})]}):null,ft&&y==="Inspector"?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("div",{style:{display:"flex",gap:8},children:(0,Z.jsx)("button",{style:Jt,onClick:()=>x(_=>!_),children:C?"Cancel Pick":"Pick in Viewport"})}),(0,Z.jsx)("div",{style:{maxHeight:180,overflow:"auto",border:"1px solid #1f2937",borderRadius:6},children:ee.map(_=>(0,Z.jsx)("button",{onClick:()=>R(_.ref),style:{width:"100%",display:"block",textAlign:"left",padding:`2px 6px 2px ${6+_.depth*14}px`,background:Gt===_.ref?"#1e293b":"transparent",color:"#e2e8f0",border:0,cursor:"pointer",fontSize:12},children:_.label},_.key))}),Gt?(0,Z.jsxs)("div",{style:{border:"1px solid #1f2937",borderRadius:6,padding:8},children:[(0,Z.jsxs)("div",{children:["Type: ",lD(Gt)]}),(0,Z.jsxs)("div",{children:["ID: ",Gt.id||"(none)"]}),(0,Z.jsxs)("div",{children:["Points: ",JSON.stringify(JT(Gt.points))]}),(0,Z.jsxs)("div",{children:["Display scale: ",Gt.display?.scale??"(n/a)"]}),(0,Z.jsxs)("div",{children:["Crop: ",Gt.cropData?JSON.stringify(Gt.cropData):"(none)"]}),(0,Z.jsxs)("div",{children:["Host: ",Hj(Gt)]})]}):null]}):null,ft&&y==="Events"?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,Z.jsx)("button",{style:Jt,onClick:()=>T(_=>!_),children:b?"Resume Log":"Pause Log"}),(0,Z.jsx)("button",{style:Jt,onClick:Vt,children:"Clear"}),(0,Z.jsxs)("select",{value:et,onChange:_=>gt(_.target.value),style:{fontSize:12,background:"#111827",color:"#e2e8f0",border:"1px solid #334155"},children:[(0,Z.jsx)("option",{value:"all",children:"All"}),(0,Z.jsx)("option",{value:"trigger",children:"Trigger"}),(0,Z.jsx)("option",{value:"pointer",children:"Pointer"}),(0,Z.jsx)("option",{value:"touch",children:"Touch"})]})]}),(0,Z.jsx)("div",{style:{maxHeight:240,overflow:"auto",border:"1px solid #1f2937",borderRadius:6,padding:6},children:fe.slice().reverse().map((_,B)=>(0,Z.jsxs)("div",{style:{marginBottom:4},children:["[",_.type,"] ",JSON.stringify(_)]},`event-${B}`))})]}):null,ft&&y==="Images"?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("div",{children:"Renderer health"}),re.canvas.map((_,B)=>(0,Z.jsxs)("div",{style:{border:"1px solid #1f2937",borderRadius:6,padding:8},children:[(0,Z.jsx)("div",{children:_.type}),(0,Z.jsxs)("div",{children:["loadingQueue: ",_.loadingQueue]}),(0,Z.jsxs)("div",{children:["imagesPending: ",_.imagesPending]}),(0,Z.jsxs)("div",{children:["imagesLoaded: ",_.imagesLoaded]}),(0,Z.jsxs)("div",{children:["tasksRunning: ",_.tasksRunning]}),(0,Z.jsxs)("div",{children:["firstMeaningfulPaint: ",String(_.firstMeaningfulPaint)]})]},`canvas-${B}`)),re.webgl.map((_,B)=>(0,Z.jsx)("div",{style:{border:"1px solid #1f2937",borderRadius:6,padding:8},children:(0,Z.jsx)("div",{children:_.type})},`webgl-${B}`)),(0,Z.jsxs)("div",{children:["Image hosts (",Ce.length,")"]}),(0,Z.jsx)("div",{style:{maxHeight:180,overflow:"auto",border:"1px solid #1f2937",borderRadius:6,padding:6},children:Ce.map(_=>(0,Z.jsxs)("div",{style:{marginBottom:6},children:[(0,Z.jsxs)("div",{children:[_.type," #",_.id]}),(0,Z.jsxs)("div",{children:["owner: ",_.ownerId||"(none)"," composite: ",_.compositeId||"(none)"]}),(0,Z.jsxs)("div",{children:["canvas: ",_.canvas?JSON.stringify(_.canvas):"(none)"]}),(0,Z.jsxs)("div",{children:["webgl: ",_.webgl?JSON.stringify(_.webgl):"(none)"]}),_.anomalies.length?(0,Z.jsxs)("div",{children:["anomalies: ",_.anomalies.join(" | ")]}):null]},`${_.type}-${_.id}-${_.ownerId||"none"}`))}),(0,Z.jsx)("div",{children:"Chosen composite layers by frame"}),(0,Z.jsx)("div",{style:{maxHeight:180,overflow:"auto",border:"1px solid #1f2937",borderRadius:6,padding:6},children:Zt.map(_=>(0,Z.jsxs)("div",{style:{marginBottom:8},children:[(0,Z.jsxs)("div",{children:["frame ",_.frame]}),_.composites.map(B=>(0,Z.jsxs)("div",{style:{paddingLeft:8},children:[(0,Z.jsxs)("div",{children:["composite ",B.compositeId]}),B.layers.map((rt,ht)=>(0,Z.jsxs)("div",{style:{paddingLeft:10},children:[rt.paintType," #",rt.paintId," tile=",rt.tileIndex]},`${B.compositeId}-${ht}`))]},`${_.frame}-${B.compositeId}`))]},`frame-${_.frame}`))})]}):null,ft&&y==="Actions"?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,Z.jsx)("button",{style:Jt,onClick:L?lt:Un,children:L?"Resume Loop":"Pause Loop"}),(0,Z.jsx)("button",{style:Jt,onClick:Tt,children:"Step Frame"}),(0,Z.jsx)("button",{style:Jt,onClick:()=>ft.updateNextFrame(),children:"Repaint"}),(0,Z.jsx)("button",{style:Jt,onClick:()=>ft.triggerResize(),children:"Trigger Resize"})]}),(0,Z.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[(0,Z.jsxs)("select",{value:E,onChange:_=>M(_.target.value),style:{fontSize:12,background:"#111827",color:"#e2e8f0",border:"1px solid #334155"},children:[(0,Z.jsx)("option",{value:"explore",children:"explore"}),(0,Z.jsx)("option",{value:"sketch",children:"sketch"}),(0,Z.jsx)("option",{value:"static",children:"static"})]}),(0,Z.jsx)("button",{style:Jt,onClick:()=>{ft.mode=E,ft.updateNextFrame()},children:"Apply Mode"})]}),(0,Z.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,Z.jsx)("button",{style:Jt,onClick:()=>ft.world.goHome(),children:"goHome"}),(0,Z.jsx)("button",{style:Jt,onClick:()=>ft.world.zoomIn(),children:"zoomIn"}),(0,Z.jsx)("button",{style:Jt,onClick:()=>ft.world.zoomOut(),children:"zoomOut"}),(0,Z.jsx)("button",{style:Jt,onClick:()=>ft.world.constraintBounds(!0),children:"constrain-bounds"})]}),(0,Z.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[(0,Z.jsxs)("select",{value:z,onChange:_=>I(_.target.value),style:{fontSize:12,background:"#111827",color:"#e2e8f0",border:"1px solid #334155"},children:[(0,Z.jsx)("option",{value:"",children:"Select zone"}),ft.world.zones.map((_,B)=>(0,Z.jsx)("option",{value:String(_.id||B),children:_.id||`zone-${B}`},`${_.id}-${B}`))]}),(0,Z.jsx)("button",{style:Jt,onClick:()=>{z&&ft.selectZone(z)},children:"Select Zone"}),(0,Z.jsx)("button",{style:Jt,onClick:()=>ft.deselectZone(),children:"Deselect Zone"})]}),(0,Z.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,Z.jsx)("button",{style:Jt,onClick:()=>{let _=Nj(ft);st(`Reset image hosts=${_.imageHostsReset}, renderers=${_.renderersReset}`),yt()},children:"Recover Images"}),(0,Z.jsx)("button",{style:Jt,onClick:Vt,children:"Clear Logs"})]}),q?(0,Z.jsx)("div",{children:q}):null]}):null]})]}):null,(0,Z.jsx)("button",{style:Jt,onClick:()=>m(_=>!_),children:d?"Hide DevTools":"Open DevTools"})]})};function Vj(t){return(0,k.useMemo)(()=>iR(t),t)}function Uj(t,e){let n={},i=new Set([...Object.keys(t),...Object.keys(e)]);for(let a of i){let r=t[a],l=e[a];r!==l&&(n[a]={before:r,after:l})}return Object.keys(n).length>0?n:null}function qj(t,e="",n=!1){let i=(0,k.useRef)(t);i.current&&n&&(console.log("Diff:",e,Uj(i.current,t)),i.current=t)}function sR(t,e){return!(!(t instanceof yi||t instanceof Ei)||t.crop||t.cropData||t.display.rotation||t.style&&t.style.opacity!==void 0&&t.style.opacity!==1||t.__owner?.value?.rotation)}var jj=new Map,S3=class{constructor(t,e){A(this,"canvas",void 0),A(this,"gl",void 0),A(this,"options",void 0),A(this,"fatalImageError",void 0),A(this,"program",void 0),A(this,"fragmentShader",void 0),A(this,"vertexShader",void 0),A(this,"rectBuffer",void 0),A(this,"fragmentShaderSource",`
15
+ `),interactive:this.stylesheet.addStylesheet("pointer-events: all"),nonInteractive:this.stylesheet.addStylesheet("pointer-events: none")},this.stylesheet.updateSheet()}shouldHostPaint(e){return this.options.text&&e instanceof vl||e instanceof Ir&&!!(this.options.box||e.props.className||e.props.html||e.props.href)}createHtmlHost(e){if(this.htmlContainer&&this.shouldHostPaint(e)){let t=document.createElement(e.props.href?"a":"div");if(e.props.href){t.style.display="block",t.href=e.props.href;let i=e.props.hrefTarget||"_blank";t.target=i,i!=="_self"&&(t.rel="noopener noreferrer")}t.title=e.props.title||"",this.options.inlineStyles?(t.style.display="block",t.style.position="absolute",t.style.overflow="hidden",t.style.transformOrigin="0px 0px"):t.classList.add(this.classes.hostClassName),e.__host={element:t,revision:null,relative:!1},this.updateHtmlHost(e,e.width,e.height),e.__onCreate&&e.__onCreate()}}triggerResize(){this.options.triggerResize()}updateHtmlHost(e,t,i){if(e.__revision!==e.__host.revision){let n=e.__host.element,r=[this.classes.hostClassName];if(e.props.interactive?this.options.inlineStyles?n.style.pointerEvents="all":r.push(this.classes.interactive):this.options.inlineStyles?n.style.pointerEvents="none":r.push(this.classes.nonInteractive),e.props.href){n.style.display="block",n.href=e.props.href;let s=e.props.hrefTarget||"_blank";n.target=s,s==="_self"?n.rel="":n.rel="noopener noreferrer"}else n.href&&n.removeAttribute("href");if(e.props.title&&(n.title=e.props.title||""),e.props.className&&(r.push(e.props.className),e.hovering&&r.push(`${e.props.className}--hover`),e.pressing&&r.push(`${e.props.className}--active`)),e.props.relativeStyle?(n.style.width=`${t||e.width}px`,n.style.height=`${i||e.height}px`):(n.style.width=`${e.width}px`,n.style.height=`${e.height}px`),e.props.style){Object.assign(n.style,e.props.style||{},e.hovering&&e.props.hoverStyles||{},e.pressing&&e.props.pressStyles||{});return}if(this.options.text&&e instanceof vl){e.text&&(n.innerText=e.text),e.backgroundColor&&(n.style.backgroundColor=e.backgroundColor),e.color&&(n.style.color=e.color),e.props.font&&(n.style.font=e.props.font),e.props.textAlign&&(n.style.textAlign=e.props.textAlign),e.__host.revision=e.__revision;let s=r.join(" ");n.className=s,n.part=s}e instanceof Ir&&(this.options.box||e.props.className||e.props.html)&&(e.props.backgroundColor&&(n.style.backgroundColor=e.props.backgroundColor),e.props.border!==n.style.border&&(n.style.border=e.props.border));let o=r.join(" ");n.className=o,n.part=o}}afterFrame(e,t,i){this.stylesheet.updateSheet();for(let n of this.previousVisible)this.visible.indexOf(n)===-1&&this.htmlContainer&&n.__id&&this.htmlIds.indexOf(n.__id)!==-1&&this.htmlContainer.removeChild(n.__host.element);this.previousVisible=this.visible}afterPaintLayer(e,t){}beforeFrame(e,t,i,n){let r=n?.viewCenter;this.viewTransform=n?.viewRotation&&r?`translate(${r.x}px, ${r.y}px) rotate(${n.viewRotation}deg) translate(${-r.x}px, ${-r.y}px) `:"",this.stylesheet.clearClasses(),this.paintTx++,this.zIndex=0,this.visible=[]}getPointsAt(e,t,i,n,r){return e.getPointsAt(t,i,n,r)}getScale(e,t){let i=this.rendererPosition.width/e,n=this.rendererPosition.height/t;return i<n?n:i}getViewportBounds(e,t,i){return null}isReady(){return!0}paint(e,t,i,n,r,o){if(this.zIndex++,this.shouldHostPaint(e)&&e.__host&&e.__host.tx!==this.paintTx&&(this.visible.push(e),e.__host.tx=this.paintTx,this.htmlContainer)){this.updateHtmlHost(e,r,o);let s=r/e.width,a=e.__host.element;a.style.zIndex=`${this.zIndex}`,e.props.relativeStyle?a.style.transform=`${this.viewTransform}translate(${Math.round(i)}px, ${Math.round(n)}px)`:a.style.transform=`${this.viewTransform}translate(${Math.round(i)}px, ${Math.round(n)}px) scale(${s})`,this.previousVisible.indexOf(e)===-1&&this.htmlContainer.appendChild(a),this.htmlIds.indexOf(e.__id)===-1&&this.htmlIds.push(e.__id)}}pendingUpdate(){return!1}prepareLayer(e){e.__host||(e instanceof vl||e instanceof Ir)&&this.createHtmlHost(e)}resize(e,t){e!==void 0&&t!==void 0&&(this.htmlContainer.style.width=`${e}px`,this.htmlContainer.style.height=`${t}px`),this.rendererPosition=this.htmlContainer.getBoundingClientRect()}getRendererScreenPosition(){return this.rendererPosition}finishLayer(){}reset(){}},bl=Ae.default.createContext(null);bl.displayName="Atlas";var xl=Ae.default.createContext(null);xl.displayName="Bounds";var bo=Ae.default.createContext("explore");bo.displayName="Mode";var E0=()=>(0,Ae.useContext)(bo);var fd;if(typeof performance=="object"&&typeof performance.now=="function"){let e=performance;fd=()=>e.now()}else{let e=Date,t=e.now();fd=()=>e.now()-t}var v0=typeof yl.default=="function"?yl.default:typeof yl.default?.default=="function"?yl.default.default:null,Tn=class{constructor(e){b(this,"world",void 0),b(this,"zone",void 0),b(this,"isRegistered",!1),b(this,"directWorldObjects",[]),this.world=e,this.zone=new tm({id:""})}applyProps(e){this.zone.applyProps({id:e.id,x:e.x,y:e.y,width:e.width,height:e.height,margin:e.margin})}appendChild(e){e instanceof ai&&(this.registerDirectWorldObject(e),this.world.appendChild(e))}removeChild(e){e instanceof ai&&(this.unregisterDirectWorldObject(e),this.world.removeChild(e))}insertBefore(e,t){if(e instanceof ai){if(this.registerDirectWorldObject(e),t instanceof ai){this.world.insertBefore(e,t);return}this.world.appendChild(e)}}hideInstance(){}attachToWorld(e){this.isRegistered&&this.world!==e&&(this.world.removeZone(this.zone),this.isRegistered=!1),this.world=e,this.isRegistered||(this.world.addZone(this.zone),this.isRegistered=!0)}unmount(){this.directWorldObjects=[],this.isRegistered&&(this.world.removeZone(this.zone),this.isRegistered=!1)}registerDirectWorldObject(e){this.directWorldObjects.indexOf(e)===-1&&this.directWorldObjects.push(e),this.zone.addObject(e)}unregisterDirectWorldObject(e){this.directWorldObjects=this.directWorldObjects.filter(t=>t!==e),this.zone.removeObject(e)}};function b0(e,t){if(e instanceof Gn&&t instanceof Tn){t.attachToWorld(e);return}if(e instanceof Tn){e.appendChild(t);return}e&&e.appendChild&&t&&e.appendChild(t)}function M0(e,t){if(e instanceof Gn&&t instanceof Tn){t.unmount();return}if(e instanceof Tn){e.removeChild(t);return}e&&e.removeChild&&t&&e.removeChild(t)}function RI(e,t){if(t instanceof Tn){t.unmount();return}return M0(e.world,t)}function CI(e,t,i){if(t instanceof Tn){t.attachToWorld(e.world);return}return k0(e.world,t,i)}function k0(e,t,i){if(e&&e instanceof Ms&&(e=e.world),!(e instanceof Gn&&t instanceof Tn)){if(e instanceof Tn){e.insertBefore(t,i);return}e&&e.insertBefore&&e.insertBefore(t,i)}}function ym(e,t,i){if(i&&(e.applyProps&&e.applyProps(i),e instanceof an))for(let n of Is){let r=n.slice(2).toLowerCase();i[n]!==t[n]&&(t[n]&&e.removeEventListener(r,t[n]),e.addEventListener(r,i[n]))}}function vm(e,t){let i=Object.keys(t),n=!1;for(let r of i)if(Is.indexOf(r)!==-1){let o=Pr[r];if(o){if(e.activatedEvents.indexOf(o)!==-1)continue;n=!0,e.activatedEvents.push(o)}}n&&e.triggerEventActivation()}var pd=new Map,x0={};function TI(e,{args:t=[],...i},n,r,o){if(!(n instanceof Ms)&&o){let c=u=>u.return?c(u.return):u.stateNode&&u.stateNode.containerInfo;n=c(o)}let s,a=n.world;switch(e){case"world":s=Gn.withProps({width:i.width,height:i.height,viewingDirection:"left-to-right"}),s.activatedEvents=a.activatedEvents,s.eventHandlers=a.eventHandlers,s.subscriptions=a.subscriptions,s.triggerEventActivation(),a=s;break;case"box":s=new Ir;break;case"shape":s=new fl;break;case"worldObject":case"world-object":s=new ai;break;case"zone":s=new Tn(a);break;case"worldImage":case"world-image":s=new St;break;case"texture":s=new Es;break;case"compositeImage":case"composite-image":s=new mo({id:i.id,width:i.width,height:i.height,images:[],renderOptions:i.renderOptions});break;case"tiledImage":case"tiled-image":s=At.fromTile(i.uri,i.display,i.tile,i.scaleFactor,void 0,i.format,i.useFloorCalc,i.version3);break;case"mapTiledImage":case"map-tiled-image":s=new em({id:i.id,bounds:i.bounds,worldWidth:i.worldWidth,worldHeight:i.worldHeight,zoom:i.zoom,tileSize:i.tileSize,scaleFactor:i.scaleFactor,tileSource:i.tileSource,tileUrlTemplate:i.tileUrlTemplate,subdomains:i.subdomains});break;case"paragraph":s=new vl,s.text=i.children;break;default:return}return vm(a,i),ym(s,{},i),s}function PI(e,t){if(t instanceof Gn)e.world=t;else if(t instanceof Tn)t.attachToWorld(e.world);else if(t instanceof ai)e.world.appendChild(t);else if(t)throw Error("Invalid root")}var ud=0,kr=v0?v0({unstable_now:fd,now:fd,createInstance:TI,removeChild:M0,appendChild:b0,appendInitialChild:b0,insertBefore:k0,warnsIfNotActing:!0,supportsMutation:!0,isPrimaryRenderer:!1,scheduleTimeout:typeof setTimeout<"u"?setTimeout:void 0,cancelTimeout:typeof clearTimeout<"u"?clearTimeout:void 0,setTimeout:typeof setTimeout<"u"?setTimeout:void 0,clearTimeout:typeof clearTimeout<"u"?clearTimeout:void 0,noTimeout:-1,appendChildToContainer:PI,removeChildFromContainer:RI,createTextInstance(){},insertInContainerBefore:CI,prepareUpdate(e,t,i,n,r){return vm(r.world,n),n},commitUpdate(e,t,i,n,r){let o=n,s=i;typeof o=="string"&&(o=i),e.applyProps&&o&&ym(e,s,o)},finalizeInitialChildren(e){return e?.__handlers},getChildHostContext(){return x0},getRootHostContext(){return x0},prepareForCommit(e){return e.isCommitting=!0,null},preparePortalMount(){},hideInstance(e){e&&e.points&&(e.points[0]=0)},unhideInstance(e,t){e&&e.points&&(e.points[0]=1)},getPublicInstance(e){return e},hideTextInstance(){throw Error("Text is not allowed in the react-three-fibre tree. You may have extraneous whitespace between components.")},resetAfterCommit(e){e.isCommitting=!1,e.pendingUpdate=!0,e.world&&e.world.needsRecalculate&&(e.world.recalculateWorldSize(),e.world.triggerRepaint())},shouldSetTextContent(){return!1},clearContainer(){return!1},supportsHydration:!1,supportsPersistence:!1,detachDeletedInstance(e){},afterActiveInstanceBlur(){},beforeActiveInstanceBlur(){},getCurrentEventPriority(){return 32},getInstanceFromNode(e){throw Error("Not implemented")},getInstanceFromScope(e){throw Error("Not implemented")},prepareScopeUpdate(e,t){throw Error("Not implemented")},logRecoverableError(){},requestPostPaintCallback(){},rendererPackageName:"@atlas-viewer/atlas",rendererVersion:Ae.version,shouldAttemptEagerTransition:()=>!1,trackSchedulerEvent:()=>{},resolveEventType:()=>null,resolveEventTimeStamp:()=>-1.1,maySuspendCommit:()=>!1,preloadInstance:()=>!0,startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady:()=>null,NotPendingTransition:null,setCurrentUpdatePriority(e){ud=e},getCurrentUpdatePriority(){return ud},resolveUpdatePriority(){if(ud!==0)return ud;switch(typeof window<"u"&&window.event?.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return 2;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return 8;default:return 32}},resetFormInstance(){}}):null;kr&&kr.injectIntoDevTools({bundleType:0,rendererPackageName:"@atlas-viewer/atlas",version:Ae.version});function gd(e,t){let i=pd.get(e);if(i){if(!kr)return;kr.updateContainer(null,i,null,()=>{pd.delete(e),t&&t(e)})}}var bm={render(e,t){let i=pd.get(t);if(kr)if(i)kr.updateContainer(e,i,null);else{let n=kr.createContainer(t,0,null,!1,null,"",()=>{},null);kr.updateContainer(e,n,null),pd.set(t,n)}},unmountComponentAtNode(e,t){gd(e,t)}},Fs=typeof window<"u"&&(window.document?.createElement||window.navigator?.product==="ReactNative")?md.useLayoutEffect:md.useEffect,wl=()=>(0,Ae.useContext)(bl),Ns=()=>{let e=wl();return e?e.runtime:void 0};function hm(e,t){return!(!(e instanceof St||e instanceof At)||e.crop||e.cropData||e.display.rotation||e.style&&e.style.opacity!==void 0&&e.style.opacity!==1||e.__owner?.value?.rotation)}var fm=class{constructor(e,t){b(this,"canvas",void 0),b(this,"gl",void 0),b(this,"options",void 0),b(this,"fatalImageError",void 0),b(this,"program",void 0),b(this,"fragmentShader",void 0),b(this,"vertexShader",void 0),b(this,"rectBuffer",void 0),b(this,"fragmentShaderSource",`
30
16
  precision mediump float;
31
17
 
32
18
  uniform sampler2D u_image;
33
19
  uniform float u_alpha;
20
+ uniform float u_viewClip;
21
+ uniform vec2 u_clipMin;
22
+ uniform vec2 u_clipMax;
23
+ varying vec2 v_position;
34
24
  varying vec2 v_texCoord;
35
25
 
36
26
  void main() {
27
+ if (u_viewClip > 0.5 && (any(lessThan(v_position, u_clipMin)) || any(greaterThan(v_position, u_clipMax)))) discard;
37
28
  vec4 color = texture2D(u_image, v_texCoord);
38
29
  gl_FragColor = vec4(color.rgb, color.a * u_alpha);
39
30
  }
40
- `),A(this,"vertexShaderSource",`
31
+ `),b(this,"vertexShaderSource",`
41
32
  attribute vec2 a_position;
42
33
  uniform vec2 u_resolution;
34
+ uniform vec2 u_viewCenter;
35
+ uniform vec2 u_viewAngle;
36
+ varying vec2 v_position;
43
37
  varying vec4 v_color;
44
38
  uniform sampler2D u_texture;
45
39
 
@@ -49,7 +43,10 @@ Error generating stack: `+i.message+`
49
43
  void main() {
50
44
 
51
45
  // convert the position from pixels to 0.0 to 1.0
52
- vec2 zeroToOne = a_position / u_resolution;
46
+ v_position = a_position;
47
+ vec2 p = a_position - u_viewCenter;
48
+ vec2 rotated = vec2(p.x * u_viewAngle.x - p.y * u_viewAngle.y, p.x * u_viewAngle.y + p.y * u_viewAngle.x);
49
+ vec2 zeroToOne = (rotated + u_viewCenter) / u_resolution;
53
50
 
54
51
  // convert from 0->1 to 0->2
55
52
  vec2 zeroToTwo = zeroToOne * 2.0;
@@ -61,11 +58,11 @@ Error generating stack: `+i.message+`
61
58
 
62
59
  v_texCoord = a_texCoord;
63
60
  }
64
- `),A(this,"attributes",void 0),A(this,"uniforms",void 0),A(this,"buffers",void 0),A(this,"rendererPosition",void 0),A(this,"dpi",void 0),A(this,"maxConcurrentTasks",6),A(this,"maxPrefetchPerFrame",8),A(this,"imageLoadingConfig",void 0),A(this,"imageRequestPool",void 0),A(this,"framePrefetchCount",0),A(this,"loadingCount",0),A(this,"hasTilesFading",!1),A(this,"firstMeaningfulPaint",!1),A(this,"frameSawFastPathCandidate",!1),A(this,"requiresRepaint",!0),A(this,"tileRequestQueue",[]),A(this,"queuedTileRequestKeys",new Set),A(this,"inFlightImageLoads",new Map),A(this,"requiredTileKeys",new Set),A(this,"requiredPrefetchTileKeys",new Set),A(this,"requestGeneration",0),A(this,"frameCounter",0),A(this,"pendingTileReveals",new Map),A(this,"activeLayerScissorRect",void 0),A(this,"onContextLost",i=>{i.preventDefault(),this.emitFatalImageError({reason:"webgl-context-lost",error:i})}),A(this,"lastResize",0),A(this,"lastKnownScale",1),this.canvas=t,this.rendererPosition=t.getBoundingClientRect(),this.options=e||{},this.imageLoadingConfig=L3(this.options.imageLoading),this.maxConcurrentTasks=this.imageLoadingConfig.maxConcurrentRequests,this.maxPrefetchPerFrame=this.imageLoadingConfig.maxPrefetchPerFrame,this.imageRequestPool=new F3({timeoutMs:this.imageLoadingConfig.timeoutMs,crossOrigin:"anonymous",useFetch:!0,cache:jj});let n=t.getContext("webgl2");if(!n)throw this.emitFatalImageError({reason:"webgl-context-unavailable",error:Error("WebGL2 context unavailable")}),Error("WebGL2 context unavailable");this.gl=n,this.canvas.addEventListener("webglcontextlost",this.onContextLost),this.fragmentShader=this.createShader(this.gl.FRAGMENT_SHADER,this.fragmentShaderSource),this.vertexShader=this.createShader(this.gl.VERTEX_SHADER,this.vertexShaderSource),this.program=this.createProgram(this.vertexShader,this.fragmentShader),this.dpi=e?.dpi||1,this.attributes={position:this.gl.getAttribLocation(this.program,"a_position"),texCoord:this.gl.getAttribLocation(this.program,"a_texCoord")},this.uniforms={resolution:this.gl.getUniformLocation(this.program,"u_resolution"),texture:this.gl.getUniformLocation(this.program,"u_texture"),alpha:this.gl.getUniformLocation(this.program,"u_alpha")},this.buffers={position:this.createArrayBuffer(),texCoord:this.createArrayBuffer(new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]))},this.rectBuffer=new Float32Array(12),this.resize(),this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height),this.gl.clearColor(0,0,0,0),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.useProgram(this.program),this.gl.enableVertexAttribArray(this.attributes.position),this.gl.enable(this.gl.BLEND),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.isImmediateReadiness()&&(this.firstMeaningfulPaint=!0)}isImmediateReadiness(){return this.options.readiness==="immediate"}emitFatalImageError(t){if(this.fatalImageError)return;let e={from:"webgl",to:"canvas",...t};this.fatalImageError=e,this.options.onFatalImageError&&this.options.onFatalImageError(e)}resize(){this.resizeCanvasToDisplaySize(),this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height),this.rendererPosition=this.canvas.getBoundingClientRect()}isReady(){return this.isImmediateReadiness()||this.firstMeaningfulPaint?!0:this.frameSawFastPathCandidate?!1:this.tileRequestQueue.length===0&&this.loadingCount===0&&this.inFlightImageLoads.size===0&&this.pendingTileReveals.size===0}beforeFrame(t,e,n,i){this.hasTilesFading=!1,this.requiresRepaint=!1,this.frameSawFastPathCandidate=!1,this.framePrefetchCount=0,this.frameCounter+=1,this.requiredTileKeys.clear(),this.requiredPrefetchTileKeys.clear(),this.flushTileRevealBatch();let a=I3(i);this.canvas.style.filter!==a&&(this.canvas.style.filter=a),this.gl.clearColor(0,0,0,0),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.disable(this.gl.SCISSOR_TEST),this.activeLayerScissorRect=void 0,this.gl.vertexAttribPointer(this.attributes.position,2,this.gl.FLOAT,!1,0,0),this.gl.uniform2f(this.uniforms.resolution,this.gl.canvas.width/this.dpi,this.gl.canvas.height/this.dpi),this.lastResize>1e3&&(this.lastResize=0,this.resizeCanvasToDisplaySize()),this.lastResize+=e}getCompositeRenderOptions(t){return t.__parent?.renderOptions}shouldClipLayerToBounds(t){return t instanceof yi||t instanceof Ei?!!this.getCompositeRenderOptions(t)?.clipToBounds:!1}getBoundsFromPoints(t){let e=1/0,n=1/0,i=-1/0,a=-1/0;for(let r=0;r<t.length;r+=5)t[r]&&(e=Math.min(e,t[r+1]),n=Math.min(n,t[r+2]),i=Math.max(i,t[r+3]),a=Math.max(a,t[r+4]));if(!(!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(i)||!Number.isFinite(a))&&!(i<=e||a<=n))return{x:e,y:n,width:i-e,height:a-n}}toScissorRect(t){let e=this.gl.canvas.width/this.dpi,n=this.gl.canvas.height/this.dpi,i=Math.max(0,Math.min(e,t.x)),a=Math.max(0,Math.min(n,t.y)),r=Math.max(0,Math.min(e,t.x+t.width)),l=Math.max(0,Math.min(n,t.y+t.height));if(r<=i||l<=a)return;let u=Math.floor(i*this.dpi),f=Math.floor((n-l)*this.dpi),h=Math.ceil((r-i)*this.dpi),d=Math.ceil((l-a)*this.dpi);if(u<0&&(h+=u,u=0),f<0&&(d+=f,f=0),h=Math.min(h,this.gl.canvas.width-u),d=Math.min(d,this.gl.canvas.height-f),!(h<=0||d<=0))return{x:u,y:f,width:h,height:d}}prepareLayer(t,e){if(this.activeLayerScissorRect=void 0,e&&this.shouldClipLayerToBounds(t)){let n=this.getBoundsFromPoints(e);if(n){let i=this.toScissorRect(n);i?(this.activeLayerScissorRect=i,this.gl.enable(this.gl.SCISSOR_TEST),this.gl.scissor(i.x,i.y,i.width,i.height)):(this.gl.enable(this.gl.SCISSOR_TEST),this.gl.scissor(0,0,0,0),this.activeLayerScissorRect={x:0,y:0,width:0,height:0})}}(!t.__host||!t.__host.webgl)&&((t instanceof yi||t instanceof Ei)&&sR(t,0)&&this.createImageHost(t),t instanceof Dv&&this.createTextureHost(t))}createTextureHost(t){t.__host=t.__host?t.__host:{};let e=this.gl,n=this.gl.createTexture();e.bindTexture(e.TEXTURE_2D,n),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1);let i;if(t instanceof Dv){let a=t.getTexture();if(a.source)try{e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,a.source)}catch(r){this.emitFatalImageError({reason:"teximage-security",contentId:t.id,error:r})}i=a}e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),t.__host.webgl={height:t.height,width:t.width,texture:n,lastImage:i}}createImageHost(t){let e=[...Array(t.points.length/5)];t.__host=t.__host?t.__host:{},t.__host.webgl={height:t.height,width:t.width,textures:e,loading:[],loaded:[],loadedAt:[],tileState:{},lastLevelRendered:-1,onLoad:(n,i)=>{let a=this.gl,r=this.gl.createTexture();a.bindTexture(a.TEXTURE_2D,r),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1);try{a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,i)}catch(l){this.emitFatalImageError({reason:"teximage-security",imageUrl:t.getImageUrl?t.getImageUrl(n):void 0,contentId:t.id,tileIndex:n,error:l}),this.removeLoadingIndex(t,n);return}a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.bindTexture(a.TEXTURE_2D,null),t.__host.webgl.textures[n]=r,t.__host.webgl.loaded.push(n),t.__host.webgl.loadedAt[n]=void 0,this.setTileState(t,n,{...this.getTileState(t,n),state:"decoded",attempts:0,nextRetryAt:void 0,error:void 0}),this.enqueueTileReveal(this.getTileKey(t,n),t,n),this.requiresRepaint=!0,this.removeLoadingIndex(t,n)}}}removeLoadingIndex(t,e){if(!t.__host?.webgl?.loading)return;let n=t.__host.webgl.loading.indexOf(e);n!==-1&&(t.__host.webgl.loading.splice(n,1),this.loadingCount=Math.max(0,this.loadingCount-1),this.requiresRepaint=!0)}getTileKey(t,e){return`${t.id}::${t.display.scale}::${e}`}nextRequestKey(t){return this.requestGeneration+=1,`${t}::${this.requestGeneration}`}getTileState(t,e){let n=t.__host?.webgl;return n?(n.tileState||(n.tileState={}),n.tileState[e]||(n.tileState[e]={state:"idle"}),n.tileState[e]):{state:"idle"}}setTileState(t,e,n){let i=t.__host?.webgl;i&&(i.tileState||(i.tileState={}),i.tileState[e]=n)}markTileRequired(t,e){if(e){this.requiredPrefetchTileKeys.add(t);return}this.requiredTileKeys.add(t)}isTileRequired(t){return this.requiredTileKeys.has(t)||this.requiredPrefetchTileKeys.has(t)}shouldSkipFade(t,e=performance.now()){return t?.requestedAt?e-t.requestedAt<=this.imageLoadingConfig.skipFadeIfLoadedWithinMs:!1}enqueueTileReveal(t,e,n){let i=performance.now();if(this.imageLoadingConfig.revealDelayFrames===0&&this.imageLoadingConfig.revealBatchWindowFrames===0){e.__host?.webgl?.loadedAt&&(e.__host.webgl.loadedAt[n]=i);let a=this.getTileState(e,n);this.setTileState(e,n,{...a,skipFade:this.shouldSkipFade(a,i)});return}this.pendingTileReveals.set(t,{paint:e,index:n,queuedFrame:this.frameCounter})}flushTileRevealBatch(){if(this.pendingTileReveals.size===0)return;let t=this.imageLoadingConfig.revealDelayFrames,e=this.imageLoadingConfig.revealBatchWindowFrames,n=performance.now(),i=[...this.pendingTileReveals.entries()].sort((r,l)=>r[1].queuedFrame-l[1].queuedFrame),a=0;for(;a<i.length;){let r=i[a];if(this.frameCounter-r[1].queuedFrame<t)break;let l=r[1].queuedFrame+e;for(;a<i.length&&i[a][1].queuedFrame<=l;){let[u,f]=i[a],h=f.paint.__host?.webgl,d=this.getTileState(f.paint,f.index);h?.loadedAt&&d.state==="decoded"&&!h.loadedAt[f.index]&&(h.loadedAt[f.index]=n,this.setTileState(f.paint,f.index,{...d,skipFade:this.shouldSkipFade(d,n)}),this.requiresRepaint=!0),this.pendingTileReveals.delete(u),a+=1}}}emitImageError(t){this.options.onImageError&&this.options.onImageError({renderer:"webgl",...t})}releaseInFlightTileLoad(t,e={}){let n=this.inFlightImageLoads.get(t);n&&(n.release(e),this.inFlightImageLoads.delete(t))}pruneStaleTileWork(){this.tileRequestQueue=this.tileRequestQueue.filter(t=>{if(this.isTileRequired(t.tileKey))return!0;this.queuedTileRequestKeys.delete(t.key);let e=this.getTileState(t.paint,t.index);return e.lastRequestKey===t.requestKey&&e.state==="queued"&&this.setTileState(t.paint,t.index,{...e,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(t.tileKey),!1});for(let[t,e]of[...this.inFlightImageLoads.entries()]){if(this.isTileRequired(t))continue;let n=this.getTileState(e.paint,e.index);n.lastRequestKey===e.requestKey&&n.state==="loading"&&this.setTileState(e.paint,e.index,{...n,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(t),this.removeLoadingIndex(e.paint,e.index),this.releaseInFlightTileLoad(t,{silent:!0})}}getPrefetchRadius(t){let e=this.getCompositeRenderOptions(t);return e?typeof e.prefetchRadius=="number"?Math.max(0,e.prefetchRadius):e.loadingBias==="speed"?2:e.loadingBias==="data"?0:1:0}isLayerActive(t){let e=t.__parent;return e&&typeof e.isImageActive=="function"?!!e.isImageActive(t):!0}shouldDrawLayer(t,e,n){return(this.getCompositeRenderOptions(t)?.layerPolicy||"fallback-only")==="active-only"?n?!0:!!(t.__host?.webgl?.texture?t.__host.webgl.texture:t.__host?.webgl?.textures?.[e]):!0}getFadeAlpha(t,e,n){if(this.getTileState(t,e).skipFade)return 1;if(this.getTileState(t,e).state==="decoded"&&!t.__host?.webgl?.loadedAt?.[e]&&(this.imageLoadingConfig.revealDelayFrames>0||this.imageLoadingConfig.revealBatchWindowFrames>0))return 0;let i=this.getCompositeRenderOptions(t);if(!i||!i.fadeInMs||i.fadeInMs<=0)return 1;let a=performance.now(),r=1;if(n&&i.fadeOnLayerChange&&i.layerPolicy!=="active-only"){let u=t.__parent;if(u&&typeof u.getImageActivatedAt=="function"){let f=u.getImageActivatedAt(t);typeof f=="number"&&(r=Math.min(r,Math.max(0,Math.min(1,(a-f)/i.fadeInMs))))}}let l=t.__host?.webgl?.loadedAt?.[e];return l&&(n||i.fadeFallbackTiles)&&(r=Math.min(r,Math.max(0,Math.min(1,(a-l)/i.fadeInMs)))),r}getTileRequestKey(t,e){return`${t.id}::${t.display.scale}::${e}`}getCompositeOwner(t){let e=t?.__parent;return e&&e.renderOptions?e:void 0}compareCompositeLoadPriority(t,e){let n=this.getCompositeOwner(t),i=this.getCompositeOwner(e);if(!n||n!==i)return 0;let a=t?.display.scale||0;return(e?.display.scale||0)-a}enqueueTileRequest(t,e,n,i){if(!t.getImageUrl||!t.__host?.webgl)return!1;let a=this.getTileKey(t,e);if(this.markTileRequired(a,i),(t.__host.webgl.texture?t.__host.webgl.texture:t.__host.webgl.textures?.[e])||t.__host.webgl.loading&&t.__host.webgl.loading.indexOf(e)!==-1)return!1;let r=this.getTileState(t,e),l=performance.now();if(r.nextRetryAt&&r.nextRetryAt>l)return!1;let u=this.getTileRequestKey(t,e);if(this.queuedTileRequestKeys.has(u))return!1;let f=this.nextRequestKey(a);return this.pendingTileReveals.delete(a),this.setTileState(t,e,{...r,state:"queued",requestedAt:l,lastRequestKey:f,cancelledAt:void 0,error:void 0,skipFade:!1}),this.tileRequestQueue.push({key:u,tileKey:a,requestKey:f,paint:t,index:e,url:t.getImageUrl(e),priority:n,scale:t.display.scale,prefetch:i}),this.queuedTileRequestKeys.add(u),this.requiresRepaint=!0,!0}schedulePrefetchNeighbours(t,e,n){if(this.framePrefetchCount>=this.maxPrefetchPerFrame||this.getCompositeRenderOptions(t)?.loadingBias==="data")return;let i=this.getPrefetchRadius(t);if(i<=0||!t.columns||!t.rows)return;let a=e%t.columns,r=Math.floor(e/t.columns);for(let l=1;l<=i;l++)for(let u=-l;u<=l;u++)for(let f=-l;f<=l;f++){if(Math.max(Math.abs(f),Math.abs(u))!==l)continue;let h=a+f,d=r+u;if(h<0||d<0||h>=t.columns||d>=t.rows)continue;let m=d*t.columns+h;if(this.enqueueTileRequest(t,m,n+l*1e3,!0)&&(this.framePrefetchCount++,this.framePrefetchCount>=this.maxPrefetchPerFrame))return}}processTileQueue(){if(this.tileRequestQueue.length)for(this.tileRequestQueue.sort((t,e)=>{if(t.prefetch!==e.prefetch)return t.prefetch?1:-1;let n=this.compareCompositeLoadPriority(t.paint,e.paint);return n===0?t.priority===e.priority?e.scale-t.scale:t.priority-e.priority:n});this.loadingCount<this.maxConcurrentTasks&&this.tileRequestQueue.length;){let t=this.tileRequestQueue.shift();this.queuedTileRequestKeys.delete(t.key);let e=t.paint.__host?.webgl;if(!e||!t.paint.getImageUrl)continue;let n=this.getTileState(t.paint,t.index);if(n.lastRequestKey!==t.requestKey||(e.texture?e.texture:e.textures?.[t.index])||e.loading&&e.loading.indexOf(t.index)!==-1)continue;this.setTileState(t.paint,t.index,{...n,state:"loading",url:t.url,requestedAt:n.requestedAt||performance.now()}),e.loading.push(t.index),this.loadingCount++,this.requiresRepaint=!0;let i=`${t.tileKey}::${t.requestKey}`,a=this.imageRequestPool.acquire(t.url,i);this.inFlightImageLoads.set(t.tileKey,{tileKey:t.tileKey,requestKey:t.requestKey,consumerId:i,paint:t.paint,index:t.index,release:a.release}),a.promise.then(r=>{this.releaseInFlightTileLoad(t.tileKey,{silent:!0});let l=this.getTileState(t.paint,t.index);if(l.lastRequestKey!==t.requestKey||l.state!=="loading"){this.removeLoadingIndex(t.paint,t.index);return}t.paint.__host?.webgl?.onLoad(t.index,r)}).catch(r=>{if(this.releaseInFlightTileLoad(t.tileKey,{silent:!0}),B3(r)){let d=this.getTileState(t.paint,t.index);d.lastRequestKey===t.requestKey&&this.setTileState(t.paint,t.index,{...d,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(t.tileKey),this.removeLoadingIndex(t.paint,t.index);return}let l=this.getTileState(t.paint,t.index);if(l.lastRequestKey!==t.requestKey){this.removeLoadingIndex(t.paint,t.index);return}let u=(l.attempts||0)+1,f=u<this.imageLoadingConfig.maxAttempts,h=f?performance.now()+D3(this.imageLoadingConfig,u):performance.now()+this.imageLoadingConfig.errorRetryIntervalMs;this.setTileState(t.paint,t.index,{...l,state:f?"idle":"error",attempts:u,nextRetryAt:h,error:r}),this.pendingTileReveals.delete(t.tileKey),this.removeLoadingIndex(t.paint,t.index),this.emitImageError({severity:"recoverable",imageUrl:t.url,contentId:t.paint.id,tileIndex:t.index,attempt:u,maxAttempts:this.imageLoadingConfig.maxAttempts,willRetry:f,nextRetryAt:h,error:r}),!f&&this.options.fallbackOnImageLoadError&&this.emitFatalImageError({reason:"image-cors-or-load",imageUrl:t.url,contentId:t.paint.id,tileIndex:t.index,error:r})}).finally(()=>{this.processTileQueue()})}}paint(t,e,n,i,a,r){if(t.type!=="spacial-content"||!t.__host||!t.__host.webgl)return;let l=t instanceof yi||t instanceof Ei;if(l&&!sR(t,e))return;l&&(this.frameSawFastPathCandidate=!0);let u=l?this.isLayerActive(t):!0;if(t.getTexture){let h=t.getTexture();if(h&&t.__host.webgl.lastImage!==h.hash&&h.source&&!t.__host.webgl.error)try{let d=this.gl.RGBA,m=this.gl.RGBA,y=this.gl.UNSIGNED_BYTE;this.gl.bindTexture(this.gl.TEXTURE_2D,t.__host.webgl.texture),this.gl.texImage2D(this.gl.TEXTURE_2D,0,d,m,y,h.source),t.__host.webgl.lastImage=h.hash}catch(d){t.__host.webgl.error=d,this.emitFatalImageError({reason:"teximage-security",contentId:t.id,tileIndex:e,error:d})}}let f=t.__host.webgl.texture?t.__host.webgl.texture:t.__host.webgl.textures[e];if(l&&u){let h=this.gl.canvas.width/this.dpi/2,d=this.gl.canvas.height/this.dpi/2,m=n+a/2,y=i+r/2,g=Math.hypot(m-h,y-d);f||this.enqueueTileRequest(t,e,g,!1),t instanceof Ei&&this.schedulePrefetchNeighbours(t,e,g)}if(!(l&&!this.shouldDrawLayer(t,e,u))&&f){let h=l&&typeof t.style?.opacity=="number"?t.style.opacity:1,d=typeof t.__zoneVisibilityAlpha=="number"?t.__zoneVisibilityAlpha:1;if(!h)return;let m=l?this.getFadeAlpha(t,e,u):1;m<1&&(this.hasTilesFading=!0);let y=h*m*d;this.gl.enableVertexAttribArray(this.attributes.texCoord),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffers.texCoord),this.gl.enableVertexAttribArray(this.attributes.texCoord),this.gl.vertexAttribPointer(this.attributes.texCoord,2,this.gl.FLOAT,!1,0,0),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffers.position),this.gl.enableVertexAttribArray(this.attributes.position),this.gl.vertexAttribPointer(this.attributes.position,2,this.gl.FLOAT,!1,0,0),this.gl.bindTexture(this.gl.TEXTURE_2D,f),this.gl.uniform1i(this.uniforms.texture,0),this.gl.uniform1f(this.uniforms.alpha,y),this.setRectangle(n,i,a,r),this.gl.drawArrays(this.gl.TRIANGLES,0,6),!this.isImmediateReadiness()&&l&&y>0&&(this.firstMeaningfulPaint=!0)}}afterPaintLayer(t,e){}pendingUpdate(){return this.requiresRepaint||this.tileRequestQueue.length>0||this.loadingCount>0||this.inFlightImageLoads.size>0||this.pendingTileReveals.size>0||this.hasTilesFading}getPointsAt(t,e,n,i){return t.getPointsAt(e,n,i)}afterFrame(){this.pruneStaleTileWork(),this.processTileQueue()}getScale(t,e,n){if(Number.isNaN(t)||Number.isNaN(e))return this.lastKnownScale;let i=this.getCanvasDims(),a=i.width/t,r=i.height/e,l=(a<r?r:a)*(n&&this.dpi||1);return Number.isNaN(l)||(this.lastKnownScale=l),this.lastKnownScale}getCanvasDims(){return{width:this.canvas.width/this.dpi,height:this.canvas.height/this.dpi}}getViewportBounds(t,e,n){return null}createShader(t,e){let n=this.gl.createShader(t);if(n){if(this.gl.shaderSource(n,e),this.gl.compileShader(n),this.gl.getShaderParameter(n,this.gl.COMPILE_STATUS))return n;let i=this.gl.getShaderInfoLog(n);if(this.gl.deleteShader(n),i)throw Error(i)}throw Error("Invalid shader")}createProgram(t,e){let n=this.gl.createProgram();if(n){if(this.gl.attachShader(n,t),this.gl.attachShader(n,e),this.gl.linkProgram(n),this.gl.getProgramParameter(n,this.gl.LINK_STATUS))return n;let i=this.gl.getProgramInfoLog(n);if(this.gl.deleteProgram(n),i)throw Error(i)}throw Error("Invalid program")}resizeCanvasToDisplaySize(){let t=this.gl.canvas,e=t.clientWidth,n=t.clientHeight,i=Math.round(e*this.dpi),a=Math.round(n*this.dpi),r=t.width!==i||t.height!==a;return r&&(t.width=i,t.height=a),r}createArrayBuffer(t){let e=this.gl.createBuffer();if(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,e),t&&this.gl.bufferData(this.gl.ARRAY_BUFFER,t,this.gl.STATIC_DRAW),!e)throw Error("Cannot create buffer");return e}setRectangle(t,e,n,i){this.gl.bufferData(this.gl.ARRAY_BUFFER,this.getRectangle(t,e,n,i),this.gl.STATIC_DRAW)}getRectangle(t,e,n,i){let a=t,r=t+n,l=e,u=e+i;return this.rectBuffer.set([a,l,r,l,a,u,a,u,r,l,r,u]),this.rectBuffer}getRendererScreenPosition(){return this.rendererPosition}finishLayer(){this.activeLayerScissorRect&&(this.gl.disable(this.gl.SCISSOR_TEST),this.activeLayerScissorRect=void 0)}resetReadyState(){this.isImmediateReadiness()||(this.firstMeaningfulPaint=!1)}reset(){this.canvas.removeEventListener("webglcontextlost",this.onContextLost),this.canvas.style.filter="none",this.framePrefetchCount=0,this.loadingCount=0,this.hasTilesFading=!1,this.requiresRepaint=!1,this.tileRequestQueue=[],this.queuedTileRequestKeys.clear();for(let t of[...this.inFlightImageLoads.keys()])this.releaseInFlightTileLoad(t,{silent:!0});this.imageRequestPool.cancelAll({silent:!0}),this.inFlightImageLoads.clear(),this.requiredTileKeys.clear(),this.requiredPrefetchTileKeys.clear(),this.pendingTileReveals.clear(),this.requestGeneration+=1,this.frameCounter=0,this.frameSawFastPathCandidate=!1,this.firstMeaningfulPaint=this.isImmediateReadiness()}};function uD({interactive:t=!0,viewport:e,forceRefresh:n,canvasElement:i,parityCanvasElement:a,overlayElement:r,controllerConfig:l,interactionMode:u="popmotion",unstable_webglRenderer:f,dpi:h,debug:d,canvasBox:m=!0,polygon:y=!0,navigatorElement:g,runtimeOptions:b,onWebGLFallback:T,onImageError:C,imageLoading:x,webglFallbackOnImageLoadError:w,webglReadiness:R,navigatorRendererOptions:E}){if(!i)throw Error("Invalid container");i.style.userSelect="none";let M=t?(u==="pdf-scroll-zone"?W3:hR)({minZoomFactor:.5,maxZoomFactor:3,enableClickToZoom:!1,parentElement:i,...l||{}}):void 0,z,I;if(f)try{z=new S3(i,{dpi:h,onFatalImageError:T,onImageError:C,imageLoading:x,fallbackOnImageLoadError:w,readiness:R})}catch{z=new wv(i,{dpi:h,debug:d,box:m,polygon:y,imageLoading:x,onImageError:C})}else z=new wv(i,{dpi:h,debug:d,box:m,polygon:y,imageLoading:x,onImageError:C});let L=z instanceof S3;L&&a&&(I=new wv(a,{dpi:h,debug:d,box:m,polygon:y,paintImages:!0,shouldPaintImage:(ut,wt)=>!sR(ut,wt),readiness:"immediate",imageLoading:x,onImageError:C}));let H=L&&!I?!0:!m,q={},st=E?.onRequestRender,et=g?new aj(g,{...E||{},sharedCanvasRenderer:z instanceof wv?z:void 0,onRequestRender:()=>{st&&st(),q.current&&q.current.updateNextFrame()}}):void 0,gt=new V3([z,I,r?new K3(r,{box:H,text:!0,triggerResize:n}):void 0,et]),it=new Xv(gt,new mu(1024,1024),e,M?[M]:[],b);q.current=it;let nt=new lR(i,it);return{name:"default-preset",em:nt,runtime:it,renderer:gt,controller:M,canvas:i,parityCanvas:I?a:void 0,navigator:g,unmount(){pR(it),it.stopControllers(),it.stop(),it.reset(),nt&&nt.stop()}}}var Qs=1+Number.MIN_VALUE,kj=class{constructor(t,e){A(this,"container",void 0),A(this,"width",void 0),A(this,"height",void 0),A(this,"pending",!0),A(this,"options",void 0),A(this,"stylesheet",void 0),A(this,"zIndex",0),A(this,"lastKnownScale",1),A(this,"rendererPosition",void 0),A(this,"currentlyVisible",[]),A(this,"previouslyVisible",[]),this.container=t,this.rendererPosition=t.getBoundingClientRect();let{width:n,height:i}=this.rendererPosition;this.width=n,this.height=i,this.options={addPart:!1,setDraggableFalse:!1,imageClass:"",widthStylesheet:!1,sheetPrefix:"position-",background:"#000",...e||{}},this.stylesheet=new Q3({sheetPrefix:this.options.sheetPrefix}),this.container.classList.add(this.stylesheet.addStylesheet(`
61
+ `),b(this,"attributes",void 0),b(this,"uniforms",void 0),b(this,"buffers",void 0),b(this,"rendererPosition",void 0),b(this,"dpi",void 0),b(this,"maxConcurrentTasks",6),b(this,"maxPrefetchPerFrame",8),b(this,"imageLoadingConfig",void 0),b(this,"imageRequestPool",void 0),b(this,"framePrefetchCount",0),b(this,"loadingCount",0),b(this,"hasTilesFading",!1),b(this,"firstMeaningfulPaint",!1),b(this,"frameSawFastPathCandidate",!1),b(this,"requiresRepaint",!0),b(this,"tileRequestQueue",[]),b(this,"queuedTileRequestKeys",new Set),b(this,"inFlightImageLoads",new Map),b(this,"requiredTileKeys",new Set),b(this,"requiredPrefetchTileKeys",new Set),b(this,"imagePaints",new Set),b(this,"requestGeneration",0),b(this,"idle",!1),b(this,"frameCounter",0),b(this,"pendingTileReveals",new Map),b(this,"activeLayerScissorRect",void 0),b(this,"onContextLost",n=>{n.preventDefault(),this.emitFatalImageError({reason:"webgl-context-lost",error:n})}),b(this,"viewRotation",0),b(this,"lastResize",0),b(this,"lastKnownScale",1),this.canvas=e,this.rendererPosition=e.getBoundingClientRect(),this.options=t||{},this.imageLoadingConfig=Qu(this.options.imageLoading),this.maxConcurrentTasks=this.imageLoadingConfig.maxConcurrentRequests,this.maxPrefetchPerFrame=this.imageLoadingConfig.maxPrefetchPerFrame,this.imageRequestPool=new Kp({timeoutMs:this.imageLoadingConfig.timeoutMs,crossOrigin:"anonymous",useFetch:!0,cache:!1});let i=e.getContext("webgl2");if(!i)throw this.emitFatalImageError({reason:"webgl-context-unavailable",error:Error("WebGL2 context unavailable")}),Error("WebGL2 context unavailable");this.gl=i,this.canvas.addEventListener("webglcontextlost",this.onContextLost),this.fragmentShader=this.createShader(this.gl.FRAGMENT_SHADER,this.fragmentShaderSource),this.vertexShader=this.createShader(this.gl.VERTEX_SHADER,this.vertexShaderSource),this.program=this.createProgram(this.vertexShader,this.fragmentShader),this.dpi=t?.dpi||1,this.attributes={position:this.gl.getAttribLocation(this.program,"a_position"),texCoord:this.gl.getAttribLocation(this.program,"a_texCoord")},this.uniforms={viewCenter:this.gl.getUniformLocation(this.program,"u_viewCenter"),viewAngle:this.gl.getUniformLocation(this.program,"u_viewAngle"),viewClip:this.gl.getUniformLocation(this.program,"u_viewClip"),clipMin:this.gl.getUniformLocation(this.program,"u_clipMin"),clipMax:this.gl.getUniformLocation(this.program,"u_clipMax"),resolution:this.gl.getUniformLocation(this.program,"u_resolution"),texture:this.gl.getUniformLocation(this.program,"u_texture"),alpha:this.gl.getUniformLocation(this.program,"u_alpha")},this.buffers={position:this.createArrayBuffer(),texCoord:this.createArrayBuffer(new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]))},this.rectBuffer=new Float32Array(12),this.resize(),this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height),this.gl.clearColor(0,0,0,0),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.useProgram(this.program),this.gl.enableVertexAttribArray(this.attributes.position),this.gl.enable(this.gl.BLEND),this.gl.blendFuncSeparate(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA,this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA),this.isImmediateReadiness()&&(this.firstMeaningfulPaint=!0)}isImmediateReadiness(){return this.options.readiness==="immediate"}emitFatalImageError(e){if(this.fatalImageError)return;let t={from:"webgl",to:"canvas",...e};this.fatalImageError=t,this.options.onFatalImageError&&this.options.onFatalImageError(t)}resize(){this.resizeCanvasToDisplaySize(),this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height),this.rendererPosition=this.canvas.getBoundingClientRect()}isReady(){return this.isImmediateReadiness()||this.firstMeaningfulPaint?!0:this.frameSawFastPathCandidate?!1:this.tileRequestQueue.length===0&&this.loadingCount===0&&this.inFlightImageLoads.size===0&&this.pendingTileReveals.size===0}beforeFrame(e,t,i,n){this.hasTilesFading=!1,this.requiresRepaint=!1,this.frameSawFastPathCandidate=!1,this.framePrefetchCount=0,this.frameCounter+=1,this.requiredTileKeys.clear(),this.requiredPrefetchTileKeys.clear(),this.flushTileRevealBatch(),this.viewRotation=n.viewRotation||0;let r=this.viewRotation*Math.PI/180;this.gl.uniform2f(this.uniforms.viewAngle,Math.cos(r),Math.sin(r)),this.gl.uniform2f(this.uniforms.viewCenter,n.viewCenter?.x||0,n.viewCenter?.y||0),this.gl.uniform1f(this.uniforms.viewClip,0);let o=Gp(n);this.canvas.style.filter!==o&&(this.canvas.style.filter=o),this.gl.clearColor(0,0,0,0),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.disable(this.gl.SCISSOR_TEST),this.activeLayerScissorRect=void 0,this.gl.vertexAttribPointer(this.attributes.position,2,this.gl.FLOAT,!1,0,0),this.gl.uniform2f(this.uniforms.resolution,this.gl.canvas.width/this.dpi,this.gl.canvas.height/this.dpi),this.lastResize>1e3&&(this.lastResize=0,this.resizeCanvasToDisplaySize()),this.lastResize+=t}getCompositeRenderOptions(e){return e.__parent?.renderOptions}shouldClipLayerToBounds(e){return e instanceof St||e instanceof At?!!this.getCompositeRenderOptions(e)?.clipToBounds:!1}getBoundsFromPoints(e){let t=1/0,i=1/0,n=-1/0,r=-1/0;for(let o=0;o<e.length;o+=5)e[o]&&(t=Math.min(t,e[o+1]),i=Math.min(i,e[o+2]),n=Math.max(n,e[o+3]),r=Math.max(r,e[o+4]));if(!(!Number.isFinite(t)||!Number.isFinite(i)||!Number.isFinite(n)||!Number.isFinite(r))&&!(n<=t||r<=i))return{x:t,y:i,width:n-t,height:r-i}}toScissorRect(e){let t=this.gl.canvas.width/this.dpi,i=this.gl.canvas.height/this.dpi,n=Math.max(0,Math.min(t,e.x)),r=Math.max(0,Math.min(i,e.y)),o=Math.max(0,Math.min(t,e.x+e.width)),s=Math.max(0,Math.min(i,e.y+e.height));if(o<=n||s<=r)return;let a=Math.floor(n*this.dpi),c=Math.floor((i-s)*this.dpi),u=Math.ceil((o-n)*this.dpi),l=Math.ceil((s-r)*this.dpi);if(a<0&&(u+=a,a=0),c<0&&(l+=c,c=0),u=Math.min(u,this.gl.canvas.width-a),l=Math.min(l,this.gl.canvas.height-c),!(u<=0||l<=0))return{x:a,y:c,width:u,height:l}}prepareLayer(e,t){if(this.activeLayerScissorRect=void 0,this.gl.uniform1f(this.uniforms.viewClip,0),this.viewRotation&&t&&this.shouldClipLayerToBounds(e)){let i=this.getBoundsFromPoints(t);i&&(this.gl.uniform1f(this.uniforms.viewClip,1),this.gl.uniform2f(this.uniforms.clipMin,i.x,i.y),this.gl.uniform2f(this.uniforms.clipMax,i.x+i.width,i.y+i.height))}else if(t&&this.shouldClipLayerToBounds(e)){let i=this.getBoundsFromPoints(t);if(i){let n=this.toScissorRect(i);n?(this.activeLayerScissorRect=n,this.gl.enable(this.gl.SCISSOR_TEST),this.gl.scissor(n.x,n.y,n.width,n.height)):(this.gl.enable(this.gl.SCISSOR_TEST),this.gl.scissor(0,0,0,0),this.activeLayerScissorRect={x:0,y:0,width:0,height:0})}}(!e.__host||!e.__host.webgl)&&((e instanceof St||e instanceof At)&&hm(e,0)&&this.createImageHost(e),e instanceof Es&&this.createTextureHost(e)),(e instanceof St||e instanceof At)&&this.imagePaints.add(e)}createTextureHost(e){e.__host=e.__host?e.__host:{};let t=this.gl,i=this.gl.createTexture();t.bindTexture(t.TEXTURE_2D,i),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,!1);let n;if(e instanceof Es){let r=e.getTexture();if(r.source)try{t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r.source)}catch(o){this.emitFatalImageError({reason:"teximage-security",contentId:e.id,error:o})}n=r}t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),e.__host.webgl={height:e.height,width:e.width,texture:i,lastImage:n}}createImageHost(e){let t=[...Array(e.points.length/5)];e.__host=e.__host?e.__host:{},e.__host.webgl={height:e.height,width:e.width,textures:t,loading:[],loaded:[],loadedAt:[],tileState:{},lastLevelRendered:-1,onLoad:(i,n)=>{let r=this.gl,o=this.gl.createTexture();r.bindTexture(r.TEXTURE_2D,o),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);try{r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,n)}catch(s){this.emitFatalImageError({reason:"teximage-security",imageUrl:e.getImageUrl?e.getImageUrl(i):void 0,contentId:e.id,tileIndex:i,error:s}),this.removeLoadingIndex(e,i);return}r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.bindTexture(r.TEXTURE_2D,null),e.__host.webgl.textures[i]=o,e.__host.webgl.loaded.push(i),e.__host.webgl.loadedAt[i]=void 0,this.setTileState(e,i,{...this.getTileState(e,i),state:"decoded",attempts:0,nextRetryAt:void 0,error:void 0}),this.enqueueTileReveal(this.getTileKey(e,i),e,i),this.requiresRepaint=!0,this.removeLoadingIndex(e,i)}}}removeLoadingIndex(e,t){if(!e.__host?.webgl?.loading)return;let i=e.__host.webgl.loading.indexOf(t);i!==-1&&(e.__host.webgl.loading.splice(i,1),this.loadingCount=Math.max(0,this.loadingCount-1),this.requiresRepaint=!0)}getTileKey(e,t){return`${e.id}::${e.display.scale}::${t}`}nextRequestKey(e){return this.requestGeneration+=1,`${e}::${this.requestGeneration}`}getTileState(e,t){let i=e.__host?.webgl;return i?(i.tileState||(i.tileState={}),i.tileState[t]||(i.tileState[t]={state:"idle"}),i.tileState[t]):{state:"idle"}}setTileState(e,t,i){let n=e.__host?.webgl;n&&(n.tileState||(n.tileState={}),n.tileState[t]=i)}markTileRequired(e,t){if(t){this.requiredPrefetchTileKeys.add(e);return}this.requiredTileKeys.add(e)}isTileRequired(e){return this.requiredTileKeys.has(e)||this.requiredPrefetchTileKeys.has(e)}shouldSkipFade(e,t=performance.now()){return e?.requestedAt?t-e.requestedAt<=this.imageLoadingConfig.skipFadeIfLoadedWithinMs:!1}enqueueTileReveal(e,t,i){let n=performance.now();if(this.imageLoadingConfig.revealDelayFrames===0&&this.imageLoadingConfig.revealBatchWindowFrames===0){t.__host?.webgl?.loadedAt&&(t.__host.webgl.loadedAt[i]=n);let r=this.getTileState(t,i);this.setTileState(t,i,{...r,skipFade:this.shouldSkipFade(r,n)});return}this.pendingTileReveals.set(e,{paint:t,index:i,queuedFrame:this.frameCounter})}flushTileRevealBatch(){if(this.pendingTileReveals.size===0)return;let e=this.imageLoadingConfig.revealDelayFrames,t=this.imageLoadingConfig.revealBatchWindowFrames,i=performance.now(),n=[...this.pendingTileReveals.entries()].sort((o,s)=>o[1].queuedFrame-s[1].queuedFrame),r=0;for(;r<n.length;){let o=n[r];if(this.frameCounter-o[1].queuedFrame<e)break;let s=o[1].queuedFrame+t;for(;r<n.length&&n[r][1].queuedFrame<=s;){let[a,c]=n[r],u=c.paint.__host?.webgl,l=this.getTileState(c.paint,c.index);u?.loadedAt&&l.state==="decoded"&&!u.loadedAt[c.index]&&(u.loadedAt[c.index]=i,this.setTileState(c.paint,c.index,{...l,skipFade:this.shouldSkipFade(l,i)}),this.requiresRepaint=!0),this.pendingTileReveals.delete(a),r+=1}}}emitImageError(e){this.options.onImageError&&this.options.onImageError({renderer:"webgl",...e})}releaseInFlightTileLoad(e,t={}){let i=this.inFlightImageLoads.get(e);i&&(i.release(t),this.inFlightImageLoads.delete(e))}pruneStaleTileWork(){this.tileRequestQueue=this.tileRequestQueue.filter(e=>{if(this.isTileRequired(e.tileKey))return!0;this.queuedTileRequestKeys.delete(e.key);let t=this.getTileState(e.paint,e.index);return t.lastRequestKey===e.requestKey&&t.state==="queued"&&this.setTileState(e.paint,e.index,{...t,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(e.tileKey),!1});for(let[e,t]of[...this.inFlightImageLoads.entries()]){if(this.isTileRequired(e))continue;let i=this.getTileState(t.paint,t.index);i.lastRequestKey===t.requestKey&&i.state==="loading"&&this.setTileState(t.paint,t.index,{...i,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(e),this.removeLoadingIndex(t.paint,t.index),this.releaseInFlightTileLoad(e,{silent:!0})}}getPrefetchRadius(e){let t=this.getCompositeRenderOptions(e);return t?typeof t.prefetchRadius=="number"?Math.max(0,t.prefetchRadius):t.loadingBias==="speed"?2:t.loadingBias==="data"?0:1:0}isLayerActive(e){let t=e.__parent;return t&&typeof t.isImageActive=="function"?!!t.isImageActive(e):!0}shouldDrawLayer(e,t,i){return(this.getCompositeRenderOptions(e)?.layerPolicy||"fallback-only")==="active-only"?i?!0:!!(e.__host?.webgl?.texture?e.__host.webgl.texture:e.__host?.webgl?.textures?.[t]):!0}getFadeAlpha(e,t,i){if(this.getTileState(e,t).skipFade)return 1;if(this.getTileState(e,t).state==="decoded"&&!e.__host?.webgl?.loadedAt?.[t]&&(this.imageLoadingConfig.revealDelayFrames>0||this.imageLoadingConfig.revealBatchWindowFrames>0))return 0;let n=this.getCompositeRenderOptions(e);if(!n||!n.fadeInMs||n.fadeInMs<=0)return 1;let r=n.fadeInMs,o=performance.now(),s=1;if(i&&n.fadeOnLayerChange&&n.layerPolicy!=="active-only"){let a=e.__parent;if(a&&typeof a.getImageActivatedAt=="function"){let c=a.getImageActivatedAt(e);typeof c=="number"&&(s=Math.min(s,Math.max(0,Math.min(1,(o-c)/r))))}}if(e.__host?.webgl?.loadedAt?.[t]&&(i||n.fadeFallbackTiles)){let a=this.getTileState(e,t);a.fadeStartedAt||(a.fadeStartedAt=o),s=Math.min(s,Math.max(0,Math.min(1,(o-a.fadeStartedAt)/r)))}return s}getTileRequestKey(e,t){return`${e.id}::${e.display.scale}::${t}`}getCompositeOwner(e){let t=e?.__parent;return t&&t.renderOptions?t:void 0}compareCompositeLoadPriority(e,t){let i=this.getCompositeOwner(e),n=this.getCompositeOwner(t);if(!i||i!==n)return 0;let r=e?.display.scale||0;return(t?.display.scale||0)-r}enqueueTileRequest(e,t,i,n){if(this.idle||!e.getImageUrl||!e.__host?.webgl)return!1;let r=this.getTileKey(e,t);if(this.markTileRequired(r,n),(e.__host.webgl.texture?e.__host.webgl.texture:e.__host.webgl.textures?.[t])||e.__host.webgl.loading&&e.__host.webgl.loading.indexOf(t)!==-1)return!1;let o=this.getTileState(e,t),s=performance.now();if(o.nextRetryAt&&o.nextRetryAt>s)return!1;let a=this.getTileRequestKey(e,t);if(this.queuedTileRequestKeys.has(a))return!1;let c=this.nextRequestKey(r);return this.pendingTileReveals.delete(r),this.setTileState(e,t,{...o,state:"queued",requestedAt:s,lastRequestKey:c,cancelledAt:void 0,error:void 0,skipFade:!1}),this.tileRequestQueue.push({key:a,tileKey:r,requestKey:c,paint:e,index:t,url:e.getImageUrl(t),priority:i,scale:e.display.scale,prefetch:n}),this.queuedTileRequestKeys.add(a),this.requiresRepaint=!0,!0}schedulePrefetchNeighbours(e,t,i){if(this.framePrefetchCount>=this.maxPrefetchPerFrame||this.getCompositeRenderOptions(e)?.loadingBias==="data")return;let n=this.getPrefetchRadius(e);if(n<=0||!e.columns||!e.rows)return;let r=t%e.columns,o=Math.floor(t/e.columns);for(let s=1;s<=n;s++)for(let a=-s;a<=s;a++)for(let c=-s;c<=s;c++){if(Math.max(Math.abs(c),Math.abs(a))!==s)continue;let u=r+c,l=o+a;if(u<0||l<0||u>=e.columns||l>=e.rows)continue;let d=l*e.columns+u;if(this.enqueueTileRequest(e,d,i+s*1e3,!0)&&(this.framePrefetchCount++,this.framePrefetchCount>=this.maxPrefetchPerFrame))return}}processTileQueue(){if(!(this.idle||!this.tileRequestQueue.length))for(this.tileRequestQueue.sort((e,t)=>{if(e.prefetch!==t.prefetch)return e.prefetch?1:-1;let i=this.compareCompositeLoadPriority(e.paint,t.paint);return i===0?e.priority===t.priority?t.scale-e.scale:e.priority-t.priority:i});this.loadingCount<this.maxConcurrentTasks&&this.tileRequestQueue.length;){let e=this.tileRequestQueue.shift();this.queuedTileRequestKeys.delete(e.key);let t=e.paint.__host?.webgl;if(!t||!e.paint.getImageUrl)continue;let i=this.getTileState(e.paint,e.index);if(i.lastRequestKey!==e.requestKey||(t.texture?t.texture:t.textures?.[e.index])||t.loading&&t.loading.indexOf(e.index)!==-1)continue;this.setTileState(e.paint,e.index,{...i,state:"loading",url:e.url,requestedAt:i.requestedAt||performance.now()}),t.loading.push(e.index),this.loadingCount++,this.requiresRepaint=!0;let n=`${e.tileKey}::${e.requestKey}`,r=this.imageRequestPool.acquire(e.url,n);this.inFlightImageLoads.set(e.tileKey,{tileKey:e.tileKey,requestKey:e.requestKey,consumerId:n,paint:e.paint,index:e.index,release:r.release}),r.promise.then(o=>{if(this.inFlightImageLoads.get(e.tileKey)?.requestKey!==e.requestKey)return;this.releaseInFlightTileLoad(e.tileKey,{silent:!0});let s=this.getTileState(e.paint,e.index);if(s.lastRequestKey!==e.requestKey||s.state!=="loading"){this.removeLoadingIndex(e.paint,e.index);return}e.paint.__host?.webgl?.onLoad(e.index,o)}).catch(o=>{if(this.inFlightImageLoads.get(e.tileKey)?.requestKey!==e.requestKey)return;if(this.releaseInFlightTileLoad(e.tileKey,{silent:!0}),ed(o)){let l=this.getTileState(e.paint,e.index);l.lastRequestKey===e.requestKey&&this.setTileState(e.paint,e.index,{...l,state:"idle",cancelledAt:performance.now()}),this.pendingTileReveals.delete(e.tileKey),this.removeLoadingIndex(e.paint,e.index);return}let s=this.getTileState(e.paint,e.index);if(s.lastRequestKey!==e.requestKey){this.removeLoadingIndex(e.paint,e.index);return}let a=(s.attempts||0)+1,c=a<this.imageLoadingConfig.maxAttempts,u=c?performance.now()+Ju(this.imageLoadingConfig,a):performance.now()+this.imageLoadingConfig.errorRetryIntervalMs;this.setTileState(e.paint,e.index,{...s,state:c?"idle":"error",attempts:a,nextRetryAt:u,error:o}),this.pendingTileReveals.delete(e.tileKey),this.removeLoadingIndex(e.paint,e.index),this.emitImageError({severity:"recoverable",imageUrl:e.url,contentId:e.paint.id,tileIndex:e.index,attempt:a,maxAttempts:this.imageLoadingConfig.maxAttempts,willRetry:c,nextRetryAt:u,error:o}),!c&&this.options.fallbackOnImageLoadError&&this.emitFatalImageError({reason:"image-cors-or-load",imageUrl:e.url,contentId:e.paint.id,tileIndex:e.index,error:o})}).finally(()=>{this.processTileQueue()})}}paint(e,t,i,n,r,o){if(e.type!=="spacial-content"||!e.__host||!e.__host.webgl)return;let s=e instanceof St||e instanceof At;if(s&&!hm(e,t))return;s&&(this.frameSawFastPathCandidate=!0);let a=s?this.isLayerActive(e):!0;if(e.getTexture){let u=e.getTexture();if(u&&e.__host.webgl.lastImage!==u.hash&&u.source&&!e.__host.webgl.error)try{let l=this.gl.RGBA,d=this.gl.RGBA,h=this.gl.UNSIGNED_BYTE;this.gl.bindTexture(this.gl.TEXTURE_2D,e.__host.webgl.texture),this.gl.texImage2D(this.gl.TEXTURE_2D,0,l,d,h,u.source),e.__host.webgl.lastImage=u.hash}catch(l){e.__host.webgl.error=l,this.emitFatalImageError({reason:"teximage-security",contentId:e.id,tileIndex:t,error:l})}}let c=e.__host.webgl.texture?e.__host.webgl.texture:e.__host.webgl.textures[t];if(s&&a){let u=this.gl.canvas.width/this.dpi/2,l=this.gl.canvas.height/this.dpi/2,d=i+r/2,h=n+o/2,p=Math.hypot(d-u,h-l);c||this.enqueueTileRequest(e,t,p,!1),e instanceof At&&this.schedulePrefetchNeighbours(e,t,p)}if(!(s&&!this.shouldDrawLayer(e,t,a))&&c){let u=s&&typeof e.style?.opacity=="number"?e.style.opacity:1,l=typeof e.__zoneVisibilityAlpha=="number"?e.__zoneVisibilityAlpha:1;if(!u)return;let d=s?this.getFadeAlpha(e,t,a):1;d<1&&(this.hasTilesFading=!0);let h=u*d*l;this.gl.enableVertexAttribArray(this.attributes.texCoord),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffers.texCoord),this.gl.enableVertexAttribArray(this.attributes.texCoord),this.gl.vertexAttribPointer(this.attributes.texCoord,2,this.gl.FLOAT,!1,0,0),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffers.position),this.gl.enableVertexAttribArray(this.attributes.position),this.gl.vertexAttribPointer(this.attributes.position,2,this.gl.FLOAT,!1,0,0),this.gl.bindTexture(this.gl.TEXTURE_2D,c),this.gl.uniform1i(this.uniforms.texture,0),this.gl.uniform1f(this.uniforms.alpha,h),this.setRectangle(i,n,r,o),this.gl.drawArrays(this.gl.TRIANGLES,0,6),!this.isImmediateReadiness()&&s&&h>0&&(this.firstMeaningfulPaint=!0)}}afterPaintLayer(e,t){}pendingUpdate(){return this.idle?!1:this.requiresRepaint||this.tileRequestQueue.length>0||this.loadingCount>0||this.inFlightImageLoads.size>0||this.pendingTileReveals.size>0||this.hasTilesFading}getPointsAt(e,t,i,n,r){return e.getPointsAt(t,i,n,r)}afterFrame(){this.pruneStaleTileWork(),this.processTileQueue()}getScale(e,t,i){if(Number.isNaN(e)||Number.isNaN(t))return this.lastKnownScale;let n=this.getCanvasDims(),r=n.width/e,o=n.height/t,s=(r<o?o:r)*(i&&this.dpi||1);return Number.isNaN(s)||(this.lastKnownScale=s),this.lastKnownScale}getCanvasDims(){return{width:this.canvas.width/this.dpi,height:this.canvas.height/this.dpi}}getViewportBounds(e,t,i){return null}createShader(e,t){let i=this.gl.createShader(e);if(i){if(this.gl.shaderSource(i,t),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS))return i;let n=this.gl.getShaderInfoLog(i);if(this.gl.deleteShader(i),n)throw Error(n)}throw Error("Invalid shader")}createProgram(e,t){let i=this.gl.createProgram();if(i){if(this.gl.attachShader(i,e),this.gl.attachShader(i,t),this.gl.linkProgram(i),this.gl.getProgramParameter(i,this.gl.LINK_STATUS))return i;let n=this.gl.getProgramInfoLog(i);if(this.gl.deleteProgram(i),n)throw Error(n)}throw Error("Invalid program")}resizeCanvasToDisplaySize(){let e=this.gl.canvas,t=e.clientWidth,i=e.clientHeight,n=Math.round(t*this.dpi),r=Math.round(i*this.dpi),o=e.width!==n||e.height!==r;return o&&(e.width=n,e.height=r),o}createArrayBuffer(e){let t=this.gl.createBuffer();if(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,t),e&&this.gl.bufferData(this.gl.ARRAY_BUFFER,e,this.gl.STATIC_DRAW),!t)throw Error("Cannot create buffer");return t}setRectangle(e,t,i,n){this.gl.bufferData(this.gl.ARRAY_BUFFER,this.getRectangle(e,t,i,n),this.gl.STATIC_DRAW)}getRectangle(e,t,i,n){let r=e,o=e+i,s=t,a=t+n;return this.rectBuffer.set([r,s,o,s,r,a,r,a,o,s,o,a]),this.rectBuffer}getRendererScreenPosition(){return this.rendererPosition}finishLayer(){this.activeLayerScissorRect&&(this.gl.disable(this.gl.SCISSOR_TEST),this.activeLayerScissorRect=void 0)}resetReadyState(){this.isImmediateReadiness()||(this.firstMeaningfulPaint=!1)}resetImageFadeState(){let e=performance.now();for(let t of this.imagePaints){if(!(t instanceof St||t instanceof At))continue;let i=t.__host?.webgl;if(!(!i?.tileState||!i.loadedAt))for(let n of Object.keys(i.tileState)){let r=Number(n),o=this.getTileState(t,r);o.state==="decoded"&&(i.loadedAt[r]=e,this.setTileState(t,r,{...o,fadeStartedAt:void 0,skipFade:!1}))}}this.hasTilesFading=!0,this.requiresRepaint=!0}setIdle(e){this.idle!==e&&(this.idle=e,e?(this.requiredTileKeys.clear(),this.requiredPrefetchTileKeys.clear(),this.pruneStaleTileWork()):this.requiresRepaint=!0)}reset(){this.canvas.removeEventListener("webglcontextlost",this.onContextLost),this.canvas.style.filter="none",this.framePrefetchCount=0,this.loadingCount=0,this.hasTilesFading=!1,this.requiresRepaint=!1,this.tileRequestQueue=[],this.queuedTileRequestKeys.clear();for(let e of[...this.inFlightImageLoads.keys()])this.releaseInFlightTileLoad(e,{silent:!0});this.imageRequestPool.cancelAll({silent:!0}),this.inFlightImageLoads.clear(),this.requiredTileKeys.clear(),this.requiredPrefetchTileKeys.clear(),this.pendingTileReveals.clear(),this.imagePaints.clear(),this.requestGeneration+=1,this.frameCounter=0,this.frameSawFastPathCandidate=!1,this.firstMeaningfulPaint=this.isImmediateReadiness()}};function xm({interactive:e=!0,viewport:t,forceRefresh:i,canvasElement:n,parityCanvasElement:r,overlayElement:o,controllerConfig:s,interactionMode:a="popmotion",unstable_webglRenderer:c,dpi:u,debug:l,canvasBox:d=!0,polygon:h=!0,navigatorElement:p,runtimeOptions:f,onWebGLFallback:m,onImageError:g,imageLoading:y,webglFallbackOnImageLoadError:x,webglReadiness:w,navigatorRendererOptions:R}){if(!n)throw Error("Invalid container");n.style.userSelect="none";let v=e?(a==="pdf-scroll-zone"?nd:pl)({minZoomFactor:.5,maxZoomFactor:3,enableClickToZoom:!1,parentElement:n,...s||{}}):void 0,S,C;if(c)try{S=new fm(n,{dpi:u,onFatalImageError:m,onImageError:g,imageLoading:y,fallbackOnImageLoadError:x,readiness:w})}catch{S=new Ar(n,{dpi:u,debug:l,box:d,polygon:h,imageLoading:y,onImageError:g})}else S=new Ar(n,{dpi:u,debug:l,box:d,polygon:h,imageLoading:y,onImageError:g});let T=S instanceof fm;if(T&&r)try{C=new Ar(r,{dpi:u,debug:l,box:d,polygon:h,paintImages:!0,shouldPaintImage:(G,ee)=>!hm(G,ee),readiness:"immediate",imageLoading:y,onImageError:g})}catch{C=void 0}let I=T&&!C?!0:!d,E={},V=R?.onRequestRender,Y=p?new A0(p,{...R||{},sharedCanvasRenderer:S instanceof Ar?S:void 0,onRequestRender:()=>{V&&V(),E.current&&E.current.updateNextFrame()}}):void 0,Q=new td([S,C,o?new gm(o,{box:I,text:!0,triggerResize:i}):void 0,Y]),z=new Ms(Q,new Gn(1024,1024),t,v?[v]:[],f);E.current=z;let O=new dl(n,z);return{name:"default-preset",em:O,runtime:z,renderer:Q,controller:v,canvas:n,parityCanvas:C?r:void 0,navigator:p,unmount(){gd(z),z.stopControllers(),z.stop(),z.reset(),O&&O.stop()}}}var Mr=1+Number.MIN_VALUE,O0=class{constructor(e,t){b(this,"container",void 0),b(this,"width",void 0),b(this,"height",void 0),b(this,"pending",!0),b(this,"options",void 0),b(this,"stylesheet",void 0),b(this,"zIndex",0),b(this,"lastKnownScale",1),b(this,"rendererPosition",void 0),b(this,"idle",!1),b(this,"loadingImages",new Set),b(this,"pausedImages",new Map),b(this,"currentlyVisible",[]),b(this,"previouslyVisible",[]),this.container=e,this.rendererPosition=e.getBoundingClientRect();let{width:i,height:n}=this.rendererPosition;this.width=i,this.height=n,this.options={addPart:!1,setDraggableFalse:!1,imageClass:"",widthStylesheet:!1,sheetPrefix:"position-",background:"#000",...t||{}},this.stylesheet=new I0({sheetPrefix:this.options.sheetPrefix}),this.container.classList.add(this.stylesheet.addStylesheet(`
65
62
  background: ${this.options.background};
66
- `)),this.options.widthStylesheet&&this.container.appendChild(this.stylesheet.getElement())}isReady(){return!0}resize(){this.rendererPosition=this.container.getBoundingClientRect(),this.width=this.rendererPosition.width,this.height=this.rendererPosition.height,this.pending=!0}getRendererScreenPosition(){return this.rendererPosition}afterFrame(t,e,n){this.stylesheet.updateSheet();for(let i of this.previouslyVisible)this.currentlyVisible.indexOf(i)===-1&&this.container.removeChild(i);for(let i of this.currentlyVisible)this.previouslyVisible.indexOf(i)===-1&&this.container.appendChild(i);this.previouslyVisible=this.currentlyVisible,this.currentlyVisible=[],this.pending=!1}afterPaintLayer(t,e){}beforeFrame(t,e,n){this.stylesheet.clearClasses(),this.zIndex=0}getPointsAt(t,e,n,i){return t.getPointsAt(e,n,i)}getScale(t,e){if(Number.isNaN(t)||Number.isNaN(e))return this.lastKnownScale;let n=this.width/t,i=this.height/e,a=n<i?i:n;return Number.isNaN(a)||(this.lastKnownScale=a),this.lastKnownScale}getViewportBounds(t,e,n){return null}createImage(){let t=document.createElement("img");return this.options.imageClass?(t.className=this.options.imageClass,this.options.addPart&&t.setAttribute("part",this.options.imageClass)):(t.style.position="absolute",t.style.pointerEvents="none",t.style.userSelect="none"),this.options.setDraggableFalse&&t.setAttribute("draggable","false"),t}paint(t,e,n,i,a,r){if(this.zIndex++,t instanceof yi){if(!t.__host){let u=this.createImage();u.src=t.uri,t.__host=u,this.container.appendChild(t.__host)}let l=t.__host;this.currentlyVisible.push(l),l.style.zIndex=`${this.zIndex}`,l.style.opacity=`${t.style.opacity}`,this.options.widthStylesheet?l.className=this.options.imageClass+" "+this.stylesheet.addStylesheet(`width:${(a+Qs).toFixed(2)}px;height:${(r+Qs).toFixed(2)}px;`):(l.style.width=`${a+Qs}px`,l.style.height=`${r+Qs}px`),l.style.transform=`translate(${n}px, ${i}px)`}if(t instanceof Ei){if(t.__host||(t.__host={images:[]}),!t.__host.images[e]){let u=t.getImageUrl(e),f=this.createImage();f.src=u,t.__host.images[e]=f,this.container.appendChild(f)}let l=t.__host.images[e];l.style.zIndex=`${this.zIndex}`,l.style.opacity=`${t.style.opacity}`,this.currentlyVisible.push(l),this.options.widthStylesheet?l.className=this.options.imageClass+" "+this.stylesheet.addStylesheet(`width:${(a+Qs).toFixed(2)}px;height:${(r+Qs).toFixed(2)}px;`):(l.style.width=`${a+Qs}px`,l.style.height=`${r+Qs}px`),l.style.transform=`translate(${n}px, ${i}px)`}}pendingUpdate(){return this.pending}prepareLayer(t){}finishLayer(t){}reset(){this.pending=!0}};function Gj({interactive:t,viewport:e,forceRefresh:n,containerElement:i,overlayElement:a,controllerConfig:r,interactionMode:l="popmotion"}){if(!i)throw Error("Invalid container");i.style.userSelect="none";let u=t?(l==="pdf-scroll-zone"?W3:hR)({minZoomFactor:.5,maxZoomFactor:3,enableClickToZoom:!1,parentElement:i,...r||{}}):void 0,f=new kj(i,{addPart:!1,setDraggableFalse:!1,imageClass:"atlas-static-image"}),h=a?new V3([f,new K3(a,{box:!0,text:!0,triggerResize:n})]):f,d=new Xv(h,new mu(1024,1024),e,u?[u]:[]),m=new lR(i,d);return{name:"static-preset",em:m,runtime:d,renderer:h,controller:u,container:i,overlay:a,unmount(){pR(d),d.stopControllers(),d.stop(),m&&m.stop()}}}var Yj={"default-preset":uD,"static-preset":Gj},Xj={};function Qj(t,e){let n=(0,k.useRef)(),i=(0,k.useRef)(),a=(0,k.useRef)(),r=(0,k.useRef)(),l=(0,k.useRef)(),u=(0,k.useRef)({x:0,y:0,width:e.width,height:e.height,scale:1,didUpdate:!0}),f=(0,k.useRef)({onWebGLFallback:e.onWebGLFallback,onImageError:e.onImageError}),[h="default-preset",d=Xj]=Array.isArray(t)?t||[]:[t],[m,y]=(0,k.useState)(null);return(0,k.useLayoutEffect)(()=>{f.current.onWebGLFallback=e.onWebGLFallback,f.current.onImageError=e.onImageError},[e.onImageError,e.onWebGLFallback]),(0,k.useLayoutEffect)(()=>{let g=i.current,b=l.current,T=n.current,C=r.current,x=(Yj[h]||uD)({containerElement:b,canvasElement:g,parityCanvasElement:a.current,overlayElement:T,navigatorElement:C,viewport:u.current,dpi:window.devicePixelRatio||1,forceRefresh:e.forceRefresh,controllerConfig:e.controllerConfig,interactionMode:e.interactionMode,unstable_webglRenderer:e.unstable_webglRenderer,onWebGLFallback:w=>{f.current.onWebGLFallback&&f.current.onWebGLFallback(w)},onImageError:w=>{f.current.onImageError&&f.current.onImageError(w)},imageLoading:e.imageLoading,webglFallbackOnImageLoadError:e.webglFallbackOnImageLoadError,webglReadiness:e.webglReadiness,runtimeOptions:e.runtimeOptions,...d||{}});return y(x),()=>{if(x){let w=x.runtime.getViewport();u.current={...u.current,...w,didUpdate:!0},x.unmount(),g&&(g.height=0,g.width=0),T&&(T.innerHTML=""),C&&(C.height=0,C.width=0)}}},[h,d,e.unstable_webglRenderer,e.controllerConfig,e.interactionMode,e.imageLoading,e.webglFallbackOnImageLoadError,e.webglReadiness]),[h,m,u,(0,k.useMemo)(()=>({canvas:i,parityCanvas:a,overlay:n,container:l,navigator:r}),[])]}function Kj(t){let e=t;if(Array.isArray(e?.renderers))return"composite";let n=e?.constructor?.name||"";return n==="CanvasRenderer"?"canvas":n==="WebGLRenderer"?"webgl":n==="StaticRenderer"?"static":"unknown"}var x3=["brightness","contrast","grayscale","hueRotate","invert","saturate","sepia","blur"],Zj=(0,k.memo)(function(t){let{htmlChildren:e,renderPreset:n,onCreated:i,mode:a="explore",resetWorldOnChange:r=!0,unstable_webglRenderer:l=!1,onWebGLFallback:u,onReady:f,onImageError:h,readyResetKey:d,webglFallbackOnImageLoadError:m=!1,webglReadiness:y,imageLoading:g,unstable_noReconciler:b=!1,hideInlineStyle:T=!1,controllerConfig:C,interactionMode:x="popmotion",children:w,overlayStyle:R,containerStyle:E,enableNavigator:M,className:z,containerProps:I={},homePosition:L,homeOnResize:H,homeCover:q,background:st,navigatorOptions:et,runtimeOptions:gt,debug:it,filters:nt,homePaddingPx:ut,devTools:wt,...Y}=t;qj(t,"Atlas.tsx",t.debug);let[yt,Mt]=(0,k.useState)(a),[qt,Kt]=(0,k.useState)(l),te=(0,k.useRef)(!1),ue=(0,k.useRef)(null),ft=(0,k.useRef)(null),Ht=(0,k.useRef)(void 0),ee=(0,k.useRef)(void 0),[Gt,re]=(0,k.useState)(!1),Ce=(0,k.useRef)(void 0),[Zt,fe]=(0,k.useState)(!1),[Ft,tn]=(0,k.useState)(!1),[Jt,ze]=(0,k.useState)(!1),oi=(0,k.useRef)(!1),Un=et?.style?.background,lt=et?.style?.objectFill,Tt=et?.style?.objectStroke,Vt=et?.style?.viewportFill,_=et?.style?.viewportStroke,B=et?.style?.viewportLineWidth,rt=et?.pdfScrollZoneZoneWindow?.total,ht=et?.pdfScrollZoneZoneWindow?.before,xt=et?.pdfScrollZoneZoneWindow?.after,U=(0,k.useMemo)(()=>{if(!(Un===void 0&&lt===void 0&&Tt===void 0&&Vt===void 0&&_===void 0&&B===void 0))return{background:Un,objectFill:lt,objectStroke:Tt,viewportFill:Vt,viewportStroke:_,viewportLineWidth:B}},[Un,lt,Tt,Vt,_,B]),P=(0,k.useMemo)(()=>{if(x==="pdf-scroll-zone")return{total:rt??9,before:ht,after:xt}},[x,xt,ht,rt]),W=(0,k.useCallback)($=>{it&&console.debug("[Atlas navigator]",$)},[it]),J=(0,k.useMemo)(()=>({width:et?.width??120,idleFade:et?.idleFade??!0,idleMs:et?.idleMs??800,fadeDurationMs:et?.fadeDurationMs??250,opacityActive:et?.opacityActive??.94,opacityIdle:et?.opacityIdle??0,style:U,zoneWindow:P}),[et?.fadeDurationMs,et?.idleFade,et?.idleMs,et?.opacityActive,et?.opacityIdle,et?.width,U,P]),Lt=(0,k.useMemo)(()=>{let $="default-preset",mt={},vt=!1;if(Array.isArray(n)?($=n[0],mt={...n[1]||{}},vt=!0):typeof n=="string"&&($=n),it&&(mt.debug=it,vt=!0),$==="default-preset"){let $t={};J.style&&($t.style=J.style),J.zoneWindow&&($t.zoneWindow=J.zoneWindow),it&&($t.onDebugEvent=W),Object.keys($t).length>0&&(mt.navigatorRendererOptions={...mt.navigatorRendererOptions||{},...$t},vt=!0)}return vt?[$,mt]:n||"default-preset"},[n,it,W,J.style,J.zoneWindow]),[Yt,Pt,X]=dx({scroll:!0}),at=(0,k.useRef)(),Ct=$=>{at.current=$,Yt($)},At=(0,k.useCallback)($=>{te.current||(te.current=!0,ft.current&&(ue.current=ft.current.getViewport()),Kt(!1),u&&u($))},[u]),Rt=(0,k.useCallback)($=>{if(ue.current&&($.runtime.setViewport(ue.current),$.runtime.updateNextFrame(),ue.current=null),i)return i($)},[i]),[Ut,G,Bt,he]=Qj(Lt,{width:Y.width,height:Y.height,forceRefresh:X,controllerConfig:C,interactionMode:x,unstable_webglRenderer:qt,onWebGLFallback:At,onImageError:h,webglFallbackOnImageLoadError:m,webglReadiness:y,imageLoading:g,runtimeOptions:gt});(0,k.useEffect)(()=>{if(G)return Tj(G)},[G]);let[qe,Le]=(0,k.useState)("");(0,k.useEffect)(()=>{Mt(a)},[a]),(0,k.useEffect)(()=>{re(!1),ft.current=G?G.runtime:null,Ht.current=void 0,ee.current=void 0},[G]),(0,k.useEffect)(()=>{if(!l){Kt(!1);return}te.current||Kt(!0)},[l]),(0,k.useEffect)(()=>{if(!G||!f)return;let $=G.runtime;return $.world.addLayoutSubscriber(mt=>{if(mt!=="ready")return;let vt=$.getReadyState();ee.current!==vt.cycle&&(ee.current=vt.cycle,vt.timestamp&&f({runtimeId:$.id,cycle:vt.cycle,reason:vt.reason,renderer:Kj($.renderer),timestamp:vt.timestamp}))})},[G,f]),(0,k.useEffect)(()=>{if(G){if(d===void 0){Ht.current=void 0;return}if(Ht.current===void 0){Ht.current=d;return}Ht.current!==d&&(Ht.current=d,ee.current=void 0,G.runtime.resetReadyState("ready-reset-key-change"))}},[G,d]),(0,k.useEffect)(()=>{G&&G.em&&G.em.updateBounds()},[G,Pt]),(0,k.useEffect)(()=>{G&&G.runtime.setOptions(gt||{})},[G,gt]),(0,k.useEffect)(()=>{G&&G.runtime&&(G.runtime.mode=yt),Gt&&G&&(G.ready=!0)},[G,Gt,yt]),(0,k.useEffect)(()=>{G&&(q||(G.runtime.manualHomePosition=x==="pdf-scroll-zone"||!!L,G.runtime.setHomePosition(L)))},[G,q,L,x]),(0,k.useEffect)(()=>{G&&G.runtime.setHomePaddingPx(ut)},[G,ut]),(0,k.useEffect)(()=>{if(G){let $=G.runtime;(Bt.current.width!==Y.width||Bt.current.height!==Y.height)&&($.resize(Bt.current.width,Y.width,Bt.current.height,Y.height),Bt.current.width=Y.width,Bt.current.height=Y.height,Bt.current.didUpdate=!0,$.updateNextFrame())}},[G,Y.width,Y.height,Bt]),(0,k.useEffect)(()=>{if(nt&&G){let $=G.runtime,mt=!1;$.hookOptions.enableFilters=!0;for(let vt of x3)nt[vt]?nt[vt]!==G.runtime.hookOptions.filters[vt]&&($.hookOptions.filters[vt]=nt[vt],mt=!0):$.hookOptions.filters[vt]&&($.hookOptions.filters[vt]=0,mt=!0);mt&&$.updateNextFrame()}else if(G){let $=G.runtime;for(let mt of x3)$.hookOptions.filters[mt]=0;$.hookOptions.enableFilters=!1,$.updateNextFrame()}},[G,nt]);function je(){if(G&&(G.overlay&&(G.overlay.style.width=`${Pt.width}px`,G.overlay.style.height=`${Pt.height}px`),G.container&&(G.container.style.width=`${Pt.width}px`,G.container.style.height=`${Pt.height}px`),q)){let $=G.runtime.world.width,mt=G.runtime.world.height,vt=$/mt,$t=Bt.current.width,Se=Bt.current.height,en=$t/Se;if(vt>en){en=Se/$t,G.runtime.manualHomePosition=!0;let qn=($-mt/en)/2;q==="start"&&(qn=0),q==="end"&&(qn=$-mt/en);let sa={x:qn,y:0,width:mt/en,height:mt};G.runtime.setHomePosition(sa)}else{let qn=(mt-$/en)/2;q==="start"&&(qn=0),q==="end"&&(qn=mt-$/en),G.runtime.manualHomePosition=!0;let sa={x:0,y:qn,width:$,height:$/en};G.runtime.setHomePosition(sa)}H&&G.runtime.goHome({})}}Jh(()=>{je()},[G,t.runtimeOptions?.maxOverZoom,Pt.height,Pt.width,q]),Jh(()=>{let $=()=>{if(G){let mt=G.runtime;(Bt.current.width!==Y.width||Bt.current.height!==Y.height)&&(mt.resize(Bt.current.width,Y.width,Bt.current.height,Y.height),Bt.current.width=Y.width,Bt.current.height=Y.height,mt.updateNextFrame(),Bt.current.didUpdate=!0)}};return window.addEventListener("resize",$),()=>window.removeEventListener("resize",$)},[G,Y.height,Y.width]);let Cn=()=>{if(!G)return;let $=G.renderer;if(Array.isArray($.renderers))return $.renderers.find(mt=>typeof mt.invalidateWorldLayer=="function")},Kn=(0,k.useCallback)(()=>{if(!G)return window.devicePixelRatio||1;let $=G.renderer,mt=(Array.isArray($.renderers)?$.renderers[0]:$)?.dpi;return typeof mt=="number"&&Number.isFinite(mt)&&mt>0?mt:window.devicePixelRatio||1},[G]),Oi=(0,k.useCallback)($=>X3($.world,{target:$.getViewport(),zoneWindow:J.zoneWindow}),[J.zoneWindow]),_i=(0,k.useCallback)($=>$.isViewportAtHome({cover:!!q,tolerance:1}),[q,ut]),qi=()=>{if(G&&G.navigator){let $=Oi(G.runtime),mt=$.height,vt=$.width,$t=Kn(),Se=Math.max(1,vt),en=Math.max(1,mt),qn=Math.max(1,J.width),sa=Math.max(1,Y.height-20),Wr=qn,nr=qn/Se*en;if(nr>sa){let ie=sa/nr;nr=sa,Wr=Math.max(1,qn*ie)}G.navigator.width=Wr*$t,G.navigator.height=nr*$t,G.navigator.style.width=Wr+"px",G.navigator.style.height=nr+"px";let Mr=Cn();Mr&&Mr.invalidateWorldLayer&&Mr.invalidateWorldLayer()}};Jh(()=>{if(G){qi();let $=G.runtime;return $.world.addLayoutSubscriber(mt=>{if(mt==="repaint"){let vt=Cn();vt&&vt.invalidateWorldLayer&&vt.invalidateWorldLayer()}(mt==="recalculate-world-size"||mt==="zone-changed")&&(qi(),je(),mt==="recalculate-world-size"&&(Bt.current.width!==Y.width||Bt.current.height!==Y.height)&&$.resize(Bt.current.width,Y.width,Bt.current.height,Y.height))})}return()=>{}},[G,Y.width,Y.height,J.width,Oi,Kn]),(0,k.useEffect)(()=>{if(!G||!M){ze(!1);return}let $=G.runtime,mt=()=>{let vt=_i($);ze($t=>$t===vt?$t:vt)};return mt(),$.world.addLayoutSubscriber(()=>{mt()})},[G,M,_i]);let Zr=(0,k.useCallback)(function($){let mt=()=>{re(!0)};return(0,k.useEffect)(()=>{if(!G)return;x!=="pdf-scroll-zone"&&G.runtime.goHome();let vt=Rt&&Rt(G);vt&&vt.then?vt.then(mt):mt()},[]),$.children},[G,Rt,x]);(0,k.useEffect)(()=>{if(G){let $=G.runtime;if(r)return $.world.addLayoutSubscriber(mt=>{mt==="recalculate-world-size"&&x!=="pdf-scroll-zone"&&$.goHome()})}return()=>{}},[G,r,x]),(0,k.useEffect)(()=>G?G.runtime.registerHook("useBeforeFrame",()=>{if(Bt.current.didUpdate&&G.canvas){let $=Kn(),mt=Bt.current.width,vt=Bt.current.height;G.canvas.width=mt*$,G.canvas.height=vt*$,G.canvas.style.width=mt+"px",G.canvas.style.height=vt+"px";let $t=G.canvas.getContext("2d");if($t&&($t.setTransform(1,0,0,1,0,0),$t.scale($,$)),G.parityCanvas){G.parityCanvas.width=mt*$,G.parityCanvas.height=vt*$,G.parityCanvas.style.width=mt+"px",G.parityCanvas.style.height=vt+"px";let Se=G.parityCanvas.getContext("2d");Se&&(Se.setTransform(1,0,0,1,0,0),Se.scale($,$))}G&&G.em&&G.em.updateBounds(),Bt.current.didUpdate=!1}}):()=>{},[G,r,Kn]),(0,k.useEffect)(()=>{let $=()=>{G&&(Mt("sketch"),Le("mode-sketch")),window.removeEventListener("keyup",$)},mt=vt=>{if(vt.code==="Space"&&G&&G.runtime.mode==="sketch"){let $t=vt.target?.tagName?.toLowerCase();if($t==="input"||$t==="textarea"||vt.target?.isContentEditable)return;vt.preventDefault(),Mt("explore"),Le("mode-explore"),window.addEventListener("keyup",$)}};return window.addEventListener("keydown",mt),()=>{window.removeEventListener("keydown",mt),window.removeEventListener("keyup",$)}},[G]);let oa=(0,k.useCallback)(()=>{!M||!J.idleFade||(fe(!1),Ce.current!==void 0&&window.clearTimeout(Ce.current),Ce.current=window.setTimeout(()=>{oi.current||fe(!0)},J.idleMs))},[M,J.idleFade,J.idleMs]);(0,k.useEffect)(()=>()=>{Ce.current!==void 0&&(window.clearTimeout(Ce.current),Ce.current=void 0)},[]),(0,k.useEffect)(()=>{if(!G?.canvas||!M||!J.idleFade)return;let $=G.canvas,mt=()=>oa(),vt=["pointerdown","pointermove","pointerup","touchstart","touchmove","touchend","wheel"];for(let $t of vt)$.addEventListener($t,mt,{passive:!0});return oa(),()=>{for(let $t of vt)$.removeEventListener($t,mt)}},[G,M,J.idleFade,oa]),(0,k.useEffect)(()=>{if(!G?.navigator||!M)return;let $=G.navigator,mt=G.runtime,vt={active:!1,pointerId:-1,offsetX:0,offsetY:0,startClientX:0,startClientY:0,startWorldX:0,startWorldY:0},$t=ie=>{oi.current=ie,tn(ie)},Se=ie=>{let pe=$.getBoundingClientRect();if(pe.width<=0||pe.height<=0)return{x:0,y:0};let Ye=ie.clientX-pe.left,An=ie.clientY-pe.top,Zn=Oi(mt);return ij(nR(Zn.width,Zn.height,pe.width,pe.height,Zn.x,Zn.y),Ye,An)},en=(ie,pe,{preserveOffset:Ye=!0,constrainAfterMove:An=!1}={})=>{let Zn=mt.getViewport(),zi=Ye?ie-vt.offsetX:ie-Zn.width/2,Pu=Ye?pe-vt.offsetY:pe-Zn.height/2,nn=de.singleBox(Zn.width,Zn.height,zi,Pu),[,Or]=mt.constrainBounds(nn,{ref:!0});mt.setViewport({x:Or[1],y:Or[2],width:Or[3]-Or[1],height:Or[4]-Or[2]}),mt.updateControllerPosition(),mt.updateNextFrame(),An&&mt.world.constraintBounds(!0)},qn=(ie,pe)=>{let Ye=nj(mt.world,{target:mt.getViewport(),zoneWindow:J.zoneWindow});for(let An of mt.world.zones)if(!(Ye&&!Ye.has(An.id))&&(An.recalculateBounds(),An.points[0]!==0&&ie>=An.points[1]&&ie<=An.points[3]&&pe>=An.points[2]&&pe<=An.points[4]))return An},sa=ie=>{if(ie.button!==0)return;oa();let pe=Se(ie),Ye=mt.getViewport(),An=pe.x>=Ye.x&&pe.y>=Ye.y&&pe.x<=Ye.x+Ye.width&&pe.y<=Ye.y+Ye.height;vt.active=!0,vt.pointerId=ie.pointerId,vt.startClientX=ie.clientX,vt.startClientY=ie.clientY,vt.startWorldX=pe.x,vt.startWorldY=pe.y,An?(vt.offsetX=pe.x-Ye.x,vt.offsetY=pe.y-Ye.y):(vt.offsetX=Ye.width/2,vt.offsetY=Ye.height/2,en(pe.x,pe.y,{preserveOffset:!0,constrainAfterMove:!0})),$t(!0),$.setPointerCapture(ie.pointerId),ie.preventDefault(),ie.stopPropagation()},Wr=ie=>{if(!vt.active||ie.pointerId!==vt.pointerId)return;let pe=Se(ie);en(pe.x,pe.y,{preserveOffset:!0}),oa(),ie.preventDefault(),ie.stopPropagation()},nr=ie=>{if(!vt.active||ie.pointerId!==vt.pointerId)return;Se(ie);let pe=Math.hypot(ie.clientX-vt.startClientX,ie.clientY-vt.startClientY),Ye=!1;if(pe<4){let An=qn(vt.startWorldX,vt.startWorldY);An&&(Ye=mt.goToZone(An.id),Ye&&mt.updateNextFrame())}vt.active=!1,vt.pointerId=-1,$t(!1),Ye||mt.world.constraintBounds(!0),$.hasPointerCapture(ie.pointerId)&&$.releasePointerCapture(ie.pointerId),oa(),ie.preventDefault(),ie.stopPropagation()},Mr=ie=>{!vt.active||ie.pointerId!==vt.pointerId||(vt.active=!1,vt.pointerId=-1,$t(!1),$.hasPointerCapture(ie.pointerId)&&$.releasePointerCapture(ie.pointerId),oa())};return $.addEventListener("pointerdown",sa),$.addEventListener("pointermove",Wr),$.addEventListener("pointerup",nr),$.addEventListener("pointercancel",Mr),()=>{$t(!1),$.removeEventListener("pointerdown",sa),$.removeEventListener("pointermove",Wr),$.removeEventListener("pointerup",nr),$.removeEventListener("pointercancel",Mr)}},[G,M,oa,Oi]);let{height:hl,width:pl,...ml}=Y,V=Vj([Y.width,Y.height]),pt=!0;Lt&&Array.isArray(Lt)&&Lt.length>1&&Lt[1].interactive===!1&&(pt=!1),st=st??"#000",at.current&&(st=getComputedStyle(at.current).getPropertyValue("--atlas-background")||st);let Ot=typeof wt=="object"?wt:void 0,ne=(0,k.useMemo)(()=>({"--atlas-navigator-fade-duration":`${J.fadeDurationMs}ms`,"--atlas-navigator-opacity-active":`${J.opacityActive}`,"--atlas-navigator-opacity-idle":`${J.opacityIdle}`}),[J.fadeDurationMs,J.opacityActive,J.opacityIdle]);return(0,Z.jsxs)(Kh,{ref:Ct,className:["atlas",`atlas-interaction-${x}`,T?"":`atlas-width-${V}`,qe,z,`atlas-${Ut}`].filter(Boolean).join(" ").trim(),style:{...E,...T?{}:{width:Y.width,height:Y.height}},children:[Ut==="static-preset"?(0,Z.jsx)(Kh,{className:"atlas-static-container",ref:he.container,tabIndex:0,...I}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("canvas",{className:"atlas-canvas",part:"atlas-canvas",tabIndex:0,...ml,...I,ref:he.canvas,"data-background":st}),qt?(0,Z.jsx)("canvas",{className:"atlas-parity-canvas",part:"atlas-parity-canvas","aria-hidden":"true","data-background":"transparent",ref:he.parityCanvas}):null]}),(0,Z.jsx)(Kh,{className:["atlas-overlay",pt?"atlas-overlay--interactive":""].filter(Boolean).join(" ").trim(),style:{...R||{}},ref:he.overlay,children:b?(0,Z.jsx)(Zr,{children:(0,Z.jsx)(Yv.Provider,{value:Pt,children:(0,Z.jsx)(Ad.Provider,{value:yt,children:(0,Z.jsx)(Gv.Provider,{value:G,children:w})})})}):(0,Z.jsx)(xj,{bounds:Pt,preset:G,mode:yt,interactionMode:x,setIsReady:re,onCreated:Rt,children:w})}),M?(0,Z.jsx)(Kh,{className:["atlas-navigator",Jt?"atlas-navigator--hidden-at-home":"",J.idleFade&&Zt?"atlas-navigator--idle":"",Ft?"atlas-navigator--dragging":""].filter(Boolean).join(" ").trim(),style:ne,children:(0,Z.jsx)("canvas",{className:"atlas-navigator-canvas",part:"atlas-navigator-canvas",ref:he.navigator})}):null,wt?(0,Z.jsx)(Pj,{...Ot,runtimeId:Ot?.runtimeId||G?.runtime.id}):null,T?(0,Z.jsx)("style",{children:`.atlas-width-${V} { width: ${Y.width}px; height: ${Y.height}px; }`}):(0,Z.jsx)("style",{children:`
67
- .atlas { position: relative; display: flex; background: ${st}; z-index: var(--atlas-z-index, 10); -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
68
- .atlas-width-${V} { width: ${Y.width}px; height: ${Y.height}px; }
63
+ `)),this.options.widthStylesheet&&this.container.appendChild(this.stylesheet.getElement())}isReady(){return!0}resize(){this.rendererPosition=this.container.getBoundingClientRect(),this.width=this.rendererPosition.width,this.height=this.rendererPosition.height,this.pending=!0}getRendererScreenPosition(){return this.rendererPosition}afterFrame(e,t,i){this.stylesheet.updateSheet();for(let n of this.previouslyVisible)this.currentlyVisible.indexOf(n)===-1&&this.container.removeChild(n);for(let n of this.currentlyVisible)this.previouslyVisible.indexOf(n)===-1&&this.container.appendChild(n);this.previouslyVisible=this.currentlyVisible,this.currentlyVisible=[],this.pending=!1}afterPaintLayer(e,t){}beforeFrame(e,t,i){this.stylesheet.clearClasses(),this.zIndex=0}getPointsAt(e,t,i,n){return e.getPointsAt(t,i,n)}getScale(e,t){if(Number.isNaN(e)||Number.isNaN(t))return this.lastKnownScale;let i=this.width/e,n=this.height/t,r=i<n?n:i;return Number.isNaN(r)||(this.lastKnownScale=r),this.lastKnownScale}getViewportBounds(e,t,i){return null}createImage(){let e=document.createElement("img");return this.options.imageClass?(e.className=this.options.imageClass,this.options.addPart&&e.setAttribute("part",this.options.imageClass)):(e.style.position="absolute",e.style.pointerEvents="none",e.style.userSelect="none"),this.options.setDraggableFalse&&e.setAttribute("draggable","false"),e}loadImage(e,t){this.loadingImages.add(e),e.onload=e.onerror=()=>{this.loadingImages.delete(e),e.onload=e.onerror=null},e.src=t}paint(e,t,i,n,r,o){if(!this.idle){if(this.zIndex++,e instanceof St){e.__host||(e.__host=this.createImage(),this.container.appendChild(e.__host));let s=e.__host;s.hasAttribute("src")||this.loadImage(s,e.uri),this.currentlyVisible.push(s),s.style.zIndex=`${this.zIndex}`,s.style.opacity=`${e.style.opacity}`,this.options.widthStylesheet?s.className=this.options.imageClass+" "+this.stylesheet.addStylesheet(`width:${(r+Mr).toFixed(2)}px;height:${(o+Mr).toFixed(2)}px;`):(s.style.width=`${r+Mr}px`,s.style.height=`${o+Mr}px`),s.style.transform=`translate(${i}px, ${n}px)`}if(e instanceof At){if(e.__host||(e.__host={images:[]}),!e.__host.images[t]){let a=this.createImage();e.__host.images[t]=a,this.container.appendChild(a)}let s=e.__host.images[t];s.hasAttribute("src")||this.loadImage(s,e.getImageUrl(t)),s.style.zIndex=`${this.zIndex}`,s.style.opacity=`${e.style.opacity}`,this.currentlyVisible.push(s),this.options.widthStylesheet?s.className=this.options.imageClass+" "+this.stylesheet.addStylesheet(`width:${(r+Mr).toFixed(2)}px;height:${(o+Mr).toFixed(2)}px;`):(s.style.width=`${r+Mr}px`,s.style.height=`${o+Mr}px`),s.style.transform=`translate(${i}px, ${n}px)`}}}pendingUpdate(){return!this.idle&&this.pending}setIdle(e){if(this.idle!==e)if(this.idle=e,e)for(let t of this.loadingImages){let i=t.getAttribute("src");i&&!t.complete&&(this.pausedImages.set(t,i),t.onload=t.onerror=null,this.loadingImages.delete(t),t.removeAttribute("src"))}else{for(let[t,i]of this.pausedImages)this.loadImage(t,i);this.pausedImages.clear(),this.pending=!0}}prepareLayer(e){}finishLayer(e){}reset(){this.setIdle(!0);for(let e of this.loadingImages)e.onload=e.onerror=null;this.loadingImages.clear(),this.pausedImages.clear(),this.idle=!1,this.pending=!0}};function L0({interactive:e,viewport:t,forceRefresh:i,containerElement:n,overlayElement:r,controllerConfig:o,interactionMode:s="popmotion"}){if(!n)throw Error("Invalid container");n.style.userSelect="none";let a=e?(s==="pdf-scroll-zone"?nd:pl)({minZoomFactor:.5,maxZoomFactor:3,enableClickToZoom:!1,parentElement:n,...o||{}}):void 0,c=new O0(n,{addPart:!1,setDraggableFalse:!1,imageClass:"atlas-static-image"}),u=r?new td([c,new gm(r,{box:!0,text:!0,triggerResize:i})]):c,l=new Ms(u,new Gn(1024,1024),t,a?[a]:[]),d=new dl(n,l);return{name:"static-preset",em:d,runtime:l,renderer:u,controller:a,container:n,overlay:r,unmount(){gd(l),l.stopControllers(),l.stop(),l.reset(),d&&d.stop()}}}var _0={"default-preset":xm,"static-preset":L0};function AI(e){let t=!1;return Promise.resolve().then(()=>{t||e()}),()=>{t=!0}}var II={};function F0(e,t){let i=(0,Ae.useRef)(),n=(0,Ae.useRef)(),r=(0,Ae.useRef)(),o=(0,Ae.useRef)(),s=(0,Ae.useRef)(),a=(0,Ae.useRef)({x:0,y:0,width:t.width,height:t.height,scale:1,didUpdate:!0}),c=(0,Ae.useRef)({onWebGLFallback:t.onWebGLFallback,onImageError:t.onImageError}),[u="default-preset",l=II]=Array.isArray(e)?e||[]:[e],[d,h]=(0,Ae.useState)(null),p=(0,Ae.useRef)(t.idle),f=(0,Ae.useRef)(!0);return(0,Ae.useLayoutEffect)(()=>{c.current.onWebGLFallback=t.onWebGLFallback,c.current.onImageError=t.onImageError,p.current=t.idle},[t.onImageError,t.onWebGLFallback,t.idle]),(0,Ae.useLayoutEffect)(()=>{let m=n.current,g=s.current,y=i.current,x=o.current,w=(_0[u]||xm)({containerElement:g,canvasElement:m,parityCanvasElement:r.current,overlayElement:y,navigatorElement:x,viewport:a.current,dpi:window.devicePixelRatio||1,forceRefresh:t.forceRefresh,controllerConfig:t.controllerConfig,interactionMode:t.interactionMode,unstable_webglRenderer:t.unstable_webglRenderer,onWebGLFallback:v=>{c.current.onWebGLFallback&&c.current.onWebGLFallback(v)},onImageError:v=>{c.current.onImageError&&c.current.onImageError(v)},imageLoading:t.imageLoading,webglFallbackOnImageLoadError:t.webglFallbackOnImageLoadError,webglReadiness:t.webglReadiness,runtimeOptions:t.runtimeOptions,...l||{}});w.runtime.setIdle(!!t.idle||!!t.loadWhenVisible&&typeof IntersectionObserver<"u");let R=AI(()=>h(w));return()=>{if(R(),w){let v=w.runtime.getViewport();a.current={...a.current,...v,didUpdate:!0},w.unmount(),m&&(m.height=0,m.width=0),y&&(y.innerHTML=""),x&&(x.height=0,x.width=0)}}},[u,l,t.unstable_webglRenderer,t.controllerConfig,t.interactionMode,t.imageLoading,t.webglFallbackOnImageLoadError,t.webglReadiness]),(0,Ae.useLayoutEffect)(()=>{if(!d)return;let m=d.canvas||d.container,g=!!t.loadWhenVisible&&!!m&&typeof IntersectionObserver<"u";if(f.current=!g,d.runtime.setIdle(!!p.current||!f.current),!g)return;let y=!0,x=new IntersectionObserver(([w])=>{!y||!w||(f.current=w.isIntersecting,d.runtime.setIdle(!!p.current||!w.isIntersecting))});return x.observe(m),()=>{y=!1,x.disconnect()}},[d,t.loadWhenVisible]),(0,Ae.useLayoutEffect)(()=>{d?.runtime.setIdle(!!t.idle||!f.current)},[d,t.idle]),[u,d,a,(0,Ae.useMemo)(()=>({canvas:n,parityCanvas:r,overlay:i,container:s,navigator:o}),[])]}var wm=(e,t=[])=>{let i=Ns();(0,Ae.useEffect)(()=>i?i.registerHook("useFrame",e):()=>{},t)},Sl=()=>{let e=wl();return e&&e.canvas?e.canvas:void 0};function N0(){return(0,Ae.useContext)(xl)}var D0=(0,Ae.createContext)(null);D0.displayName="MapProjection";var pm=(e,t,i=[])=>{let n=Ns();(0,Ae.useEffect)(()=>{if(n){let r=t,o=Pr[e];n.world.activatedEvents.push(o);let s=o.slice(2).toLowerCase();return n.world.addEventListener(s,r),()=>{n.world.removeEventListener(s,r)}}return()=>{}},[n?n.world:void 0,e,...i])};function w0(e,t){if(e===0)return[0,1];if(t===0)return[1,0];let i=Math.abs(e)/Math.abs(t);return[i,1-i]}function EI(){let e=(0,Ae.useRef)({ctrl:!1,shift:!1,alt:!1});return(0,Ae.useLayoutEffect)(()=>{function t(n){n.key==="Shift"&&(e.current.shift=!0),n.key==="Control"&&(e.current.ctrl=!0),n.key==="Alt"&&(e.current.alt=!0)}function i(n){n.key==="Shift"&&(e.current.shift=!1),n.key==="Control"&&(e.current.ctrl=!1),n.key==="Alt"&&(e.current.alt=!1)}return window.addEventListener("keydown",t),window.addEventListener("keyup",i),()=>{window.removeEventListener("keydown",t),window.removeEventListener("keyup",i)}},[]),e}var Sm=(e,t)=>{let i=E0(),n=Ns(),r=N0(),o=(0,Ae.useRef)(),s=(0,Ae.useRef)(null),a=(0,Ae.useRef)(),[c,u]=(0,Ae.useState)(!1),l=(0,Ae.useRef)(!1),d=(0,Ae.useRef)({north:0,south:0,east:0,west:0}),h=EI(),p=(0,Ae.useCallback)(x=>w=>{if(l.current=!0,u(!0),r&&n){let{top:R,left:v}=r,S=n.viewerToWorld(w.pageX-v,w.pageY-R);a.current={x:S.x,y:S.y},o.current=x}},[r,n]),f=(0,Ae.useMemo)(()=>e.width/e.height,[e.width,e.height]),m=(0,Ae.useCallback)(x=>{if(!Math.abs(x.north-x.south+(x.east-x.west)))return;let w=-x.west+x.east,R=-x.north+x.south,v=e.width+w,S=e.height+R;if(v/S>=f){let C=v-S*f,[T,I]=w0(x.east,x.west);x.west+=C*I,x.east-=C*T}else{let C=S-v/f,[T,I]=w0(x.north,x.south);x.north+=C*T,x.south-=C*I}},[e.width,e.height,f]);wm(()=>{a&&n&&n.updateNextFrame()}),(0,Ae.useEffect)(()=>{n&&n.updateNextFrame()},[n,c]);let g=(0,Ae.useCallback)(x=>{if(!n||!r||n.mode!=="sketch")return;let{top:w,left:R}=r,v=n.viewerToWorld(x.pageX-R,x.pageY-w),S=s.current,C=!e.maintainAspectRatio&&h.current.alt,T=!C&&h.current.shift&&o.current?.indexOf("-")!==-1;if((o.current==="translate"||o.current==="east"||o.current==="north-east"||o.current==="south-east")&&(d.current.east=v.x-(a.current?a.current.x:0),C&&(d.current.west=-d.current.east)),(o.current==="translate"||o.current==="west"||o.current==="north-west"||o.current==="south-west")&&(d.current.west=v.x-(a.current?a.current.x:0),C&&(d.current.east=-d.current.west)),(o.current==="translate"||o.current==="north"||o.current==="north-east"||o.current==="north-west")&&(d.current.north=v.y-(a.current?a.current.y:0),C&&(d.current.south=-d.current.north)),(o.current==="translate"||o.current==="south"||o.current==="south-west"||o.current==="south-east")&&(d.current.south=v.y-(a.current?a.current.y:0),C&&(d.current.north=-d.current.south)),(e.maintainAspectRatio||T)&&m(d.current),S){let I=d.current.west,E=d.current.north,V=e.width+d.current.east,Y=e.height+d.current.south;S.points[1]=Math.min(I,V),S.points[2]=Math.min(E,Y),S.points[3]=Math.max(I,V),S.points[4]=Math.max(E,Y),n.updateNextFrame()}},[n,e.width,e.height,e.maintainAspectRatio,r]);pm("mousemove",g,[e.width,e.height,r]),pm("pointermove",g,[e.width,e.height,r]);let y=(0,Ae.useRef)();return(0,Ae.useEffect)(()=>{y.current=()=>{if(l.current){let x=d.current.west,w=d.current.north,R=e.width+d.current.east,v=e.height+d.current.south,S=Math.min(x,R),C=Math.min(w,v),T=Math.max(x,R),I=Math.max(w,v),E={x:(e.x||0)+S,y:(e.y||0)+C,width:T-S||1,height:I-C||1};e.maintainAspectRatio,t(E),o.current=void 0,a.current=void 0,d.current.east=0,d.current.west=0,d.current.north=0,d.current.south=0,l.current=!1,u(!1)}}},[t,e.height,e.width,e.x,e.y]),(0,Ae.useEffect)(()=>{let x=()=>{y.current&&y.current()};return window.addEventListener("pointerup",x),window.addEventListener("touchend",x),()=>{window.removeEventListener("pointerup",x),window.removeEventListener("touchend",x)}},[]),{portalRef:s,mode:i,mouseEvent:p,onPointerMoveCallback:g,isEditing:c}};function Ds(e,t){return e?t?{...e,...t||{},":hover":e[":hover"]?Object.assign(e[":hover"]||{},t[":hover"]||{}):t[":hover"],":active":e[":active"]?Object.assign(e[":active"]||{},t[":active"]||{}):t[":hover"]}:e:t}var $=P(Z(),1),W=P(D(),1);function W0(e,t){let i;return(...n)=>{window.clearTimeout(i),i=window.setTimeout(()=>e(...n),t)}}function G0({debounce:e,scroll:t,polyfill:i,offsetSize:n}={debounce:0,scroll:!1,offsetSize:!1}){let r=i||(typeof window>"u"?class{}:window.ResizeObserver);if(!r)throw Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");let[o,s]=(0,$.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),a=(0,$.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o,orientationHandler:null}),c=e?typeof e=="number"?e:e.scroll:null,u=e?typeof e=="number"?e:e.resize:null,l=(0,$.useRef)(!1);(0,$.useEffect)(()=>(l.current=!0,()=>void(l.current=!1)));let[d,h,p]=(0,$.useMemo)(()=>{let g=()=>{if(!a.current.element)return;let{left:y,top:x,width:w,height:R,bottom:v,right:S,x:C,y:T}=a.current.element.getBoundingClientRect(),I={left:y,top:x,width:w,height:R,bottom:v,right:S,x:C,y:T};a.current.element instanceof HTMLElement&&n&&(I.height=a.current.element.offsetHeight,I.width=a.current.element.offsetWidth),Object.freeze(I),l.current&&!LI(a.current.lastBounds,I)&&s(a.current.lastBounds=I)};return[g,u?W0(g,u):g,c?W0(g,c):g]},[s,n,c,u]);function f(){a.current.scrollContainers&&(a.current.scrollContainers.forEach(g=>g.removeEventListener("scroll",p,!0)),a.current.scrollContainers=null),a.current.resizeObserver&&(a.current.resizeObserver.disconnect(),a.current.resizeObserver=null),a.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",a.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",a.current.orientationHandler))}function m(){a.current.element&&(a.current.resizeObserver=new r(p),a.current.resizeObserver.observe(a.current.element),t&&a.current.scrollContainers&&a.current.scrollContainers.forEach(g=>g.addEventListener("scroll",p,{capture:!0,passive:!0})),a.current.orientationHandler=()=>{p()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",a.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",a.current.orientationHandler))}return kI(p,!!t),MI(h),(0,$.useEffect)(()=>{f(),m()},[t,p,h]),(0,$.useEffect)(()=>f,[]),[g=>{!g||g===a.current.element||(f(),a.current.element=g,a.current.scrollContainers=K0(g),m())},o,d]}function MI(e){(0,$.useEffect)(()=>{let t=e;return window.addEventListener("resize",t),()=>void window.removeEventListener("resize",t)},[e])}function kI(e,t){(0,$.useEffect)(()=>{if(t){let i=e;return window.addEventListener("scroll",i,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",i,!0)}},[e,t])}function K0(e){let t=[];if(!e||e===document.body)return t;let{overflow:i,overflowX:n,overflowY:r}=window.getComputedStyle(e);return[i,n,r].some(o=>o==="auto"||o==="scroll")&&t.push(e),[...t,...K0(e.parentElement)]}var OI=["x","y","top","bottom","left","right","width","height"],LI=(e,t)=>OI.every(i=>e[i]===t[i]),_I=$.default.memo(({children:e,setIsReady:t,onCreated:i,bounds:n,preset:r,mode:o="explore",interactionMode:s="popmotion"})=>{let a=(0,$.useRef)(new WeakSet);return(0,$.useEffect)(()=>{if(!r||a.current.has(r))return;a.current.add(r),s!=="pdf-scroll-zone"&&r.runtime.goHome();let c=!1;return Promise.resolve(i?.(r)).then(()=>{c||t(!0)}),()=>{c=!0}},[s,i,r,t]),Fs(()=>{if(r){let c=r.runtime;o!==c.mode&&(c.mode=o),bm.render((0,W.jsx)($.default.StrictMode,{children:(0,W.jsx)(xl.Provider,{value:n,children:(0,W.jsx)(bo.Provider,{value:o,children:(0,W.jsx)(bl.Provider,{value:r,children:e})})})}),c)}},[r,o,n,e]),Fs(()=>{if(r){let c=r.runtime;return()=>{bm.unmountComponentAtNode(c)}}return()=>{}},[r]),null}),Rl=$.default.forwardRef((e,t)=>(0,W.jsx)("div",{...e,ref:t,part:e.className})),Cm=new Set,Kn=new Map,Cl=new Map,Tl=[],yd,Pn,X0={activeCandidateId:void 0,selectedRuntimeId:void 0,candidates:[],runtimes:[]};function Z0(){let e=Array.from(Kn.entries()).map(([t,i],n)=>({id:t,runtime:i.runtime,preset:i.preset,label:`Atlas ${n+1} (${t.slice(0,6)})`}));X0={activeCandidateId:yd,selectedRuntimeId:Pn,candidates:[...Tl],runtimes:e}}function xo(){Z0();for(let e of Cm)e()}function Pl(){if(Pn&&Kn.has(Pn))return;let e=Kn.keys().next();Pn=e.done?void 0:e.value}function Q0(){yd&&Cl.has(yd)||(yd=Tl[0])}function FI(e){return Cm.add(e),()=>{Cm.delete(e)}}function $0(){return X0}function NI(e){let t=e.runtime.id;return Kn.set(t,{runtime:e.runtime,preset:e}),Pl(),xo(),()=>{DI(t)}}function DI(e){Kn.delete(e),Pl(),xo()}function zI(e){return Cl.get(e.id)||Tl.push(e.id),Cl.set(e.id,e),Q0(),!Pn&&e.runtimeId&&Kn.has(e.runtimeId)&&(Pn=e.runtimeId),Pl(),xo(),()=>{VI(e.id)}}function BI(e,t){let i=Cl.get(e);i&&(i.runtimeId=t,!Pn&&t&&Kn.has(t)&&(Pn=t),Pl(),xo())}function VI(e){Cl.delete(e);let t=Tl.indexOf(e);t!==-1&&Tl.splice(t,1),Q0(),xo()}function j0(e){if(!e){Pn=void 0,Pl(),xo();return}Kn.has(e)&&(Pn=e,xo())}function WI(e){if(e)return Kn.get(e)}Z0();function J0(e,t=[]){if(!e)return t;if(Array.isArray(e.renderers)){for(let i of e.renderers)J0(i,t);return t}return t.push(e),t}function Tm(e,t,i,n){if(e){if(e instanceof ai){if(Array.isArray(e.layers))for(let r of e.layers)Tm(r,t,e.id,n);return}if(e instanceof mo){let r=e.id,o=new Set([...e.allImages,...e.images]);for(let s of o)Tm(s,t,i,r);return}if(e instanceof St||e instanceof At){let r={id:e.id,type:e.constructor.name,ownerId:i,compositeId:n,anomalies:[]};e.__host?.canvas&&(r.canvas={loading:!!e.__host.canvas.loading,indices:e.__host.canvas.indices?.length||0,loaded:e.__host.canvas.loaded?.length||0},r.canvas.loading&&r.canvas.indices===0&&r.anomalies.push("Canvas host marked loading with empty queue."),r.canvas.loaded>r.canvas.indices&&r.canvas.indices>0&&r.anomalies.push("Canvas loaded count exceeds scheduled indices.")),e.__host?.webgl&&(r.webgl={loading:e.__host.webgl.loading?.length||0,loaded:e.__host.webgl.loaded?.length||0,textures:e.__host.webgl.textures?.filter(Boolean)?.length||0},r.webgl.loading>0&&r.webgl.textures===0&&r.webgl.loaded===0&&r.anomalies.push("WebGL has pending loads but no loaded textures.")),t.push(r)}}}function $I(e){let t=[],i=e.getObjects();for(let n of i)n&&Tm(n,t,n.id,void 0);return t}function jI(e){let t=J0(e.renderer);return{rendererTypes:t.map(i=>i?.constructor?.name||"UnknownRenderer"),canvas:t.filter(i=>i?.loadingQueue!==void 0).map(i=>({type:i?.constructor?.name||"CanvasRenderer",loadingQueue:i.loadingQueue?.length||0,imagesPending:i.imagesPending||0,imagesLoaded:i.imagesLoaded||0,tasksRunning:i.tasksRunning||0,firstMeaningfulPaint:!!i.firstMeaningfulPaint})),webgl:t.filter(i=>i?.gl!==void 0).map(i=>({type:i?.constructor?.name||"WebGLRenderer"}))}}function HI(e,t=30){let i=new Map;for(let n of e){if(n.type!=="paint"||!n.compositeId)continue;i.has(n.frame)||i.set(n.frame,new Map);let r=i.get(n.frame);r.has(n.compositeId)||r.set(n.compositeId,[]),r.get(n.compositeId).push({paintId:n.paintId,paintType:n.paintType,tileIndex:n.tileIndex,imageUrl:n.imageUrl})}return Array.from(i.entries()).sort((n,r)=>r[0]-n[0]).slice(0,t).map(([n,r])=>({frame:n,composites:Array.from(r.entries()).map(([o,s])=>({compositeId:o,layers:s}))}))}function ew(e,t=[]){if(!e)return t;if(Array.isArray(e.renderers)){for(let i of e.renderers)ew(i,t);return t}return t.push(e),t}function Pm(e,t){if(e){if(e instanceof St||e instanceof At){t.push(e);return}if(e instanceof mo){let i=new Set([...e.allImages,...e.images]);for(let n of i)Pm(n,t);return}if(e instanceof ai&&Array.isArray(e.layers))for(let i of e.layers)Pm(i,t)}}function qI(e){let t=[],i=e.getObjects();for(let n of i)n&&Pm(n,t);return t}function UI(e){let t=qI(e.world),i=0;for(let o of t)i++,o.__host||(o.__host={}),o.__host.canvas={canvas:void 0,canvases:[],tiles:{},indices:[],loaded:[],loading:!1},o.__host.webgl&&(o.__host.webgl.loading=[],o.__host.webgl.loaded=[],Array.isArray(o.__host.webgl.textures)&&(o.__host.webgl.textures=[...Array(o.points.length/5)]));let n=ew(e.renderer),r=0;for(let o of n)r++,Array.isArray(o.loadingQueue)&&(o.loadingQueue=[]),Array.isArray(o.tileRequestQueue)&&(o.tileRequestQueue=[]),Array.isArray(o.drawCalls)&&(o.drawCalls=[]),Array.isArray(o.invalidated)&&(o.invalidated=[]),Array.isArray(o.imageIdsLoaded)&&(o.imageIdsLoaded=[]),o.hostCache?.clear&&o.hostCache.clear(),typeof o.tasksRunning=="number"&&(o.tasksRunning=0),typeof o.imagesPending=="number"&&(o.imagesPending=0),typeof o.imagesLoaded=="number"&&(o.imagesLoaded=0),typeof o.pendingDrawCall=="boolean"&&(o.pendingDrawCall=!1),typeof o.loadingQueueOrdered=="boolean"&&(o.loadingQueueOrdered=!0),o.requiredTileKeys?.clear&&o.requiredTileKeys.clear(),o.requiredPrefetchTileKeys?.clear&&o.requiredPrefetchTileKeys.clear(),o.queuedTileRequestKeys?.clear&&o.queuedTileRequestKeys.clear(),o.imageRequestPool?.cancelAll&&o.imageRequestPool.cancelAll({silent:!0}),o.inFlightImageLoads?.clear&&o.inFlightImageLoads.clear(),typeof o.reset=="function"&&o.reset();return e.updateNextFrame(),{imageHostsReset:i,renderersReset:r}}async function tw(e,t,i){if($.version.startsWith("18.")||$.version.startsWith("19.")){let n=await Promise.resolve().then(()=>P(B0(),1)),r=n.default?n.default.createRoot:n.createRoot,o=i.current;if(!o){let s=r(e);o={unmounted:!1,render(a){this.unmounted||s.render(a)},unmount(){this.unmounted||(this.unmounted=!0,s.unmount())}},i.current=o}o.render(t)}else if(typeof ReactDOM<"u"){let{render:n,unmountComponentAtNode:r}=ReactDOM;i.current=H0(e,n,r,i.current),i.current.render(t)}else{let n=await Promise.resolve().then(()=>P(zs(),1));i.current=H0(e,n.default?n.default.render:n.render,n.default?n.default.unmountComponentAtNode:n.unmountComponentAtNode,i.current),i.current.render(t)}}function H0(e,t,i,n){return n||{unmounted:!1,render(r){this.unmounted||t(r,e)},unmount(){this.unmounted||(this.unmounted=!0,i(e))}}}var YI=["Overview","World","Inspector","Events","Images","Actions"],GI=0,KI=e=>{let t=Ns(),i=e.runtimeId||t?.id,n=(0,$.useRef)(null),r=(0,$.useRef)(null);return(0,$.useEffect)(()=>{if(typeof document>"u")return;let o=document.createElement("div");return o.dataset.atlasDevtools="true",document.body.appendChild(o),n.current=o,()=>{r.current?.unmount&&r.current.unmount(),o.remove(),n.current=null}},[]),(0,$.useEffect)(()=>{let o=n.current;o&&tw(o,(0,W.jsx)(QI,{...e,runtimeId:i}),r)}),null};function q0(e,t,i){e.push(t),e.length>i&&e.splice(0,e.length-i)}function Rm(e){if(!(!e||e.length<5))return{x1:Number(e[1].toFixed?e[1].toFixed(2):e[1]),y1:Number(e[2].toFixed?e[2].toFixed(2):e[2]),x2:Number(e[3].toFixed?e[3].toFixed(2):e[3]),y2:Number(e[4].toFixed?e[4].toFixed(2):e[4])}}function iw(e){return e?.constructor?.name||e?.type||"Unknown"}function XI(e){let t=[],i=new Set,n=(o,s,a)=>{if(!o||i.has(o))return;i.add(o);let c=o.id?` #${o.id}`:"";if(t.push({key:a,depth:s,label:`${iw(o)}${c}`,ref:o}),Array.isArray(o.layers))for(let u=0;u<o.layers.length;u++)n(o.layers[u],s+1,`${a}.layers.${u}`);if(Array.isArray(o.images)||Array.isArray(o.allImages)){let u=new Set([...o.allImages||[],...o.images||[]]),l=0;for(let d of u)n(d,s+1,`${a}.images.${l}`),l++}};n(e.world,0,"world");let r=e.world.getObjects();for(let o=0;o<r.length;o++){let s=r[o];s&&n(s,1,`world.objects.${o}`)}return t}function ZI(e){return e?.__host?e.__host.canvas?`Canvas host loading=${!!e.__host.canvas.loading} indices=${e.__host.canvas.indices?.length||0} loaded=${e.__host.canvas.loaded?.length||0}`:e.__host.webgl?`WebGL host loading=${e.__host.webgl.loading?.length||0} loaded=${e.__host.webgl.loaded?.length||0}`:"Host attached":"No host"}var QI=({initialOpen:e=!1,bottom:t=16,right:i=16,zIndex:n=1e3,maxEvents:r=500,maxRuntimeEvents:o=1e3,runtimeId:s,className:a,style:c})=>{let u=(0,$.useRef)(`devtools-${++GI}`),[l,d]=(0,$.useState)(e),[h,p]=(0,$.useState)("Overview"),[f,m]=(0,$.useState)(!1),[g,y]=(0,$.useState)(!1),[x,w]=(0,$.useState)(null),[R,v]=(0,$.useState)("explore"),[S,C]=(0,$.useState)(""),[T,I]=(0,$.useState)(!1),[E,V]=(0,$.useState)(""),[Y,Q]=(0,$.useState)("all"),[,z]=(0,$.useState)(0),O=(0,$.useRef)([]),G=(0,$.useRef)([]),ee=(0,$.useRef)(null),K=(0,$.useRef)(!1),ne=()=>{K.current||(K.current=!0,requestAnimationFrame(()=>{K.current=!1,z(A=>A+1)}))},oe=s;(0,$.useEffect)(()=>zI({id:u.current,runtimeId:oe}),[]),(0,$.useEffect)(()=>{BI(u.current,oe)},[oe]);let we=(0,$.useSyncExternalStore)(FI,$0,$0),ae=we.activeCandidateId===u.current,_e=we.selectedRuntimeId||oe||we.runtimes[0]?.id,ze=WI(_e),ie=ze?.runtime,Re=ze?.preset;if((0,$.useEffect)(()=>{_e&&_e!==we.selectedRuntimeId&&j0(_e)},[_e,we.selectedRuntimeId]),(0,$.useEffect)(()=>{ie&&v(ie.mode)},[ie?.id]),(0,$.useEffect)(()=>{if(!ae||!l||!ie)return;let A=ie.addDebugSubscriber(J=>{f||(q0(O.current,J,o),ne())}),F=ie.world.addDebugSubscriber(J=>{f||(q0(G.current,J,r),ne())});return()=>{A(),F()}},[ae,l,ie?.id,f,r,o]),(0,$.useEffect)(()=>{if(!ae||!l)return;let A=setInterval(()=>{z(F=>F+1)},250);return()=>{clearInterval(A)}},[ae,l]),(0,$.useEffect)(()=>{if(!g||!ie||!Re?.em?.element)return;let A=Re.em.element,F=J=>{let re=A.getBoundingClientRect(),{x:ue,y:N}=ie.viewerToWorld(J.clientX-re.left,J.clientY-re.top),k=ke.singleBox(1,1,ue,N),H=ie.world.getObjectsAt(k,!0),X=H[H.length-1];if(X){let ge=X[1];w(ge.length?ge[ge.length-1]:X[0])}p("Inspector"),y(!1),ne(),J.preventDefault(),J.stopPropagation()};return A.addEventListener("pointerdown",F,!0),()=>{A.removeEventListener("pointerdown",F,!0)}},[g,ie?.id,Re?.em?.element]),(0,$.useEffect)(()=>()=>{let A=ee.current;A&&(ee.current=null,A())},[]),typeof window>"u"||typeof document>"u"||!ae)return null;let Be=ie?XI(ie):[],Le=x||Be[0]?.ref,Qe=ie?jI(ie):{rendererTypes:[],canvas:[],webgl:[]},Ge=ie?$I(ie.world):[],Me=HI(O.current,15),it=G.current.filter(A=>Y==="all"||A.type===Y),Pe=(()=>{if(!ie)return{width:220,height:220,rects:[],viewport:null};let A=ie.world.getPoints(),F=Math.max(1,ie.world.width),J=Math.max(1,ie.world.height),re=220/F,ue=220/J,N=[],k=Math.min(A.length/5,300);for(let H=0;H<k;H++){let X=H*5;A[X]!==0&&N.push({x:A[X+1]*re,y:A[X+2]*ue,width:Math.max(1,(A[X+3]-A[X+1])*re),height:Math.max(1,(A[X+4]-A[X+2])*ue)})}return{width:220,height:220,rects:N,viewport:{x:ie.target[1]*re,y:ie.target[2]*ue,width:Math.max(1,(ie.target[3]-ie.target[1])*re),height:Math.max(1,(ie.target[4]-ie.target[2])*ue)}}})(),vt={position:"fixed",right:i,bottom:t,zIndex:n,color:"#eef1ff",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",pointerEvents:"auto",...c||{}},$e={background:"#111827",color:"#f9fafb",border:"1px solid #374151",borderRadius:999,fontSize:12,padding:"8px 12px",cursor:"pointer",boxShadow:"0 8px 24px rgba(0, 0, 0, 0.35)"},Tt={width:460,maxHeight:"70vh",overflow:"hidden",background:"#0f172a",border:"1px solid #334155",borderRadius:10,boxShadow:"0 12px 36px rgba(0, 0, 0, 0.4)",marginBottom:10,display:"flex",flexDirection:"column"},Gt={padding:10,overflow:"auto",fontSize:12,lineHeight:1.4,display:"grid",gap:8},vi=()=>{!ie||ee.current||(ee.current=ie.stop(),I(!0))},bi=()=>{let A=ee.current;ee.current=null,A&&A(),I(!1)},Kt=()=>{if(ie){if(ee.current){let A=ee.current;ee.current=null,A(),requestAnimationFrame(()=>{ie&&(ee.current=ie.stop(),I(!0))});return}ie.updateNextFrame()}},Vt=()=>{O.current=[],G.current=[],V("Logs cleared"),ne()};return(0,W.jsxs)("div",{className:a,style:vt,children:[l?(0,W.jsxs)("div",{style:Tt,children:[(0,W.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:10,borderBottom:"1px solid #1f2937"},children:[(0,W.jsx)("strong",{style:{fontSize:12,letterSpacing:.4},children:"Atlas DevTools"}),(0,W.jsx)("select",{style:{marginLeft:"auto",fontSize:12,background:"#111827",color:"#e2e8f0",border:"1px solid #334155"},value:_e||"",onChange:A=>j0(A.target.value),children:we.runtimes.map(A=>(0,W.jsx)("option",{value:A.id,children:A.label},A.id))}),(0,W.jsx)("button",{style:$e,onClick:()=>d(!1),children:"Close"})]}),(0,W.jsx)("div",{style:{display:"flex",gap:6,padding:8,borderBottom:"1px solid #1f2937",flexWrap:"wrap"},children:YI.map(A=>(0,W.jsx)("button",{style:{...$e,padding:"4px 8px",borderRadius:6,background:h===A?"#334155":"#111827"},onClick:()=>p(A),children:A},A))}),(0,W.jsxs)("div",{style:Gt,children:[ie?null:(0,W.jsx)("div",{children:"No Atlas runtime available."}),ie&&h==="Overview"?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("div",{children:["Runtime id: ",ie.id]}),(0,W.jsxs)("div",{children:["Mode: ",ie.mode]}),(0,W.jsxs)("div",{children:["Scale factor: ",ie.getScaleFactor().toFixed(4)]}),(0,W.jsxs)("div",{children:["World: ",ie.world.width," x ",ie.world.height]}),(0,W.jsxs)("div",{children:["Target: ",JSON.stringify(Rm(ie.target))]}),(0,W.jsxs)("div",{children:["Pending update: ",String(ie.pendingUpdate)]}),(0,W.jsxs)("div",{children:["Renderer chain: ",Qe.rendererTypes.join(" -> ")||"None"]}),(0,W.jsxs)("div",{children:["Runtime log entries: ",O.current.length]}),(0,W.jsxs)("div",{children:["World log entries: ",G.current.length]})]}):null,ie&&h==="World"?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("div",{children:["World dimensions: ",ie.world.width," x ",ie.world.height]}),(0,W.jsxs)("div",{children:["Viewport target: ",JSON.stringify(Rm(ie.target))]}),(0,W.jsxs)("svg",{width:Pe.width,height:Pe.height,style:{background:"#020617",border:"1px solid #334155"},children:[Pe.rects.map((A,F)=>(0,W.jsx)("rect",{x:A.x,y:A.y,width:A.width,height:A.height,fill:"rgba(56, 189, 248, 0.18)",stroke:"rgba(56, 189, 248, 0.7)"},`rect-${F}`)),Pe.viewport?(0,W.jsx)("rect",{x:Pe.viewport.x,y:Pe.viewport.y,width:Pe.viewport.width,height:Pe.viewport.height,fill:"rgba(251, 191, 36, 0.1)",stroke:"rgba(251, 191, 36, 1)"}):null]})]}):null,ie&&h==="Inspector"?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{style:{display:"flex",gap:8},children:(0,W.jsx)("button",{style:$e,onClick:()=>y(A=>!A),children:g?"Cancel Pick":"Pick in Viewport"})}),(0,W.jsx)("div",{style:{maxHeight:180,overflow:"auto",border:"1px solid #1f2937",borderRadius:6},children:Be.map(A=>(0,W.jsx)("button",{onClick:()=>w(A.ref),style:{width:"100%",display:"block",textAlign:"left",padding:`2px 6px 2px ${6+A.depth*14}px`,background:Le===A.ref?"#1e293b":"transparent",color:"#e2e8f0",border:0,cursor:"pointer",fontSize:12},children:A.label},A.key))}),Le?(0,W.jsxs)("div",{style:{border:"1px solid #1f2937",borderRadius:6,padding:8},children:[(0,W.jsxs)("div",{children:["Type: ",iw(Le)]}),(0,W.jsxs)("div",{children:["ID: ",Le.id||"(none)"]}),(0,W.jsxs)("div",{children:["Points: ",JSON.stringify(Rm(Le.points))]}),(0,W.jsxs)("div",{children:["Display scale: ",Le.display?.scale??"(n/a)"]}),(0,W.jsxs)("div",{children:["Crop: ",Le.cropData?JSON.stringify(Le.cropData):"(none)"]}),(0,W.jsxs)("div",{children:["Host: ",ZI(Le)]})]}):null]}):null,ie&&h==="Events"?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,W.jsx)("button",{style:$e,onClick:()=>m(A=>!A),children:f?"Resume Log":"Pause Log"}),(0,W.jsx)("button",{style:$e,onClick:Vt,children:"Clear"}),(0,W.jsxs)("select",{value:Y,onChange:A=>Q(A.target.value),style:{fontSize:12,background:"#111827",color:"#e2e8f0",border:"1px solid #334155"},children:[(0,W.jsx)("option",{value:"all",children:"All"}),(0,W.jsx)("option",{value:"trigger",children:"Trigger"}),(0,W.jsx)("option",{value:"pointer",children:"Pointer"}),(0,W.jsx)("option",{value:"touch",children:"Touch"})]})]}),(0,W.jsx)("div",{style:{maxHeight:240,overflow:"auto",border:"1px solid #1f2937",borderRadius:6,padding:6},children:it.slice().reverse().map((A,F)=>(0,W.jsxs)("div",{style:{marginBottom:4},children:["[",A.type,"] ",JSON.stringify(A)]},`event-${F}`))})]}):null,ie&&h==="Images"?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{children:"Renderer health"}),Qe.canvas.map((A,F)=>(0,W.jsxs)("div",{style:{border:"1px solid #1f2937",borderRadius:6,padding:8},children:[(0,W.jsx)("div",{children:A.type}),(0,W.jsxs)("div",{children:["loadingQueue: ",A.loadingQueue]}),(0,W.jsxs)("div",{children:["imagesPending: ",A.imagesPending]}),(0,W.jsxs)("div",{children:["imagesLoaded: ",A.imagesLoaded]}),(0,W.jsxs)("div",{children:["tasksRunning: ",A.tasksRunning]}),(0,W.jsxs)("div",{children:["firstMeaningfulPaint: ",String(A.firstMeaningfulPaint)]})]},`canvas-${F}`)),Qe.webgl.map((A,F)=>(0,W.jsx)("div",{style:{border:"1px solid #1f2937",borderRadius:6,padding:8},children:(0,W.jsx)("div",{children:A.type})},`webgl-${F}`)),(0,W.jsxs)("div",{children:["Image hosts (",Ge.length,")"]}),(0,W.jsx)("div",{style:{maxHeight:180,overflow:"auto",border:"1px solid #1f2937",borderRadius:6,padding:6},children:Ge.map(A=>(0,W.jsxs)("div",{style:{marginBottom:6},children:[(0,W.jsxs)("div",{children:[A.type," #",A.id]}),(0,W.jsxs)("div",{children:["owner: ",A.ownerId||"(none)"," composite: ",A.compositeId||"(none)"]}),(0,W.jsxs)("div",{children:["canvas: ",A.canvas?JSON.stringify(A.canvas):"(none)"]}),(0,W.jsxs)("div",{children:["webgl: ",A.webgl?JSON.stringify(A.webgl):"(none)"]}),A.anomalies.length?(0,W.jsxs)("div",{children:["anomalies: ",A.anomalies.join(" | ")]}):null]},`${A.type}-${A.id}-${A.ownerId||"none"}`))}),(0,W.jsx)("div",{children:"Chosen composite layers by frame"}),(0,W.jsx)("div",{style:{maxHeight:180,overflow:"auto",border:"1px solid #1f2937",borderRadius:6,padding:6},children:Me.map(A=>(0,W.jsxs)("div",{style:{marginBottom:8},children:[(0,W.jsxs)("div",{children:["frame ",A.frame]}),A.composites.map(F=>(0,W.jsxs)("div",{style:{paddingLeft:8},children:[(0,W.jsxs)("div",{children:["composite ",F.compositeId]}),F.layers.map((J,re)=>(0,W.jsxs)("div",{style:{paddingLeft:10},children:[J.paintType," #",J.paintId," tile=",J.tileIndex]},`${F.compositeId}-${re}`))]},`${A.frame}-${F.compositeId}`))]},`frame-${A.frame}`))})]}):null,ie&&h==="Actions"?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,W.jsx)("button",{style:$e,onClick:T?bi:vi,children:T?"Resume Loop":"Pause Loop"}),(0,W.jsx)("button",{style:$e,onClick:Kt,children:"Step Frame"}),(0,W.jsx)("button",{style:$e,onClick:()=>ie.updateNextFrame(),children:"Repaint"}),(0,W.jsx)("button",{style:$e,onClick:()=>ie.triggerResize(),children:"Trigger Resize"})]}),(0,W.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[(0,W.jsxs)("select",{value:R,onChange:A=>v(A.target.value),style:{fontSize:12,background:"#111827",color:"#e2e8f0",border:"1px solid #334155"},children:[(0,W.jsx)("option",{value:"explore",children:"explore"}),(0,W.jsx)("option",{value:"sketch",children:"sketch"}),(0,W.jsx)("option",{value:"static",children:"static"})]}),(0,W.jsx)("button",{style:$e,onClick:()=>{ie.mode=R,ie.updateNextFrame()},children:"Apply Mode"})]}),(0,W.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,W.jsx)("button",{style:$e,onClick:()=>ie.world.goHome(),children:"goHome"}),(0,W.jsx)("button",{style:$e,onClick:()=>ie.world.zoomIn(),children:"zoomIn"}),(0,W.jsx)("button",{style:$e,onClick:()=>ie.world.zoomOut(),children:"zoomOut"}),(0,W.jsx)("button",{style:$e,onClick:()=>ie.world.constraintBounds(!0),children:"constrain-bounds"})]}),(0,W.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[(0,W.jsxs)("select",{value:S,onChange:A=>C(A.target.value),style:{fontSize:12,background:"#111827",color:"#e2e8f0",border:"1px solid #334155"},children:[(0,W.jsx)("option",{value:"",children:"Select zone"}),ie.world.zones.map((A,F)=>(0,W.jsx)("option",{value:String(A.id||F),children:A.id||`zone-${F}`},`${A.id}-${F}`))]}),(0,W.jsx)("button",{style:$e,onClick:()=>{S&&ie.selectZone(S)},children:"Select Zone"}),(0,W.jsx)("button",{style:$e,onClick:()=>ie.deselectZone(),children:"Deselect Zone"})]}),(0,W.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[(0,W.jsx)("button",{style:$e,onClick:()=>{let A=UI(ie);V(`Reset image hosts=${A.imageHostsReset}, renderers=${A.renderersReset}`),ne()},children:"Recover Images"}),(0,W.jsx)("button",{style:$e,onClick:Vt,children:"Clear Logs"})]}),E?(0,W.jsx)("div",{children:E}):null]}):null]})]}):null,(0,W.jsx)("button",{style:$e,onClick:()=>d(A=>!A),children:l?"Hide DevTools":"Open DevTools"})]})};function JI(e){return(0,$.useMemo)(()=>hd(e),e)}function eE(e,t="",i=!1){let n=(0,$.useRef)(e);n.current&&i&&(n.current=e)}function tE(e){let t=e;if(Array.isArray(t?.renderers))return"composite";let i=t?.constructor?.name||"";return i==="CanvasRenderer"?"canvas":i==="WebGLRenderer"?"webgl":i==="StaticRenderer"?"static":"unknown"}var U0=["brightness","contrast","grayscale","hueRotate","invert","saturate","sepia","blur"],iE=(0,$.memo)(function(e){let{htmlChildren:t,renderPreset:i,onCreated:n,mode:r="explore",resetWorldOnChange:o=!0,unstable_webglRenderer:s=!1,onWebGLFallback:a,onReady:c,onImageError:u,readyResetKey:l,resourceTransitionKey:d,webglFallbackOnImageLoadError:h=!1,webglReadiness:p,imageLoading:f,idle:m=!1,loadWhenVisible:g=!1,unstable_noReconciler:y=!1,hideInlineStyle:x=!1,controllerConfig:w,interactionMode:R="popmotion",children:v,overlayStyle:S,containerStyle:C,enableNavigator:T,className:I,containerProps:E={},homePosition:V,homeOnResize:Y,homeCover:Q,background:z,navigatorOptions:O,runtimeOptions:G,debug:ee,filters:K,homePaddingPx:ne,devTools:oe,viewRotation:we,...ae}=e;eE(e,"Atlas.tsx",e.debug);let[_e,ze]=(0,$.useState)(r),[ie,Re]=(0,$.useState)(s),Be=(0,$.useRef)(!1),Le=(0,$.useRef)(null),Qe=(0,$.useRef)(null),Ge=(0,$.useRef)(void 0),Me=(0,$.useRef)(void 0),[it,Pe]=(0,$.useState)(!1),vt=(0,$.useRef)(void 0),[$e,Tt]=(0,$.useState)(!1),[Gt,vi]=(0,$.useState)(!1),[bi,Kt]=(0,$.useState)(!1),Vt=(0,$.useRef)(!1),A=O?.style?.background,F=O?.style?.objectFill,J=O?.style?.objectStroke,re=O?.style?.viewportFill,ue=O?.style?.viewportStroke,N=O?.style?.viewportLineWidth,k=O?.pdfScrollZoneZoneWindow?.total,H=O?.pdfScrollZoneZoneWindow?.before,X=O?.pdfScrollZoneZoneWindow?.after,ge=(0,$.useMemo)(()=>{if(!(A===void 0&&F===void 0&&J===void 0&&re===void 0&&ue===void 0&&N===void 0))return{background:A,objectFill:F,objectStroke:J,viewportFill:re,viewportStroke:ue,viewportLineWidth:N}},[A,F,J,re,ue,N]),Ee=(0,$.useMemo)(()=>{if(R==="pdf-scroll-zone")return{total:k??9,before:H,after:X}},[R,X,H,k]),Ie=(0,$.useCallback)(q=>{ee&&console.debug("[Atlas navigator]",q)},[ee]),_=(0,$.useMemo)(()=>({width:O?.width??120,idleFade:O?.idleFade??!0,idleMs:O?.idleMs??800,fadeDurationMs:O?.fadeDurationMs??250,opacityActive:O?.opacityActive??.94,opacityIdle:O?.opacityIdle??0,style:ge,zoneWindow:Ee}),[O?.fadeDurationMs,O?.idleFade,O?.idleMs,O?.opacityActive,O?.opacityIdle,O?.width,ge,Ee]),j=(0,$.useMemo)(()=>{let q="default-preset",ce={},fe=!1;if(Array.isArray(i)?(q=i[0],ce={...i[1]||{}},fe=!0):typeof i=="string"&&(q=i),ee&&(ce.debug=ee,fe=!0),q==="default-preset"){let Xe={};_.style&&(Xe.style=_.style),_.zoneWindow&&(Xe.zoneWindow=_.zoneWindow),ee&&(Xe.onDebugEvent=Ie),Object.keys(Xe).length>0&&(ce.navigatorRendererOptions={...ce.navigatorRendererOptions||{},...Xe},fe=!0)}return fe?[q,ce]:i||"default-preset"},[i,ee,Ie,_.style,_.zoneWindow]),[pe,se,de]=G0({scroll:!0}),Ce=(0,$.useRef)(),Ke=q=>{Ce.current=q,pe(q)},B=(0,$.useCallback)(q=>{Be.current||(Be.current=!0,Qe.current&&(Le.current=Qe.current.getViewport()),Re(!1),a&&a(q))},[a]),U=(0,$.useCallback)(q=>{if(Le.current&&(q.runtime.setViewport(Le.current),q.runtime.updateNextFrame(),Le.current=null),n)return n(q)},[n]),[he,M,le,Te]=F0(j,{width:ae.width,height:ae.height,forceRefresh:de,controllerConfig:w,interactionMode:R,unstable_webglRenderer:ie,onWebGLFallback:B,onImageError:u,webglFallbackOnImageLoadError:h,webglReadiness:p,imageLoading:f,idle:m,loadWhenVisible:g,runtimeOptions:G});(0,$.useEffect)(()=>{if(M)return NI(M)},[M]);let[lt,rt]=(0,$.useState)("");(0,$.useEffect)(()=>{ze(r)},[r]),(0,$.useEffect)(()=>{Pe(!1),Qe.current=M?M.runtime:null,Ge.current=void 0,Me.current=void 0},[M]),(0,$.useEffect)(()=>{if(!s){Re(!1);return}Be.current||Re(!0)},[s]),(0,$.useEffect)(()=>{if(!M||!c)return;let q=M.runtime;return q.world.addLayoutSubscriber(ce=>{if(ce!=="ready")return;let fe=q.getReadyState();Me.current!==fe.cycle&&(Me.current=fe.cycle,fe.timestamp&&c({runtimeId:q.id,cycle:fe.cycle,reason:fe.reason,renderer:tE(q.renderer),timestamp:fe.timestamp}))})},[M,c]),(0,$.useEffect)(()=>{if(M){if(l===void 0){Ge.current=void 0;return}if(Ge.current===void 0){Ge.current=l;return}Ge.current!==l&&(Ge.current=l,Me.current=void 0,M.runtime.resetReadyState("ready-reset-key-change"))}},[M,l]),(0,$.useEffect)(()=>{M&&M.runtime.setResourceTransitionKey(d)},[M,d]),(0,$.useEffect)(()=>{M&&M.em&&M.em.updateBounds()},[M,se]),(0,$.useEffect)(()=>{M&&M.runtime.setOptions(G||{})},[M,G]),(0,$.useEffect)(()=>{M&&M.runtime&&(M.runtime.mode=_e),it&&M&&(M.ready=!0)},[M,it,_e]),(0,$.useEffect)(()=>{M&&(Q||(M.runtime.manualHomePosition=R==="pdf-scroll-zone"||!!V,M.runtime.setHomePosition(V)))},[M,Q,V,R]),(0,$.useEffect)(()=>{M&&M.runtime.setHomePaddingPx(ne)},[M,ne]),(0,$.useEffect)(()=>{if(M){let q=M.runtime;(le.current.width!==ae.width||le.current.height!==ae.height)&&(q.resize(le.current.width,ae.width,le.current.height,ae.height),le.current.width=ae.width,le.current.height=ae.height,le.current.didUpdate=!0,q.updateNextFrame())}},[M,ae.width,ae.height,le]),(0,$.useEffect)(()=>{M&&we!==void 0&&(M.runtime.viewRotation=we)},[M,we]),(0,$.useEffect)(()=>{if(K&&M){let q=M.runtime,ce=!1;q.hookOptions.enableFilters=!0;for(let fe of U0)K[fe]?K[fe]!==M.runtime.hookOptions.filters[fe]&&(q.hookOptions.filters[fe]=K[fe],ce=!0):q.hookOptions.filters[fe]&&(q.hookOptions.filters[fe]=0,ce=!0);ce&&q.updateNextFrame()}else if(M){let q=M.runtime;for(let ce of U0)q.hookOptions.filters[ce]=0;q.hookOptions.enableFilters=!1,q.updateNextFrame()}},[M,K]);function ot(){if(M&&(M.overlay&&(M.overlay.style.width=`${se.width}px`,M.overlay.style.height=`${se.height}px`),M.container&&(M.container.style.width=`${se.width}px`,M.container.style.height=`${se.height}px`),Q)){let q=M.runtime.world.width,ce=M.runtime.world.height,fe=q/ce,Xe=le.current.width,Fi=le.current.height,xi=Xe/Fi;if(fe>xi){xi=Fi/Xe,M.runtime.manualHomePosition=!0;let wi=(q-ce/xi)/2;Q==="start"&&(wi=0),Q==="end"&&(wi=q-ce/xi);let vn={x:wi,y:0,width:ce/xi,height:ce};M.runtime.setHomePosition(vn)}else{let wi=(ce-q/xi)/2;Q==="start"&&(wi=0),Q==="end"&&(wi=ce-q/xi),M.runtime.manualHomePosition=!0;let vn={x:0,y:wi,width:q,height:q/xi};M.runtime.setHomePosition(vn)}Y&&M.runtime.goHome({})}}Fs(()=>{ot()},[M,e.runtimeOptions?.maxOverZoom,se.height,se.width,Q]),Fs(()=>{let q=()=>{if(M){let ce=M.runtime;(le.current.width!==ae.width||le.current.height!==ae.height)&&(ce.resize(le.current.width,ae.width,le.current.height,ae.height),le.current.width=ae.width,le.current.height=ae.height,ce.updateNextFrame(),le.current.didUpdate=!0)}};return window.addEventListener("resize",q),()=>window.removeEventListener("resize",q)},[M,ae.height,ae.width]);let st=()=>{if(!M)return;let q=M.renderer;if(Array.isArray(q.renderers))return q.renderers.find(ce=>typeof ce.invalidateWorldLayer=="function")},Je=(0,$.useCallback)(()=>{if(!M)return window.devicePixelRatio||1;let q=M.renderer,ce=(Array.isArray(q.renderers)?q.renderers[0]:q)?.dpi;return typeof ce=="number"&&Number.isFinite(ce)&&ce>0?ce:window.devicePixelRatio||1},[M]),hi=(0,$.useCallback)(q=>mm(q.world,{target:q.getViewport(),zoneWindow:_.zoneWindow}),[_.zoneWindow]),ur=(0,$.useCallback)(q=>q.isViewportAtHome({cover:!!Q,tolerance:1}),[Q,ne]),qi=()=>{if(M&&M.navigator){let q=hi(M.runtime),ce=q.height,fe=q.width,Xe=Je(),Fi=Math.max(1,fe),xi=Math.max(1,ce),wi=Math.max(1,_.width),vn=Math.max(1,ae.height-20),$o=wi,dr=wi/Fi*xi;if(dr>vn){let De=vn/dr;dr=vn,$o=Math.max(1,wi*De)}M.navigator.width=$o*Xe,M.navigator.height=dr*Xe,M.navigator.style.width=$o+"px",M.navigator.style.height=dr+"px";let jo=st();jo&&jo.invalidateWorldLayer&&jo.invalidateWorldLayer()}};Fs(()=>{if(M){qi();let q=M.runtime;return q.world.addLayoutSubscriber(ce=>{if(ce==="repaint"){let fe=st();fe&&fe.invalidateWorldLayer&&fe.invalidateWorldLayer()}(ce==="recalculate-world-size"||ce==="zone-changed")&&(qi(),ot(),ce==="recalculate-world-size"&&(le.current.width!==ae.width||le.current.height!==ae.height)&&q.resize(le.current.width,ae.width,le.current.height,ae.height))})}return()=>{}},[M,ae.width,ae.height,_.width,hi,Je,se.width,se.height]),(0,$.useEffect)(()=>{if(!M||!T){Kt(!1);return}let q=M.runtime,ce=()=>{let fe=ur(q);Kt(Xe=>Xe===fe?Xe:fe)};return ce(),q.world.addLayoutSubscriber(()=>{ce()})},[M,T,ur]);let It=(0,$.useCallback)(function(q){let ce=()=>{Pe(!0)};return(0,$.useEffect)(()=>{if(!M)return;R!=="pdf-scroll-zone"&&M.runtime.goHome();let fe=U&&U(M);fe&&fe.then?fe.then(ce):ce()},[]),q.children},[M,U,R]);(0,$.useEffect)(()=>{if(M){let q=M.runtime;if(o)return q.world.addLayoutSubscriber(ce=>{ce==="recalculate-world-size"&&R!=="pdf-scroll-zone"&&q.goHome()})}return()=>{}},[M,o,R]),(0,$.useEffect)(()=>M?M.runtime.registerHook("useBeforeFrame",()=>{if(le.current.didUpdate&&M.canvas){let q=Je(),ce=le.current.width,fe=le.current.height;M.canvas.width=ce*q,M.canvas.height=fe*q,M.canvas.style.width=ce+"px",M.canvas.style.height=fe+"px";let Xe=M.canvas.getContext("2d");if(Xe&&(Xe.setTransform(1,0,0,1,0,0),Xe.scale(q,q)),M.parityCanvas){M.parityCanvas.width=ce*q,M.parityCanvas.height=fe*q,M.parityCanvas.style.width=ce+"px",M.parityCanvas.style.height=fe+"px";let Fi=M.parityCanvas.getContext("2d");Fi&&(Fi.setTransform(1,0,0,1,0,0),Fi.scale(q,q))}M&&M.em&&M.em.updateBounds(),le.current.didUpdate=!1}}):()=>{},[M,o,Je]),(0,$.useEffect)(()=>{let q=()=>{M&&(ze("sketch"),rt("mode-sketch")),window.removeEventListener("keyup",q)},ce=fe=>{if(fe.code==="Space"&&M&&M.runtime.mode==="sketch"){let Xe=fe.target?.tagName?.toLowerCase();if(Xe==="input"||Xe==="textarea"||fe.target?.isContentEditable)return;fe.preventDefault(),ze("explore"),rt("mode-explore"),window.addEventListener("keyup",q)}};return window.addEventListener("keydown",ce),()=>{window.removeEventListener("keydown",ce),window.removeEventListener("keyup",q)}},[M]);let L=(0,$.useCallback)(()=>{!T||!_.idleFade||(Tt(!1),vt.current!==void 0&&window.clearTimeout(vt.current),vt.current=window.setTimeout(()=>{Vt.current||Tt(!0)},_.idleMs))},[T,_.idleFade,_.idleMs]);(0,$.useEffect)(()=>()=>{vt.current!==void 0&&(window.clearTimeout(vt.current),vt.current=void 0)},[]),(0,$.useEffect)(()=>{if(!M?.canvas||!T||!_.idleFade)return;let q=M.canvas,ce=()=>L(),fe=["pointerdown","pointermove","pointerup","touchstart","touchmove","touchend","wheel"];for(let Xe of fe)q.addEventListener(Xe,ce,{passive:!0});return L(),()=>{for(let Xe of fe)q.removeEventListener(Xe,ce)}},[M,T,_.idleFade,L]),(0,$.useEffect)(()=>{if(!M?.navigator||!T)return;let q=M.navigator,ce=M.runtime,fe={active:!1,pointerId:-1,offsetX:0,offsetY:0,startClientX:0,startClientY:0,startWorldX:0,startWorldY:0},Xe=De=>{Vt.current=De,vi(De)},Fi=De=>{let nt=q.getBoundingClientRect();if(nt.width<=0||nt.height<=0)return{x:0,y:0};let bt=De.clientX-nt.left,Ht=De.clientY-nt.top,On=hi(ce);return P0(dd(On.width,On.height,nt.width,nt.height,On.x,On.y),bt,Ht)},xi=(De,nt,{preserveOffset:bt=!0,constrainAfterMove:Ht=!1}={})=>{let On=ce.getViewport(),aR=bt?De-fe.offsetX:De-On.width/2,lR=bt?nt-fe.offsetY:nt-On.height/2,cR=ke.singleBox(On.width,On.height,aR,lR),[,Ho]=ce.constrainBounds(cR,{ref:!0});ce.setViewport({x:Ho[1],y:Ho[2],width:Ho[3]-Ho[1],height:Ho[4]-Ho[2]}),ce.updateControllerPosition(),ce.updateNextFrame(),Ht&&ce.world.constraintBounds(!0)},wi=(De,nt)=>{let bt=T0(ce.world,{target:ce.getViewport(),zoneWindow:_.zoneWindow});for(let Ht of ce.world.zones)if(!(bt&&!bt.has(Ht.id))&&(Ht.recalculateBounds(),Ht.points[0]!==0&&De>=Ht.points[1]&&De<=Ht.points[3]&&nt>=Ht.points[2]&&nt<=Ht.points[4]))return Ht},vn=De=>{if(De.button!==0)return;L();let nt=Fi(De),bt=ce.getViewport(),Ht=nt.x>=bt.x&&nt.y>=bt.y&&nt.x<=bt.x+bt.width&&nt.y<=bt.y+bt.height;fe.active=!0,fe.pointerId=De.pointerId,fe.startClientX=De.clientX,fe.startClientY=De.clientY,fe.startWorldX=nt.x,fe.startWorldY=nt.y,Ht?(fe.offsetX=nt.x-bt.x,fe.offsetY=nt.y-bt.y):(fe.offsetX=bt.width/2,fe.offsetY=bt.height/2,xi(nt.x,nt.y,{preserveOffset:!0,constrainAfterMove:!0})),Xe(!0),q.setPointerCapture(De.pointerId),De.preventDefault(),De.stopPropagation()},$o=De=>{if(!fe.active||De.pointerId!==fe.pointerId)return;let nt=Fi(De);xi(nt.x,nt.y,{preserveOffset:!0}),L(),De.preventDefault(),De.stopPropagation()},dr=De=>{if(!fe.active||De.pointerId!==fe.pointerId)return;Fi(De);let nt=Math.hypot(De.clientX-fe.startClientX,De.clientY-fe.startClientY),bt=!1;if(nt<4){let Ht=wi(fe.startWorldX,fe.startWorldY);Ht&&(bt=ce.goToZone(Ht.id),bt&&ce.updateNextFrame())}fe.active=!1,fe.pointerId=-1,Xe(!1),bt||ce.world.constraintBounds(!0),q.hasPointerCapture(De.pointerId)&&q.releasePointerCapture(De.pointerId),L(),De.preventDefault(),De.stopPropagation()},jo=De=>{!fe.active||De.pointerId!==fe.pointerId||(fe.active=!1,fe.pointerId=-1,Xe(!1),q.hasPointerCapture(De.pointerId)&&q.releasePointerCapture(De.pointerId),L())};return q.addEventListener("pointerdown",vn),q.addEventListener("pointermove",$o),q.addEventListener("pointerup",dr),q.addEventListener("pointercancel",jo),()=>{Xe(!1),q.removeEventListener("pointerdown",vn),q.removeEventListener("pointermove",$o),q.removeEventListener("pointerup",dr),q.removeEventListener("pointercancel",jo)}},[M,T,L,hi]);let{height:te,width:ye,...Fe}=ae,Ne=JI([ae.width,ae.height]),Et=!0;j&&Array.isArray(j)&&j.length>1&&j[1].interactive===!1&&(Et=!1),z=z??"#000",Ce.current&&(z=getComputedStyle(Ce.current).getPropertyValue("--atlas-background")||z);let yn=typeof oe=="object"?oe:void 0,Ui=(0,$.useMemo)(()=>({"--atlas-navigator-fade-duration":`${_.fadeDurationMs}ms`,"--atlas-navigator-opacity-active":`${_.opacityActive}`,"--atlas-navigator-opacity-idle":`${_.opacityIdle}`}),[_.fadeDurationMs,_.opacityActive,_.opacityIdle]);return(0,W.jsxs)(Rl,{ref:Ke,className:["atlas",`atlas-interaction-${R}`,x?"":`atlas-width-${Ne}`,lt,I,`atlas-${he}`].filter(Boolean).join(" ").trim(),style:{...C,...x?{}:{width:ae.width,height:ae.height}},children:[he==="static-preset"?(0,W.jsx)(Rl,{className:"atlas-static-container",ref:Te.container,tabIndex:0,...E}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("canvas",{className:"atlas-canvas",part:"atlas-canvas",tabIndex:0,...Fe,...E,ref:Te.canvas,"data-background":z},ie?"webgl-canvas":"canvas-canvas"),ie?(0,W.jsx)("canvas",{className:"atlas-parity-canvas",part:"atlas-parity-canvas","aria-hidden":"true","data-background":"transparent",ref:Te.parityCanvas},"parity-canvas"):null]}),(0,W.jsx)(Rl,{className:["atlas-overlay",Et?"atlas-overlay--interactive":""].filter(Boolean).join(" ").trim(),style:{...S||{}},ref:Te.overlay,children:y?(0,W.jsx)(It,{children:(0,W.jsx)(xl.Provider,{value:se,children:(0,W.jsx)(bo.Provider,{value:_e,children:(0,W.jsx)(bl.Provider,{value:M,children:v})})})}):(0,W.jsx)(_I,{bounds:se,preset:M,mode:_e,interactionMode:R,setIsReady:Pe,onCreated:U,children:v})}),T?(0,W.jsx)(Rl,{className:["atlas-navigator",bi?"atlas-navigator--hidden-at-home":"",_.idleFade&&$e?"atlas-navigator--idle":"",Gt?"atlas-navigator--dragging":""].filter(Boolean).join(" ").trim(),style:Ui,children:(0,W.jsx)("canvas",{className:"atlas-navigator-canvas",part:"atlas-navigator-canvas",ref:Te.navigator})}):null,oe?(0,W.jsx)(KI,{...yn,runtimeId:yn?.runtimeId||M?.runtime.id}):null,x?(0,W.jsx)("style",{children:`.atlas-width-${Ne} { width: ${ae.width}px; height: ${ae.height}px; }`}):(0,W.jsx)("style",{children:`
64
+ .atlas { position: relative; display: flex; background: ${z}; z-index: var(--atlas-z-index, 10); -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
65
+ .atlas-width-${Ne} { width: ${ae.width}px; height: ${ae.height}px; }
69
66
  .atlas-canvas { flex: 1 1 0px; }
70
67
  .atlas-interaction-pdf-scroll-zone .atlas-canvas,
71
68
  .atlas-interaction-pdf-scroll-zone .atlas-static-container { touch-action: none; }
@@ -83,15 +80,15 @@ Error generating stack: `+i.message+`
83
80
  .atlas-navigator--hidden-at-home { opacity: 0; pointer-events: none; }
84
81
  .atlas-navigator-canvas { width: 100%; height: 100%; display: block; cursor: grab; touch-action: none; border-radius: var(--atlas-navigator-radius, 6px); border: var(--atlas-navigator-border, 1px solid rgba(0, 0, 0, 0.7)); box-shadow: var(--atlas-navigator-shadow, 0 6px 16px rgba(2, 6, 23, 0.45)); box-sizing: border-box; }
85
82
  .atlas-navigator--dragging .atlas-navigator-canvas { cursor: grabbing; }
86
- `}),e]})});function w3(t){return Number(t)==t?`${t}px`:t}var cD=(0,k.memo)(function({resizeHash:t,aspectRatio:e,containerProps:n={},htmlChildren:i,...a}){let[r,l,u]=dx(),f=(0,k.useId)(),{height:h,width:d,...m}=a;(0,k.useEffect)(()=>{u()},[d,h,t,u]);let y=(0,k.useMemo)(()=>e?{width:l.width,height:l.width*(1/e)}:l,[l,e]),g=(0,k.useMemo)(()=>`atlas-auto-${f.replace(/[^a-zA-Z0-9_-]/g,"")}`,[f]),b=(0,k.useMemo)(()=>["atlas-container",g,n.className].filter(Boolean).join(" ").trim(),[g,n.className]),T=(0,k.useMemo)(()=>`.${g} {
83
+ `}),t]})});function Y0(e){return Number(e)==e?`${e}px`:e}var nw=(0,$.memo)(function({resizeHash:e,aspectRatio:t,containerProps:i={},htmlChildren:n,...r}){let[o,s,a]=G0(),c=(0,$.useId)(),{className:u,...l}=i,{height:d,width:h,...p}=r;(0,$.useEffect)(()=>{a()},[h,d,e,a]);let f=(0,$.useMemo)(()=>t?{width:s.width,height:s.width*(1/t)}:s,[s,t]),m=(0,$.useMemo)(()=>`atlas-auto-${c.replace(/[^a-zA-Z0-9_-]/g,"")}`,[c]),g=(0,$.useMemo)(()=>["atlas-container",m,u].filter(Boolean).join(" ").trim(),[m,u]),y=(0,$.useMemo)(()=>`.${m} {
87
84
  display: var(--atlas-container-display, block);
88
85
  flex: var(--atlas-container-flex, none);
89
- width: var(--atlas-container-width, ${w3(d??"100%")});
90
- height: var(--atlas-container-height, ${w3(h||(e?y.height:512))})
91
- }`,[e,g,y.height,h,d]);return(0,Z.jsxs)(Kh,{ref:r,className:b,...n,children:[y.width?(0,Z.jsx)(Zj,{width:y.width||100,height:y.height||100,...m,children:a.children}):null,a.hideInlineStyle?null:(0,Z.jsx)("style",{children:T}),i]})});var dD=(t,e=[])=>{let n=ip();(0,k.useEffect)(()=>n?n.registerHook("useFrame",t):()=>{},e)},Kv=()=>{let t=Qv();return t&&t.canvas?t.canvas:void 0};function Wj(){return(0,k.useContext)(Yv)}var na=k.default.forwardRef(({children:t,...e},n)=>{let i=(0,k.useRef)(),a=ip(),r=(0,k.useRef)(0),l=(0,k.useRef)(),u=(0,k.useRef)();return dD(()=>{if(e.relative){let f=i.current;if(f&&a){let h=a.getScaleFactor();r.current!==h&&(r.current=h,f.style.transformOrigin="0 0",f.style.transform=`scale(${1/r.current})`,f.style.width=`${r.current*100}%`,f.style.height=`${r.current*100}%`,i.current&&l.current?.__owner.value?.rotation&&(f.style.transform=`scale(${1/r.current}) translate(50%, 50%) rotate(${l.current?.__owner.value?.rotation||0}deg) translate(-50%, -50%)`))}}},[e.relative]),(0,k.useLayoutEffect)(()=>{let f=l.current;n&&f&&(typeof n=="function"?n(f):n.current=f);async function h(){if(f&&f.__host){let d=e.relative?(0,Z.jsx)("div",{ref:i,children:t}):t;await sD(f.__host.element,d,u)}}f&&f.__host?h():f&&(f.__onCreate=h)},[n,t,l,e.relative]),(0,k.useLayoutEffect)(()=>()=>{u.current&&setTimeout(()=>{u.current.unmount()},0)},[]),(0,Z.jsx)("box",{html:!0,...e,ref:l})});na.displayName="HTMLPortal";var Jj=(0,k.createContext)(null);Jj.displayName="MapProjection";var T3=(t,e,n=[])=>{let i=ip();(0,k.useEffect)(()=>{if(i){let a=e,r=Cd[t];i.world.activatedEvents.push(r);let l=r.slice(2).toLowerCase();return i.world.addEventListener(l,a),()=>{i.world.removeEventListener(l,a)}}return()=>{}},[i?i.world:void 0,t,...n])};function R3(t,e){if(t===0)return[0,1];if(e===0)return[1,0];let n=Math.abs(t)/Math.abs(e);return[n,1-n]}function $j(){let t=(0,k.useRef)({ctrl:!1,shift:!1,alt:!1});return(0,k.useLayoutEffect)(()=>{function e(i){i.key==="Shift"&&(t.current.shift=!0),i.key==="Control"&&(t.current.ctrl=!0),i.key==="Alt"&&(t.current.alt=!0)}function n(i){i.key==="Shift"&&(t.current.shift=!1),i.key==="Control"&&(t.current.ctrl=!1),i.key==="Alt"&&(t.current.alt=!1)}return window.addEventListener("keydown",e),window.addEventListener("keyup",n),()=>{window.removeEventListener("keydown",e),window.removeEventListener("keyup",n)}},[]),t}var fD=(t,e)=>{let n=pj(),i=ip(),a=Wj(),r=(0,k.useRef)(),l=(0,k.useRef)(null),u=(0,k.useRef)(),[f,h]=(0,k.useState)(!1),d=(0,k.useRef)(!1),m=(0,k.useRef)({north:0,south:0,east:0,west:0}),y=$j(),g=(0,k.useCallback)(w=>R=>{if(d.current=!0,h(!0),a&&i){let{top:E,left:M}=a,z=i.viewerToWorld(R.pageX-M,R.pageY-E);u.current={x:z.x,y:z.y},r.current=w}},[a,i]),b=(0,k.useMemo)(()=>t.width/t.height,[t.width,t.height]),T=(0,k.useCallback)(w=>{if(!Math.abs(w.north-w.south+(w.east-w.west)))return;let R=-w.west+w.east,E=-w.north+w.south,M=t.width+R,z=t.height+E;if(M/z>=b){let I=M-z*b,[L,H]=R3(w.east,w.west);w.west+=I*H,w.east-=I*L}else{let I=z-M/b,[L,H]=R3(w.north,w.south);w.north+=I*L,w.south-=I*H}},[t.width,t.height,b]);dD(()=>{u&&i&&i.updateNextFrame()}),(0,k.useEffect)(()=>{i&&i.updateNextFrame()},[i,f]);let C=(0,k.useCallback)(w=>{if(!i||!a||i.mode!=="sketch")return;let{top:R,left:E}=a,M=i.viewerToWorld(w.pageX-E,w.pageY-R),z=l.current,I=!t.maintainAspectRatio&&y.current.alt,L=!I&&y.current.shift&&r.current?.indexOf("-")!==-1;if((r.current==="translate"||r.current==="east"||r.current==="north-east"||r.current==="south-east")&&(m.current.east=M.x-(u.current?u.current.x:0),I&&(m.current.west=-m.current.east)),(r.current==="translate"||r.current==="west"||r.current==="north-west"||r.current==="south-west")&&(m.current.west=M.x-(u.current?u.current.x:0),I&&(m.current.east=-m.current.west)),(r.current==="translate"||r.current==="north"||r.current==="north-east"||r.current==="north-west")&&(m.current.north=M.y-(u.current?u.current.y:0),I&&(m.current.south=-m.current.north)),(r.current==="translate"||r.current==="south"||r.current==="south-west"||r.current==="south-east")&&(m.current.south=M.y-(u.current?u.current.y:0),I&&(m.current.north=-m.current.south)),(t.maintainAspectRatio||L)&&T(m.current),z){let H=m.current.west,q=m.current.north,st=t.width+m.current.east,et=t.height+m.current.south;z.points[1]=Math.min(H,st),z.points[2]=Math.min(q,et),z.points[3]=Math.max(H,st),z.points[4]=Math.max(q,et),i.updateNextFrame()}},[i,t.width,t.height,t.maintainAspectRatio,a]);T3("mousemove",C,[t.width,t.height,a]),T3("pointermove",C,[t.width,t.height,a]);let x=(0,k.useRef)();return(0,k.useEffect)(()=>{x.current=()=>{if(d.current){let w=m.current.west,R=m.current.north,E=t.width+m.current.east,M=t.height+m.current.south,z=Math.min(w,E),I=Math.min(R,M),L=Math.max(w,E),H=Math.max(R,M),q={x:(t.x||0)+z,y:(t.y||0)+I,width:L-z||1,height:H-I||1};t.maintainAspectRatio,e(q),r.current=void 0,u.current=void 0,m.current.east=0,m.current.west=0,m.current.north=0,m.current.south=0,d.current=!1,h(!1)}}},[e,t.height,t.width,t.x,t.y]),(0,k.useEffect)(()=>{let w=()=>{x.current&&x.current()};return window.addEventListener("pointerup",w),window.addEventListener("touchend",w),()=>{window.removeEventListener("pointerup",w),window.removeEventListener("touchend",w)}},[]),{portalRef:l,mode:n,mouseEvent:g,onPointerMoveCallback:C,isEditing:f}};function rp(t,e){return t?e?{...t,...e||{},":hover":t[":hover"]?Object.assign(t[":hover"]||{},e[":hover"]||{}):e[":hover"],":active":t[":active"]?Object.assign(t[":active"]||{},e[":active"]||{}):e[":hover"]}:t:e}var Vo=N(ct(),1);function vr(t){return{all:t=t||new Map,on:function(e,n){var i=t.get(e);i?i.push(n):t.set(e,[n])},off:function(e,n){var i=t.get(e);i&&(n?i.splice(i.indexOf(n)>>>0,1):t.set(e,[]))},emit:function(e,n){var i=t.get(e);i&&i.slice().map(function(a){a(n)}),(i=t.get("*"))&&i.slice().map(function(a){a(e,n)})}}}var gu=N(ct(),1),hD=N(K(),1),t7=vr(),yu=(0,gu.createContext)(t7);function e7({children:t,emitter:e}){return(0,hD.jsx)(yu.Provider,{value:e,children:t})}function mR(){return(0,gu.useContext)(yu)}function vu(t,e,n=[]){let i=(0,gu.useContext)(yu);(0,gu.useEffect)(()=>{let a=r=>{e(r)};return i.on(t,a),()=>{i.off(t,a)}},[i,t,...n])}function n7(t){return{all:t=t||new Map,on:function(e,n){var i=t.get(e);i?i.push(n):t.set(e,[n])},off:function(e,n){var i=t.get(e);i&&(n?i.splice(i.indexOf(n)>>>0,1):t.set(e,[]))},emit:function(e,n){var i=t.get(e);i&&i.slice().map(function(a){a(n)}),(i=t.get("*"))&&i.slice().map(function(a){a(e,n)})}}}function i7(t,e,n){let[i,a]=t,[r,l]=e,[u,f]=n,h=u-r,d=f-l,m=Math.sqrt(h*h+d*d);if(m===0)return{distance:Math.sqrt((i-r)**2+(a-l)**2),closestPoint:[r,l]};let y=Math.max(0,Math.min(1,((i-r)*h+(a-l)*d)/(m*m))),g=r+y*h,b=l+y*d,T=[g,b];return{distance:Math.sqrt((i-g)**2+(a-b)**2),closestPoint:T}}function a7(t,e,n,i){let[a,r]=t,[l,u]=e,[f,h]=n,[d,m]=i,y=(a-l)*(h-m)-(r-u)*(f-d);if(Math.abs(y)<1e-10)return null;let g=((a-f)*(h-m)-(r-h)*(f-d))/y,b=-((a-l)*(r-h)-(r-u)*(a-f))/y;if(g>=0&&g<=1&&b>=0&&b<=1){let T=a+g*(l-a),C=r+g*(u-r);return[T,C]}return null}function r7(t,e,n){let i=n||e.snapThreshold||15,a=[],[r,l]=t,u=e.polygon.points,f=e.slowState.transitionIntentType==="move-point";if(e.slowState.snapToPoints)for(let h=0;h<u.length;h++){if(f&&e.selectedPoints.includes(h))continue;let d=u[h];if(d[0]===r&&d[1]===l)continue;let m=d[0]-r,y=d[1]-l,g=Math.sqrt(m*m+y*y);g<=i&&a.push({type:"point",point:[d[0],d[1]],source:{pointIndex:h,polygon:e.polygon},distance:g})}if(e.slowState.snapToLines)for(let h=0;h<u.length;h++){if(f&&e.selectedPoints.includes(h))continue;let d=(h+1)%u.length;if(h===d)continue;let m=u[h],y=u[d],{distance:g,closestPoint:b}=i7(t,m,y);g<=i&&a.push({type:"line",point:b,source:{lineIndex:h,polygon:e.polygon},distance:g})}if(e.slowState.snapToIntersections&&u.length>=4)for(let h=0;h<u.length;h++){if(f&&e.selectedPoints.includes(h))continue;let d=(h+1)%u.length,m=u[h],y=u[d];for(let g=h+2;g<u.length;g++){if(f&&e.selectedPoints.includes(g))continue;let b=(g+1)%u.length;if(g===d||b===h)continue;let T=u[g],C=u[b],x=a7(m,y,T,C);if(x){let[w,R]=x,E=Math.sqrt((r-w)**2+(l-R)**2);E<=i&&a.push({type:"intersection",point:x,source:{lineIndex:h,polygon:e.polygon},distance:E})}}}if(e.slowState.snapToParallel)for(let h=0;h<u.length;h++){if(f&&e.selectedPoints.includes(h))continue;let d=u[h],[m,y]=d,g=Math.abs(l-y);g<=i&&a.push({type:"parallel",point:[r,y],source:{pointIndex:h,polygon:e.polygon},distance:g});let b=Math.abs(r-m);b<=i&&a.push({type:"parallel",point:[m,l],source:{pointIndex:h,polygon:e.polygon},distance:b})}return a.sort((h,d)=>h.distance-d.distance)}function o7(t){return t.sort((e,n)=>{let i=e.type==="point"?0:e.type==="intersection"?1:e.type==="parallel"?2:3,a=n.type==="point"?0:n.type==="intersection"?1:n.type==="parallel"?2:3;return i!==a?i-a:e.distance-n.distance})}function s7(t,e){let n=[];for(let i of t)switch(i.type){case"point":n.push({type:"point",points:[i.point],target:i});break;case"line":if(i.source?.lineIndex!==void 0){let a=e.polygon.points,r=i.source.lineIndex,l=(r+1)%a.length,u=a[r],f=a[l];n.push({type:"line",points:[u,f,i.point],target:i})}else n.push({type:"point",points:[i.point],target:i});break;case"intersection":n.push({type:"cross",points:[i.point],target:i});break;case"parallel":if(i.source?.pointIndex!==void 0){let a=e.polygon.points[i.source.pointIndex];n.push({type:"parallel-line",points:[a,i.point],target:i})}break}return n}function Ws(t,e,n=5,i){if(!e.slowState.snapEnabled)return e.snapTargets=[],e.activeSnapGuides=[],e.isSnapping=!1,e.snapPoint=null,null;let a=r7(t,e,void 0);if(a.length===0)return e.snapTargets=[],e.activeSnapGuides=[],e.isSnapping=!1,e.snapPoint=null,null;let r=o7(a);return e.snapTargets=r,e.activeSnapGuides=s7(r.slice(0,n),e),e.isSnapping=!0,e.snapPoint=r[0].point,e.snapPoint}function vD(t){t.snapTargets=[],t.activeSnapGuides=[],t.isSnapping=!1,t.snapPoint=null}function l7(t){return t.isSnapping&&t.snapPoint!==null}function cp(t,e){return l7(e)&&e.snapPoint?e.snapPoint:t}var u7={type:"add-open-point",label:"Add point",tools:["pen","line","lineBox"],trigger:{type:"click"},isValid(t,e,n){if(!e.isOpen)return!1;if(e.polygon.points.length===0)return!0;if(e.selectedPoints.length!==1||e.polygon.points.length>=2&&(e.slowState.currentTool==="line"||e.slowState.currentTool==="lineBox"))return!1;if(e.slowState.bounds){let{x:a,y:r,width:l,height:u}=e.slowState.bounds,[f,h]=t[0];if(f<a||f>a+l||h<r||h>r+u)return!1}let i=e.selectedPoints[0];return i===0||i===e.polygon.points.length-1},commit(t,e,n){let i=e.line?e.line[1]:t[0];!n.Shift&&e.slowState.snapEnabled&&(Ws(i,e,3),i=cp(i,e));let a=e.polygon.points;if(a.length===0)return{selectedPoints:[0],points:[i]};n.Shift;let r=e.selectedPoints[0],l=e.slowState.currentTool==="line"||e.slowState.currentTool==="lineBox";if(r===0)return~~a[0][0]===~~i[0]&&~~a[0][1]===~~i[1]?{selectedPoints:[0],points:a}:{selectedPoints:l?[]:[0],points:[i,...a]};let u=a[a.length-1];return~~u[0]===~~i[0]&&~~u[1]===~~i[1]?{selectedPoints:[a.length-1],points:a}:(e.line=null,{selectedPoints:l?[]:[a.length],points:[...a,i]})}};function pD(t,e){return Math.abs(t-e)}function _a(t,e){let n=pD(t[0],e[0]),i=pD(t[1],e[1]);return Math.sqrt(n**2+i**2)}function gR(t,e){return[t[0]-e[0],t[1]-e[1]]}function c7(t,e){return t[0]*e[0]+t[1]*e[1]}function bD(t){return t[0]*t[0]+t[1]*t[1]}function Zv(t,e){return bD(gR(t,e))}function SD(t,e,n,i){return i&&n&&(t<0?t=Math.max(t,-i.x-n.x):t>0&&(t=Math.min(t,i.x+i.width-n.x-n.width)),e<0?e=Math.max(e,-i.y-n.y):e>0&&(e=Math.min(e,i.y+i.height-n.y-n.height))),[t,e]}function xD(t,e){let n,i,a,r;var l=(b,T,C,x,w)=>{if(x<=C+1)return;let R=C,E=0,M=b*b;n=[T[C],T[x]],i=gR(n[1],n[0]);let z=bD(i),I,L,H,q,st;for(let et=C+1;et<x;et++)I=gR(T[et],n[0]),q=c7(I,i),q<=0?st=Zv(T[et],n[0]):z<=q?st=Zv(T[et],n[1]):(H=q/z,L=[n[0][0]+H*i[0],n[0][1]+H*i[1]],st=Zv(T[et],L)),!(st<=E)&&(R=et,E=st);E>M&&(w[R]=1,l(b,T,C,R,w),l(b,T,R,x,w))};let u=t.length,f=[],h,d,m,y,g=e*e;for(a=[],r=[],a[0]=t[0],h=d=1,y=0;h<u;h++)Zv(t[h],t[y])<g||(a[d++]=t[h],y=h);for(y<u-1&&(a[d++]=t[u-1]),r[0]=r[d-1]=1,l(e,a,0,d-1,r),h=m=0;h<d;h++)r[h]&&(f[m++]=a[h]);return f}function d7(t){if(t.length!==4)return!1;let e=1e-10,n=Math.min(...t.map(u=>u[0])),i=Math.max(...t.map(u=>u[0])),a=Math.min(...t.map(u=>u[1])),r=Math.max(...t.map(u=>u[1]));for(let u of t){let f=Math.abs(u[0]-n)<e||Math.abs(u[0]-i)<e,h=Math.abs(u[1]-a)<e||Math.abs(u[1]-r)<e;if(!f||!h)return!1}let l=[[n,a],[n,r],[i,a],[i,r]];for(let u of l)if(!t.some(f=>Math.abs(f[0]-u[0])<e&&Math.abs(f[1]-u[1])<e))return!1;return!0}function wD(t){let e=t.points.length,n=!1,i=[];if(e>1){t.iedges=[];let a=t.points[e-1];for(let r=0;r<e;r++){let l=a;if(a=t.points[r],a.length===6){let h=a[2],d=a[3],m=a[4],y=a[5];i.push([r,[a[0]+h,a[1]+d],[a[0]+m,a[1]+y]]),n=!0}let u=[a[0]-l[0],a[1]-l[1]],f=u[0]*u[0]+u[1]*u[1];f>0?t.iedges.push([u[0]/f,u[1]/f]):t.iedges.push([0,0])}}else e===1?t.iedges=[[0,0]]:t.iedges=null;t.isBezier=n,t.bezierLines=i}function f7(t,e){let n=1/0,i=null,a=-1,r=t.points.length;if(r<=1)return[null,n,a];let l=t.points[r-1];for(let u=0;u<r;u++){let f=l;l=t.points[u];let h=f[0]-e[0],d=f[1]-e[1],m=h*h+d*d;m<n&&(i=f,n=m,a=u===0?r-1:u-1)}return[i,n,a]}function Jv(t){if(t.points.length>2){let e=Math.min(...t.points.map(r=>r[0])),n=Math.min(...t.points.map(r=>r[1])),i=Math.max(0,...t.points.map(r=>r[0])),a=Math.max(0,...t.points.map(r=>r[1]));t.boundingBox={x:e,y:n,width:i-e,height:a-n};return}t.boundingBox=null}function h7(t){return t[0]*t[0]+t[1]*t[1]}function mD(t,e){let n=1/0,i=null,a=-1,r=[],l=t.points.length;if(l<=1)return[null,n,r,a];if(t.iedges===null&&(wD(t),!t.iedges))return[null,n,r,a];let u=t.points[l-1];for(let f=0;f<l;f++){let h=u;u=t.points[f];let d=(e[0]-h[0])*t.iedges[f][0]+(e[1]-h[1])*t.iedges[f][1],m;d<=0?m=h:d<1?m=[(1-d)*h[0]+d*u[0],(1-d)*h[1]+d*u[1]]:m=u;let y=h7([m[0]-e[0],m[1]-e[1]]);y<n&&(i=m,n=y,r=[h,u],a=f===0?l-1:f-1)}return[i,n,r,a]}var op={type:"bounding-box-corners",label:"Drag to resize",tools:["pointer","box"],modifiers:{Shift:"Maintain aspect ratio",Alt:"Scale from center",Meta:"Rotate"},isValid(t,e,n){if(e.transitionDirection=null,e.transitionRotate=!1,e.isOpen||!e.slowState.boxMode&&e.selectedPoints.length!==e.polygon.points.length||!e.polygon.boundingBox)return!1;let i=n.proximity*.5,a=n.proximity*5,r=t[0],l=e.polygon.boundingBox,u=l.x+i,f=l.x+l.width-i*2,h=l.y+i,d=l.y+l.height-i*2;if(r[0]>u&&r[0]<f&&r[1]>h&&r[1]<d)return!1;let m=[l.x+l.width,l.y+l.height],y=[l.x,l.y],g=[l.x+l.width,l.y],b=[l.x,l.y+l.height],T=["ne","nw","se","sw"],C={ne:g,nw:y,se:m,sw:b},x=[_a(t[0],g),_a(t[0],y),_a(t[0],m),_a(t[0],b)],w=Math.min(...x),R=x.indexOf(w),E=R===-1?null:T[R],M=E?C[E]:null;if(x[0]<a||x[1]<a||x[2]<a||x[3]<a){if(E){let[z,I]=r;(n.Meta||z>=M[0]-n.proximity*4&&I>=M[1]-n.proximity*4&&z<=M[0]+n.proximity*4&&I<=M[1]+n.proximity*4&&!(z>=M[0]-n.proximity*2&&I>=M[1]-n.proximity*2&&z<=M[0]+n.proximity*2&&I<=M[1]+n.proximity*2))&&(e.slowState.boxMode||(e.transitionRotate=!0)),e.transitionDirection=E}return!0}return!1},start(t,e,n){let i=t[0],a=e.polygon.boundingBox,r=[a.x+a.width,a.y+a.height],l=[a.x,a.y],u=[a.x+a.width,a.y],f=[a.x,a.y+a.height],h=["ne","nw","se","sw"],d=[_a(t[0],u),_a(t[0],l),_a(t[0],r),_a(t[0],f)],m=Math.min(...d),y=d.indexOf(m);e.transitionDirection=y!==-1?h[y]:null},transition(t,e,n){let i=e.polygon.boundingBox,a=e.transitionOrigin||t[0],[r,l]=t[0];if((n.Meta||e.transitionRotate)&&!e.slowState.boxMode){let w=[i.x+i.width/2,i.y+i.height/2],R=Math.atan2(a[1]-w[1],a[0]-w[0]),E=Math.atan2(l-w[1],r-w[0]),M=n.Shift,z=Math.PI/(n.Alt?4:12),I=E-R;M&&(I=Math.round(I/z)*z);let L=Math.cos(I),H=Math.sin(I),q=[];for(let st of e.polygon.points){let et=st[0]-w[0],gt=st[1]-w[1],it=et*L-gt*H,nt=et*H+gt*L,ut=it+w[0],wt=nt+w[1];q.push(st.length===6?[ut,wt,st[2],st[3],st[4],st[5]]:[ut,wt])}e.transitionPoints=q,Jv({points:q,iedges:null,boundingBox:null,isBezier:!1,bezierLines:[]}),e.transitionBoundingBox=e.polygon.boundingBox?{...e.polygon.boundingBox,rotation:I}:null;return}let u=e.transitionDirection,f=u.includes("e")?1:-1,h=u.includes("s")?1:-1,d=!!n.Alt,m;if(d)m=[i.x+i.width/2,i.y+i.height/2];else switch(u){case"se":m=[i.x,i.y];break;case"sw":m=[i.x+i.width,i.y];break;case"ne":m=[i.x,i.y+i.height];break;case"nw":m=[i.x+i.width,i.y+i.height];break}let y=d?i.width/2:i.width,g=d?i.height/2:i.height,b,T;if(n.Shift||e.slowState.fixedAspectRatio){let w=f*y,R=h*g,E=r-m[0],M=l-m[1],z=w*w+R*R,I=z>0?(E*w+M*R)/z:1;I=Math.max(I,.01),b=I,T=I}else{let w=0,R=0;switch(u){case"se":w=r-a[0],R=l-a[1];break;case"sw":w=a[0]-r,R=l-a[1];break;case"ne":w=r-a[0],R=a[1]-l;break;case"nw":w=a[0]-r,R=a[1]-l;break}d&&(w*=2,R*=2),b=(i.width+w)/i.width,T=(i.height+R)/i.height}let C=[];for(let w of e.polygon.points){let R=w[0]-m[0],E=w[1]-m[1],M=R*b,z=E*T,I=M+m[0],L=z+m[1];C.push(w.length===6?[I,L,w[2],w[3],w[4],w[5]]:[I,L])}e.transitionPoints=C;let x={points:C,iedges:null,boundingBox:null,bezierLines:[],isBezier:!1};Jv(x),e.transitionBoundingBox=x.boundingBox},commit(t,e,n){let i=e.transitionPoints;return e.transitionPoints=null,e.transitionBoundingBox=null,e.transitionRotate=!1,{points:i}}},p7={type:"close-line-box",label:"Close Line Box",tools:["lineBox"],trigger:{type:"click"},isValid(t,e,n){return e.polygon.points.length===2&&e.lineBox!==null&&e.slowState.boxMode===!1},commit(t,e,n){return e.lineBox?{isOpen:!1,points:e.lineBox,tool:"pen"}:{}}},TD={type:"close-shape",label:"Close shape",tools:["pen","line"],trigger:{type:"click"},isValid(t,e,n){if(!e.isOpen||e.slowState.boxMode||e.selectedPoints.length!==1||e.polygon.points.length<2||n.Meta)return!1;let i=e.selectedPoints[0];if(i===0){let a=e.polygon.points[e.polygon.points.length-1];return _a(t[0],a)<n.proximity}if(i===e.polygon.points.length-1){let a=e.polygon.points[0];return _a(t[0],a)<n.proximity}return!1},commit(t,e,n){let i=e.selectedPoints[0];if(e.line=null,i===0)return{selectedPoints:[],points:e.polygon.points.slice(0).reverse(),isOpen:!1};if(i===e.polygon.points.length-1)return{selectedPoints:[],isOpen:!1}}},m7={type:"close-shape-line",label:"Close shape line",trigger:{type:"click"},tools:["pen"],isValid(t,e,n){return!e.isOpen||e.slowState.boxMode||e.polygon.points.length<3||!e.closestLinePoint||e.closestLineDistance>=n.proximity*2?!1:(e.closestLineIndex===0||(e.closestLineIndex,e.polygon.points.length-2),!0)},commit(t,e,n){return TD.commit(t,e,n)}},RD={type:"split-line",label:"Split line",tools:["pen"],isValid(t,e,n){let i=e.slowState.currentTool==="line";return n.Meta||i?!1:!!(e.closestLinePoint&&e.closestLineDistance<n.proximity)},transition(t,e,n){let i=t[0];!n.Shift&&e.slowState.snapEnabled&&(Ws(i,e,3,e.closestLineIndex),i=cp(i,e));let a=e.transitionOrigin||i,[r,l]=i,u=e.polygon.points,f=[],h=r-a[0],d=l-a[1];for(let m=0;m<u.length;m++)if(f.push(u[m]),e.closestLineIndex===m){let y=e.closestLinePoint;f.push([y[0]+h,y[1]+d])}e.transitionPoints=f},commit(t,e,n){let i=e.transitionPoints;return e.transitionPoints=null,e.transitionBoundingBox=null,{selectedPoints:[e.closestLineIndex+1],points:i}}},g7={type:"cut-line",label:"Add new point",tools:["pen"],trigger:{type:"click"},modifiers:{Shift:"Cut line"},isValid(t,e,n){return e.slowState.boxMode?!1:RD.isValid(t,e,n)},commit(t,e,n){if(n.Shift&&!e.isOpen){let r=e.polygon.points,l=[],u=[],f=!1;for(let h=0;h<r.length;h++)f?u.push(r[h]):l.push(r[h]),e.closestLineIndex===h&&(f=!0);return{isOpen:!0,points:[...u,...l]}}let i=e.polygon.points,a=[];for(let r=0;r<i.length;r++)if(a.push(i[r]),e.closestLineIndex===r){let l=e.closestLinePoint;a.push(l)}return{points:a}}},y7={type:"delete-point",label:"Delete point",tools:["pointer","pen","lineBox","line"],trigger:{type:"key",key:"Backspace"},isValid(t,e,n){return e.selectedPoints.length>0&&e.slowState.canDelete},commit(t,e,n){let i=e.polygon.points.filter((a,r)=>!e.selectedPoints.includes(r));return{isOpen:i.length<3,selectedPoints:[],points:i,tool:e.slowState.boxMode?"box":void 0}}},v7={type:"deselect-bounding-box",label:"Deselect bounding box",tools:["pointer"],trigger:{type:"click"},isValid(t,e,n){return e.slowState.canDeselect&&!e.isOpen&&!e.slowState.boxMode&&e.selectedPoints.length>2&&e.selectedPoints.length===e.polygon.points.length},commit(t,e,n){return e.slowState.lastCreationTool==="pen"?{selectedPoints:[],tool:"pen"}:{selectedPoints:[]}}},b7={type:"deselect-draw",label:"Deselect draw",trigger:{type:"key",key:"Escape"},tools:["pointer","pen","box","lineBox","stamp","hand","pencil"],isValid(t,e,n){return e.slowState.canDeselect},commit(t,e,n){return{selectedPoints:[]}}},S7={type:"deselect-points",label:"Deselect points",trigger:{type:"click"},tools:["pointer","pen"],isValid(t,e,n){return e.selectedPoints.length>0&&e.slowState.canDeselect},commit(t,e,n){return{selectedPoints:[]}}},x7={type:"draw-shape",label:"Draw shape",tools:["pen","pencil"],modifiers:{Alt:"Freehand drawing"},isValid(t,e,n){let i=n.Alt||e.slowState.currentTool==="pencil";return!!(e.isOpen&&(e.line||e.polygon.points.length===0)&&i)},start(t,e,n){e.transitionDraw=[]},transition(t,e,n){let i=t[0];!n.Shift&&e.slowState.snapEnabled&&(Ws(i,e,3),i=cp(i,e)),e.transitionDraw.push(i)},commit(t,e,n){let i=e.slowState.currentTool==="pencil"?e.scale*1.5:e.scale*3,a=xD(e.transitionDraw,i);if(e.transitionDraw=[],a.length===0)return;let r=!0,l=3,u=e.selectedPoints[0],f=[...e.polygon.points,...a],h=f[0],d=f[f.length-1];u===0&&(h=f[f.length-1],d=f[0],f=[...a,...e.polygon.points.slice(0).reverse()]);let m=[f.length-1],y=_a(h,d)/n.proximity<l,g="";return y&&(r=!1,g="pointer",m=f.map((b,T)=>T)),{isOpen:r,tool:g||void 0,points:f,selectedPoints:m}}},w7={type:"move-line",label:"Move line",tools:["line"],isValid(t,e,n){return e.slowState.currentTool!=="line"||e.slowState.boxMode?!1:!!(e.closestLinePoint&&e.closestLineDistance<n.proximity)},transition(t,e){let n=e.transitionOrigin,i=e.polygon.boundingBox,a=t[0],[r,l]=SD(a[0]-n[0],a[1]-n[1],i,e.slowState.bounds);e.transitionPoints=e.polygon.points.map(u=>u.length===6?[u[0]+r,u[1]+l,u[2],u[3],u[4],u[5]]:[u[0]+r,u[1]+l])},commit(t,e,n){let i=e.transitionPoints;return e.transitionPoints=null,e.transitionBoundingBox=null,{points:i}}},T7={type:"move-point",label:"Move point",tools:["pointer","pen","line"],modifiers:{Shift:"Constrain to axis"},isValid(t,e,n){if(n.Alt)return!1;let i=n.proximity,[a,r]=t[0],l=e.polygon.points,u=e.selectedPoints;for(let f=0;f<l.length;f++){let h=l[f],d=h[0]-a,m=h[1]-r;if(d*d+m*m<i*i)return!0}return!1},start(t,e,n){if(e.slowState.boxMode)return op.start?op.start(t,e,n):void 0;if(e.selectedPoints.length<2){let[i,a,r]=f7(e.polygon,t[0]);return{selectedPoints:[r]}}if(e.slowState.closestPoint&&!e.selectedPoints.includes(e.slowState.closestPoint))return{selectedPoints:[e.slowState.closestPoint]}},transition(t,e,n){if(e.slowState.boxMode)return op.transition(t,e,n);let i=e.transitionOrigin,a=t[0];!n.Shift&&e.slowState.snapEnabled&&(Ws(a,e,3),a=cp(a,e));let[r,l]=a,u=e.polygon.points,f=e.selectedPoints;if(e.slowState.closestPoint){let y=e.slowState.closestPoint;f.indexOf(y)===-1&&(f=[y])}let h=[],d=r-i[0],m=l-i[1];n.Shift&&!e.slowState.snapEnabled&&(Math.abs(d)>Math.abs(m)?m=0:d=0);for(let y=0;y<u.length;y++){let g=f.indexOf(y)!==-1,b=u[y];g?b.length===6?h.push([b[0]+d,b[1]+m,b[2],b[3],b[4],b[5]]):h.push([b[0]+d,b[1]+m]):h.push(b)}e.transitionPoints=h},commit(t,e,n){if(e.slowState.boxMode)return op.commit(t,e,n);let i=e.transitionPoints;return e.transitionPoints=null,e.transitionBoundingBox=null,{points:i}}},ED={type:"move-bounding-box",label:"Move bounding box",tools:["pointer"],isValid(t,e,n){let i=e.polygon.points.length,a=i===e.selectedPoints.length,r=e.polygon.boundingBox;if(i<1||!a||!r)return!1;let l=t[0],u=l[0],f=l[1];return u>=r.x&&u<=r.x+r.width&&f>=r.y&&f<=r.y+r.height},transition(t,e,n){let i=e.slowState.bounds,a=e.transitionOrigin,r=e.polygon.boundingBox,l=t[0],[u,f]=SD(l[0]-a[0],l[1]-a[1],r,i);e.transitionPoints=e.polygon.points.map(h=>h.length===6?[h[0]+u,h[1]+f,h[2],h[3],h[4],h[5]]:[h[0]+u,h[1]+f]),r&&(e.transitionBoundingBox={x:r.x+u,y:r.y+f,width:r.width,height:r.height})},commit(t,e,n){let i=e.transitionPoints;return e.transitionPoints=null,e.transitionBoundingBox=null,{points:i}}},CD={type:"move-shape",label:"Move shape",tools:["pointer","hand","box"],isValid(t,e,n){return n.Shift?!1:e.slowState.pointerInsideShape&&(!e.isOpen||e.line===null)},transition(t,e,n){ED.transition(t,e,n)},commit(t,e,n){let i=e.transitionPoints;return e.transitionPoints=null,e.transitionBoundingBox=null,{points:i}}},R7={type:"nudge-right",label:"Nudge right",trigger:{type:"key",key:"ArrowRight"},tools:["pointer","pen"],modifiers:{Shift:"Nudge right more"},isValid(t,e,n){return e.selectedPoints.length>0},commit(t,e,n){let i=n.proximity*.3,a=e.polygon.points,r=e.selectedPoints;return{points:a.map((l,u)=>r.includes(u)?[l[0]+(n.Shift?4*i:1),l[1]]:l)}}},E7={type:"nudge-left",label:"Nudge left",trigger:{type:"key",key:"ArrowLeft"},tools:["pointer","pen"],modifiers:{Shift:"Nudge left more"},isValid(t,e,n){return e.selectedPoints.length>0},commit(t,e,n){let i=n.proximity*.3,a=e.polygon.points,r=e.selectedPoints;return{points:a.map((l,u)=>r.includes(u)?[Math.max(0,l[0]-(n.Shift?4*i:1)),l[1]]:l)}}},C7={type:"nudge-up",label:"Nudge up",trigger:{type:"key",key:"ArrowUp"},tools:["pointer","pen"],modifiers:{Shift:"Nudge up more"},isValid(t,e,n){return e.selectedPoints.length>0},commit(t,e,n){let i=n.proximity*.3,a=e.polygon.points,r=e.selectedPoints;return{points:a.map((l,u)=>{if(r.includes(u)){let f=l[0],h=Math.max(0,l[1]-(n.Shift?4*i:1));return l.length===6?[f,h,l[2],l[3],l[4],l[5]]:[f,h]}return l})}}},A7={type:"nudge-down",label:"Nudge down",trigger:{type:"key",key:"ArrowDown"},tools:["pointer","pen"],modifiers:{Shift:"Nudge down more"},isValid(t,e,n){return e.selectedPoints.length>0},commit(t,e,n){let i=n.proximity*.3,a=e.polygon.points,r=e.selectedPoints;return{points:a.map((l,u)=>{let f=l[0],h=Math.max(0,l[1]+(n.Shift?4*i:1));return r.includes(u)?l.length===6?[f,h,l[2],l[3],l[4],l[5]]:[f,h]:l})}}},M7={type:"select-multiple-points",label:"Drag to select multiple points",tools:["pointer","pen"],isValid(t,e,n){return e.slowState.currentTool==="line"&&e.polygon.points.length>=2?!0:!(e.slowState.boxMode||e.line)},transition(t,e,n){if(!e.transitionOrigin)return;let i=e.transitionOrigin[0],a=e.transitionOrigin[1],r=t[0][0],l=t[0][1],u=Math.min(i,r),f=Math.min(a,l),h=Math.abs(i-r),d=Math.abs(a-l);e.selectionBox={x:u,y:f,width:h,height:d}},commit(t,e,n){if(e.selectionBox){let i=[];n.Shift&&i.push(...e.selectedPoints);for(let a=0;a<e.polygon.points.length;a++){let r=e.polygon.points[a];r[0]>=e.selectionBox.x&&r[0]<=e.selectionBox.x+e.selectionBox.width&&r[1]>=e.selectionBox.y&&r[1]<=e.selectionBox.y+e.selectionBox.height&&i.push(a)}return{selectedPoints:i}}}},gD=10,O7={type:"select-point",label:"Select point",trigger:{type:"click"},tools:["pointer","pen","line"],modifiers:{Shift:"Add to selection"},isValid(t,e,n){let i=-1;if(e.selectedPoints.length===1){let u=e.selectedPoints[0];u===0&&(i=e.polygon.points.length-1),u===e.polygon.points.length-1&&(i=0)}if(e.slowState.boxMode)return!1;let[a,r]=t[0],l=e.polygon.points;for(let u=0;u<l.length;u++){let f=l[u],h=f[0]-a,d=f[1]-r;if(h*h+d*d<gD*gD)return i!==u}return!1},commit(t,e,n){let i=n.Shift?[...e.selectedPoints]:[],[a,r]=t[0],l=e.polygon.points.map((u,f)=>{let h=u[0]-a,d=u[1]-r;return[h*h+d*d,f]}).sort((u,f)=>u[0]-f[0])[0];if(e.line=null,!i.includes(l[1]))i.push(l[1]);else if(n.Shift)return{selectedPoints:i.filter(u=>u!==l[1])};return{selectedPoints:i}}},_7={type:"select-shape",label:"Select shape",trigger:{type:"click"},tools:["pointer","pen"],isValid(t,e,n){return CD.isValid(t,e,n)},commit(t,e,n){return{tool:"pointer",selectedPoints:e.polygon.points.map((i,a)=>a)}}},z7={type:"snap",label:"Smart snap",tools:["pointer","pen","line"],modifiers:{Shift:"Disable snapping"},isValid(t,e,n){return n.Shift||!e.slowState.snapEnabled||e.slowState.transitioning&&e.slowState.transitionIntentType!=="snap"||!e.slowState.snapToPoints&&!e.slowState.snapToLines&&!e.slowState.snapToIntersections?!1:Ws(t[0],e,0)!==null},start(t,e,n){Ws(t[0],e,5)},transition(t,e,n){let i=Ws(t[0],e,5);i&&(e.pointer=i)},commit(t,e,n){vD(e)}},I7={type:"stamp-fixed-size-shape",label:"Stamp fixed size shape",trigger:{type:"click"},tools:["stamp"],isValid(t,e,n){return e.slowState.selectedStamp!==null},commit(t,e,n){let i=t[0],a=e.slowState.selectedStamp;if(!i||!a)return;let r=i[0],l=i[1],u=[],f=Math.min(...a.points.map(T=>T[0])),h=Math.min(...a.points.map(T=>T[1])),d=Math.max(...a.points.map(T=>T[0]))-f,m=Math.max(...a.points.map(T=>T[1]))-h,y=4*n.proximity,g=d/y;m/y>g&&(g=m/y),r-=d/g/2,l-=m/g/2;let b=0;for(let T of a.points)u.push([r+(T[0]-f)/g,l+(T[1]-h)/g]),b++;return{isOpen:!1,points:u}}},AD={id:"square",open:!1,points:[[0,0],[0,100],[100,100],[100,0]]},N7={id:"triangle",open:!1,points:[[50,0],[0,100],[100,100]]},L7={id:"pentagon",open:!1,points:[[0,0],[0,100],[100,100],[100,0],[50,-50]]},D7={id:"hexagon",open:!1,points:[[50,0],[0,25],[0,75],[50,100],[100,75],[100,25]]},P7={id:"circle",open:!1,points:[[948.949,571.107],[954.545,500],[954.545,500],[948.949,428.893],[948.949,428.893],[932.298,359.538],[932.298,359.538],[905.003,293.641],[905.003,293.641],[867.735,232.825],[867.735,232.825],[821.412,178.588],[821.412,178.588],[767.175,132.265],[767.175,132.265],[706.359,94.997],[706.359,94.997],[640.462,67.702],[640.462,67.702],[571.107,51.051],[571.107,51.051],[500,45.455],[500,45.455],[428.893,51.051],[428.893,51.051],[359.538,67.702],[359.538,67.702],[293.641,94.997],[293.641,94.997],[232.825,132.265],[232.825,132.265],[178.588,178.588],[178.588,178.588],[132.265,232.825],[132.265,232.825],[94.997,293.641],[94.997,293.641],[67.702,359.538],[67.702,359.538],[51.051,428.893],[51.051,428.893],[45.455,500],[45.455,500],[51.051,571.107],[51.051,571.107],[67.702,640.462],[67.702,640.462],[94.997,706.359],[94.997,706.359],[132.265,767.175],[132.265,767.175],[178.588,821.412],[178.588,821.412],[232.825,867.735],[232.825,867.735],[293.641,905.003],[293.641,905.003],[359.538,932.298],[359.538,932.298],[428.893,948.949],[428.893,948.949],[500,954.545],[500,954.545],[571.107,948.949],[571.107,948.949],[640.462,932.298],[640.462,932.298],[706.359,905.003],[706.359,905.003],[767.175,867.735],[767.175,867.735],[821.412,821.412],[821.412,821.412],[867.735,767.175],[867.735,767.175],[905.003,706.359],[905.003,706.359],[932.298,640.462],[932.298,640.462],[948.949,571.107]]},B7={type:"stamp-shape",label:"Stamp shape",tools:["stamp","box"],modifiers:{Shift:"Maintain aspect ratio"},isValid(t,e,n){return!(e.polygon.points.length&&!e.slowState.canDelete)},start(t,e,n){let i=t[0],a=e.slowState.selectedStamp||AD;if(i){let r=i[0],l=i[1],u=[],f=Math.min(...a.points.map(T=>T[0])),h=Math.min(...a.points.map(T=>T[1])),d=Math.max(...a.points.map(T=>T[0]))-f,m=Math.max(...a.points.map(T=>T[1]))-h,y=d/32;m/32>y&&(y=m/32);let g=[],b=0;for(let T of a.points)g.push(b),u.push([r+(T[0]-f)/y,l+(T[1]-h)/y]),b++;return e.transitionPoints=u,{isOpen:!1,selectedPoints:g,points:u}}},transition(t,e,n){if(!e.transitionOrigin)return;let i=e.polygon.boundingBox,a=[i.x,i.y],r=e.transitionOrigin||t[0],[l,u]=t[0],f=e.transitionOrigin[0],h=e.transitionOrigin[1],d=t[0][0],m=t[0][1],y=d-f-32,g=m-h-32;if(n.Shift||e.slowState.fixedAspectRatio){let w=i.width/i.height;Math.abs(i.width/y)>Math.abs(i.height/g)?g=y/w:y=g*w}let b=(i.width+y)/i.width,T=(i.height+g)/i.height,C=[];for(let w of e.polygon.points){let R=w[0]-a[0],E=w[1]-a[1],M=R*b,z=E*T,I=M+a[0],L=z+a[1];if(w.length===6){C.push([I,L,w[2],w[3],w[4],w[5]]);continue}C.push([I,L])}e.transitionPoints=C;let x={points:C,iedges:null,boundingBox:null,bezierLines:[],isBezier:!1};Jv(x),e.transitionBoundingBox=x.boundingBox},commit(t,e,n){return{isOpen:!1,points:e.transitionPoints,tool:"pointer"}}},H7={type:"toggle-snap",label:"Toggle snapping",trigger:{type:"key",key:"`"},tools:["pointer","pen","line","lineBox","box","stamp"],modifiers:{},isValid(t,e,n){return!0},commit(t,e,n){let i=!e.slowState.snapEnabled;return e.slowState.snapEnabled=i,i||(e.snapTargets=[],e.activeSnapGuides=[],e.isSnapping=!1,e.snapPoint=null),{}}};function MD(t={}){let e=t.proximityThreshold||10,n=t.closestLinePointFill||{selected:"#fff",unselected:"rgba(255, 255, 255, .5)"},i=t.closestLinePointStroke||{selected:"#000",unselected:"rgba(0, 0, 0, .5)"};function a(b,T,C){b&&T.transitionBoundingBox&&C.transitioning&&(b.setAttribute("x",""+T.transitionBoundingBox.x),b.setAttribute("y",""+T.transitionBoundingBox.y),b.setAttribute("width",""+T.transitionBoundingBox.width),b.setAttribute("height",""+T.transitionBoundingBox.height))}function r(b,T,C){b&&T.polygon.boundingBox&&C.showBoundingBox&&(b.setAttribute("x",""+T.polygon.boundingBox.x),b.setAttribute("y",""+T.polygon.boundingBox.y),b.setAttribute("width",""+T.polygon.boundingBox.width),b.setAttribute("height",""+T.polygon.boundingBox.height))}function l(b,T,C){if(b&&T.polygon.boundingBox&&C.showBoundingBox){let x=T.transitionBoundingBox||T.polygon.boundingBox;x.rotation?(b.style.transformOrigin=`${x.x+x.width/2}px ${x.y+x.height/2}px`,b.style.transform=`rotate(${Math.round(100*x.rotation*(180/Math.PI))/100}deg)`):b.style.transform="",b.setAttribute("points",[[x.x,x.y],[x.x+x.width,x.y],[x.x+x.width,x.y+x.height],[x.x,x.y+x.height]].map(w=>w.join(",")).join(" "))}}function u(b,T,C){b&&T.transitionPoints&&C.transitioning&&b.setAttribute("points",T.transitionPoints.map(x=>x.join(",")).join(" "))}function f(b,T,C){b&&T.closestLinePoint&&C.hasClosestLine&&(b.setAttribute("cx",""+T.closestLinePoint[0]),b.setAttribute("cy",""+T.closestLinePoint[1]),b.setAttribute("fill",T.closestLineDistance<e?n.selected:n.unselected),b.setAttribute("stroke",T.closestLineDistance<e?i.selected:i.unselected))}function h(b,T,C){b&&T.closestLinePoint&&C.hasClosestLine&&b.setAttribute("transform",`translate(${T.closestLinePoint[0]}, ${T.closestLinePoint[1]})`)}function d(b,T,C){b&&T.selectionBox&&C.transitionIntentType==="select-multiple-points"&&(b.setAttribute("x",""+T.selectionBox.x),b.setAttribute("y",""+T.selectionBox.y),b.setAttribute("width",""+T.selectionBox.width),b.setAttribute("height",""+T.selectionBox.height))}function m(b,T,C){if(b&&T.pointer&&T.selectedPoints.length)if(C.actionIntentType==="close-shape"||C.actionIntentType==="close-shape-line"){let x=T.polygon.points[0],w=T.polygon.points[T.polygon.points.length-1];x&&w&&b.setAttribute("points",`${x.join(",")} ${w.join(",")}`)}else if(T.line)b.setAttribute("points",`${T.line[0].join(",")} ${T.line[1].join(",")}`);else{let x=T.polygon.points[T.selectedPoints[0]];x&&x.length&&b.setAttribute("points",`${T.pointer[0]},${T.pointer[1]} ${x.join(",")}`)}}function y(b,T,C,x=3){b&&T.transitionDraw.length&&b.setAttribute("points",xD(T.transitionDraw,x*T.scale).map(w=>w.join(",")).join(" "))}function g(b,T){b&&T.lineBox&&b.setAttribute("points",T.lineBox.map(C=>C.join(",")).join(" "))}return{updateTransitionBoundingBox:a,updateClosestLinePointTransform:h,updateBoundingBoxPolygon:l,updateBoundingBox:r,updateTransitionShape:u,updateClosestLinePoint:f,updateSelectBox:d,updatePointLine:m,updateDrawPreview:y,updateLineBox:g}}var F7=typeof window<"u"?window.requestAnimationFrame:t=>setTimeout(t,16),V7=typeof window<"u"?window.cancelAnimationFrame:t=>clearTimeout(t);function yD(t){return!["hand","pointer"].includes(t)}var lp=[op,T7,w7,RD,CD,ED,x7,M7,B7,z7],U7=lp.length,sp=[p7,I7,TD,O7,m7,g7,u7,_7,v7,S7],Md=[b7,R7,E7,C7,A7,y7,H7],up={};lp.forEach(t=>{up[t.type]=t});sp.forEach(t=>{up[t.type]=t});Md.forEach(t=>{up[t.type]=t});var Wv=10;function OD(t,e){let n=t?.fixedAspectRatio||!1,i=t?.tool||"pointer",a=t?.keyboardShortcutMapping||{},r=typeof t?.keyboardShortcutsEnabled=="boolean"?t.keyboardShortcutsEnabled:!0,l=t?.enabledTools||["pointer","pen","box","lineBox","stamp","hand","line","pencil"],u=t?.emitter||n7(),f={V:"pointer",P:"pen",B:"box",L:"lineBox",S:"stamp",H:"hand",N:"line",D:"pencil",...t?.toolMap||{}},h={shapeId:t?.id||null,noShape:t===null,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:Wv},bounds:t?.bounds||null,showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},pointerInsideShape:!1,closestPoint:null,selectedStamp:null,transitionModifiers:null,boxMode:!1,bezierLines:[],fixedAspectRatio:n,isToolSwitchingLocked:!1,canDeselect:!1,canDelete:!0,cursor:"default",enabledTools:l,currentTool:i,lastCreationTool:yD(i)?i:null,snapEnabled:!1,snapToPoints:!0,snapToLines:!0,snapToIntersections:!0,snapToGrid:!1,snapToParallel:!0},d={isOpen:typeof t?.open=="boolean"?t.open:!1,polygon:{points:t?.points||[],iedges:null,boundingBox:null,isBezier:null,bezierLines:[]},scale:1,selectedPoints:[],pointer:null,line:null,lineBox:null,transitionPoints:null,transitionOrigin:null,transitionBoundingBox:null,closestLinePoint:null,closestLineDistance:0,closestLineIndex:-1,transitionRotate:!1,transitionDirection:null,transitionBezierLine:null,selectionBox:null,slowState:h,transitionDraw:[],isPanning:!1,panStart:null,snapTargets:[],activeSnapGuides:[],snapThreshold:15,isSnapping:!1,snapPoint:null},m={startTime:0,time:0,shouldUpdate:!1,nextSlowState:null,renderFunc:()=>{},setStateFunc:()=>{},animationFrame:0,actionIntent:null,transitionIntent:null,undoStack:[],undoStackPointer:-1},y={isPressed:!1,isClicking:!1,lastPress:null,pressTimeout:0,noTransition:!1};function g(_){wD(_),_.isBezier&&b({bezierLines:_.bezierLines}),Jv(_),m.shouldUpdate=!0}g(d.polygon);function b(_){let B=Object.keys(_);if(B.length===0)return;let rt=m.nextSlowState||d.slowState,ht=!1;if(B.length===1&&B[0]==="validIntentKeys"&&rt.validIntentKeys){let xt=Object.keys(rt.validIntentKeys),U=Object.keys(_.validIntentKeys||{});if(xt.length===U.length){for(let P of xt)rt.validIntentKeys[P]!==_.validIntentKeys[P]&&(ht=!0);if(!ht)return}}if(_.selectedPoints){let xt=Array.from(rt.selectedPoints||[]),U=Array.from(_.selectedPoints||[]);if(xt.length===U.length){for(let P of xt)if(!U.includes(P)){ht=!0;break}}else ht=!0;ht||delete _.selectedPoints}if(!(B.length===1&&B.includes("hasClosestLine")&&_.hasClosestLine===rt.hasClosestLine)){if(m.nextSlowState){m.nextSlowState={...m.nextSlowState,..._};return}m.nextSlowState={...d.slowState,..._}}}function T(_,B=!1){m.time+=_,C(),x(),H(),L(),I(),st(),gt(),et(),z(),m.renderFunc(d,d.slowState,_),!B&&(m.animationFrame=F7(T))}function C(){if(m.shouldUpdate&&(e({id:d.slowState.shapeId||void 0,open:d.isOpen,points:d.polygon.points}),m.shouldUpdate=!1),m.nextSlowState&&m.nextSlowState!==d.slowState){let _=Object.keys(d.slowState),B={},rt={},ht=!1;for(let xt of _){let U=d.slowState[xt],P=m.nextSlowState[xt];U!==P?(ht=!0,B[xt]=P,rt[xt]=P):B[xt]=U}ht&&(d.slowState=B,m.nextSlowState=null,m.setStateFunc(d.slowState),t?.customSetState?.(rt))}}function x(){let _=!d.slowState.noShape&&d.polygon.points.length>2&&d.selectedPoints.length===d.polygon.points.length&&!d.isOpen&&(d.slowState.currentTool==="pointer"||d.slowState.currentTool==="box");d.slowState.showBoundingBox!==_&&b({showBoundingBox:_})}function w(_){d.selectedPoints=_.selectedPoints,b({selectedPoints:_.selectedPoints}),d.polygon.points=_.points,d.polygon.boundingBox=null,d.polygon.iedges=null,d.polygon.isBezier=null,g(d.polygon),b({closestPoint:null}),(_.isOpen===!0||_.isOpen===!1)&&(d.isOpen=_.isOpen,m.shouldUpdate=!0)}function R(){if(m.undoStackPointer===-1)return;m.undoStackPointer--;let _=m.undoStack[m.undoStackPointer];w(_)}function E(){if(m.undoStackPointer===m.undoStack.length-1)return;m.undoStackPointer++;let _=m.undoStack[m.undoStackPointer];w(_)}function M(_){m.undoStackPointer++,m.undoStack[m.undoStackPointer]=_,m.undoStack.length>15&&(m.undoStack.shift(),m.undoStackPointer--)}function z(){b({boxMode:d7(d.polygon.points||[])})}function I(){if(!d.pointer||d.slowState.noShape){b({pointerInsideShape:!1});return}let[_,B]=d.pointer,rt=d.polygon.points,ht=d.polygon.boundingBox;if(!ht){b({pointerInsideShape:!1});return}if(_<ht.x||_>ht.x+ht.width||B<ht.y||B>ht.height+ht.y){b({pointerInsideShape:!1});return}let xt=!1;for(let U=0,P=rt.length-1;U<rt.length;P=U++)rt[U][1]>B!=rt[P][1]>B&&_<(rt[P][0]-rt[U][0])*(B-rt[U][1])/(rt[P][1]-rt[U][1])+rt[U][0]&&(xt=!xt);b({pointerInsideShape:xt})}function L(){if(d.slowState.noShape||!d.pointer||d.slowState.transitioning||!d.polygon.points||d.polygon.points.length===0)return;let[_,B]=d.pointer,rt=d.polygon.points.map((ht,xt)=>{let U=ht[0]-_,P=ht[1]-B;return[U*U+P*P,xt]}).sort((ht,xt)=>ht[0]-xt[0]);rt.length&&b({closestPoint:rt[0][1]})}function H(){if(!d.pointer||d.slowState.transitioning)return;if(d.slowState.noShape){d.closestLineIndex=-1,d.closestLinePoint=null,d.closestLineDistance=0;return}let[_,B,rt,ht]=mD(d.polygon,d.pointer),xt=te()*te();B<xt&&(!d.isOpen||d.slowState.currentTool==="line"||d.polygon.points.length-1!==ht)?(d.closestLinePoint=_,d.closestLineDistance=Math.sqrt(B),d.closestLineIndex=ht,b({hasClosestLine:!0})):(d.closestLinePoint=null,d.closestLineDistance=0,d.closestLineIndex=-1,b({hasClosestLine:!1}))}function q(_,B=null){let rt={},ht=B||(d.pointer?[d.pointer[0],d.pointer[1]]:null);for(let xt of[...lp,...sp,...Md])xt.tools.includes(_)&&(ht&&xt.isValid([ht],d,it())?rt[xt.type]=xt.label:ht||(rt[xt.type]=xt.label));return rt}function st(){if(d.slowState.transitioning||d.slowState.noShape||!d.pointer||!Array.isArray(d.pointer)||d.pointer.length<2||typeof d.pointer[0]!="number"||typeof d.pointer[1]!="number")return;let _=d.slowState.currentTool;tn(_);let B=!1;for(let xt=0;xt<U7;xt++){let U=lp[xt];if(U.tools.includes(_)&&U.isValid(y.isPressed?[y.lastPress]:[d.pointer],d,it())){if(m.transitionIntent===U){B=!0;break}b({transitionIntentType:U.type}),m.transitionIntent=U,B=!0;break}}B||m.transitionIntent&&(b({transitionIntentType:null}),m.transitionIntent=null);let rt=!1;for(let xt=0;xt<sp.length;xt++){let U=sp[xt];if(U.tools.includes(_)&&ut(U)){if(m.actionIntent===U){rt=!0;break}b({actionIntentType:U.type}),m.actionIntent=U,rt=!0;break}}rt||m.actionIntent&&(m.actionIntent=null,b({actionIntentType:null}));let ht={};for(let xt=0;xt<Md.length;xt++){let U=Md[xt];U.trigger.type==="key"&&ut(U)&&(ht[U.trigger.key]=U.label)}b({validIntentKeys:ht})}function et(){let _=d.pointer;if(d.lineBox=null,!_||Y()||d.polygon.points.length!==2)return;let[B,rt]=_,[ht,xt]=d.polygon.points[0],[U,P]=d.polygon.points[1],[W,J,Lt,Yt]=mD(d.polygon,_);if(!W)return;let Pt=B-W[0],X=rt-W[1],at=[ht,xt],Ct=[U,P],At=[Ct[0]+Pt,Ct[1]+X],Rt=[at[0]+Pt,at[1]+X];d.lineBox=[at,Ct,At,Rt]}function gt(){let _=d.pointer;if(!_||!Y()||d.slowState.noShape)return;let B=d.selectedPoints[0],rt=_;if(d.slowState.snapEnabled&&!d.slowState.modifiers.Shift?(Ws(_,d,5),rt=cp(_,d)):vD(d),d.line=[d.polygon.points[B],rt],d.slowState.modifiers.Shift){let ht=0;if(d.polygon.points.length>1){let X=d.selectedPoints[0];X===0?ht=Math.atan2(d.polygon.points[1][1]-d.polygon.points[0][1],d.polygon.points[1][0]-d.polygon.points[0][0]):ht=Math.atan2(d.polygon.points[X-1][1]-d.polygon.points[X][1],d.polygon.points[X-1][0]-d.polygon.points[X][0])}let xt=_[0]-d.polygon.points[B][0],U=_[1]-d.polygon.points[B][1],P=Math.atan2(U,xt),W=Math.PI/4,J=Math.round((P-ht)/W)*W+ht,Lt=_a(d.polygon.points[B],_),Yt=Math.cos(J)*Lt+d.polygon.points[B][0],Pt=Math.sin(J)*Lt+d.polygon.points[B][1];d.line[1]=[Yt,Pt]}}function it(){return d.slowState.modifiers}function nt(_){let B=_.commit([y.lastPress],d,it());u.emit("polygons.end-transition",{transitionIntent:_.type,response:B}),B&&(B.tool&&Ft(B.tool),B.selectedPoints&&(d.selectedPoints=B.selectedPoints,b({selectedPoints:B.selectedPoints})),B.points&&(d.polygon.points=B.points,d.polygon.boundingBox=null,d.polygon.iedges=null,d.polygon.isBezier=null,d.transitionBoundingBox=null,g(d.polygon),b({closestPoint:null,selectedStamp:null})),(B.isOpen===!0||B.isOpen===!1)&&(d.isOpen=B.isOpen,m.shouldUpdate=!0),M({isOpen:d.isOpen,points:d.polygon.points,selectedPoints:d.selectedPoints}),tn(d.slowState.currentTool)),b({transitionModifiers:null})}function ut(_){if(!_.tools.includes(d.slowState.currentTool))return!1;let B=[];return d.pointer&&Array.isArray(d.pointer)&&d.pointer.length>=2&&typeof d.pointer[0]=="number"&&typeof d.pointer[1]=="number"&&(B=[d.pointer]),_.isValid(B,d,it())}function wt(_){_==="Delete"&&(_="Backspace");let B=d.slowState.currentTool;for(let rt of Md)if(!(rt.trigger.type!=="key"||rt.trigger.key!==_)&&rt.tools.includes(B)&&ut(rt))return nt(rt),!0;return!1}function Y(){let _=d.polygon.points,B=d.pointer;if(!d.isOpen||!_.length||d.selectedPoints.length!==1||!B)return!1;let rt=d.selectedPoints[0],ht=rt===0,xt=rt===_.length-1;return ht||xt}let yt={reset(){b({modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:Wv}})},getForType(_){let B={};if(!_)return B;let rt=up[_];return!rt||!rt.modifiers?B:rt.modifiers},set(_){_!=="Shift"&&_!=="Alt"&&_!=="Meta"||b({modifiers:{...m.nextSlowState?.modifiers||d.slowState.modifiers,[_]:!0}})},unset(_){_!=="Shift"&&_!=="Alt"&&_!=="Meta"||b({modifiers:{...m.nextSlowState?.modifiers||d.slowState.modifiers,[_]:!1}})}},Mt={set(_){let B=_?_.id==="square"||_.id==="rectangle":!1;b({selectedStamp:_,boxMode:B})},clear(){Mt.set(null)},square(){Mt.set(AD)},triangle(){Mt.set(N7)},pentagon(){Mt.set(L7)},hexagon(){Mt.set(D7)},circle(){Mt.set(P7)}},qt={down(_){let B=a[_]||_;if(B==="Shift"||B==="Alt"||B==="Meta")return yt.set(B),!0;if(B==="Control")return yt.set("Meta"),!0;if(B==="z"&&d.slowState.modifiers.Meta)return d.slowState.modifiers.Shift?E():R(),!0;if(!d.slowState.modifiers.Meta&&!d.slowState.modifiers.Alt&&!d.slowState.transitioning){if(!r)return;let rt=B.toUpperCase();if(f[rt]){let ht=f[rt];return Ft(ht),!0}}return wt(B)},up(_){let B=a[_]||_;if(B==="Control"){yt.unset("Meta");return}B!=="Shift"&&B!=="Alt"&&B!=="Meta"||yt.unset(B)}};function Kt(_){d.scale=_,b({modifiers:{...m.nextSlowState?.modifiers||d.slowState.modifiers,proximity:_*Wv}})}function te(){return Wv*d.scale}let ue={set:_=>{m.renderFunc=_},start:(_,B)=>{m.startTime=performance.now(),m.time=0,_&&(m.renderFunc=_),B&&(B(d.slowState),m.setStateFunc=B),T(0)},stop:()=>{m.animationFrame&&(V7(m.animationFrame),m.animationFrame=0)},step:(_=16)=>{T(_)}};function ft(_){if(!_||!Array.isArray(_)||_.length===0)return;let B=_[0];if(!(!B||!B[0]&&B[0]!==0||!B[1]&&B[1]!==0)&&!(Number.isNaN(B[0])||Number.isNaN(B[1]))){if(d.pointer=B,d.slowState.transitioning)m.transitionIntent&&(m.transitionIntent.transition(_,d,it()),u.emit("polygons.transition",{transitionIntent:m.transitionIntent.type}));else if(y.isPressed&&!y.noTransition&&y.lastPress&&d.pointer&&(!y.isClicking||_a(y.lastPress,d.pointer)>10))if(clearTimeout(y.pressTimeout),y.isClicking=!1,m.transitionIntent){if(d.transitionOrigin=y.lastPress,b({transitioning:!0}),m.transitionIntent.start){let rt=m.transitionIntent.start([y.lastPress],d,it());rt&&(rt.selectedPoints&&(d.selectedPoints=rt.selectedPoints,b({selectedPoints:rt.selectedPoints})),(rt.isOpen===!0||rt.isOpen===!1)&&(d.isOpen=rt.isOpen,m.shouldUpdate=!0),rt.points&&(d.polygon.points=rt.points,d.polygon.boundingBox=null,d.polygon.iedges=null,g(d.polygon),b({closestPoint:null})))}b({transitionModifiers:m.transitionIntent.modifiers||null}),u.emit("polygons.start-transition",{transitionIntent:m.transitionIntent.type}),m.transitionIntent.transition([y.lastPress],d,it()),u.emit("polygons.transition",{transitionIntent:m.transitionIntent.type})}else y.noTransition=!0}}function Ht(){d.pointer=null,d.slowState.transitioning||(y.isPressed=!1,y.isClicking=!1,y.lastPress=null,b({transitionIntentType:null,actionIntentType:null}),m.transitionIntent=null,m.actionIntent=null)}function ee(){y.isClicking=!0,y.isPressed=!0,y.lastPress=d.pointer,y.pressTimeout=setTimeout(()=>{y.isPressed&&(y.isClicking=!1)},250)}function Gt(){d.slowState.transitioning?(b({transitioning:!1}),m.transitionIntent&&nt(m.transitionIntent),m.transitionIntent=null,b({transitionIntentType:null})):y.isClicking&&(m.actionIntent&&nt(m.actionIntent),m.actionIntent=null,b({actionIntentType:null})),y.isPressed=!1,y.isClicking=!1,y.lastPress=null,y.noTransition=!1,clearTimeout(y.pressTimeout)}function re(_){d.polygon.points=_?.points||[],d.polygon.boundingBox=null,d.polygon.iedges=null,d.isOpen=_?.open||!1,g(d.polygon),m.nextSlowState=null,m.undoStack=[],m.undoStackPointer=-1,d.lineBox=null,d.line=null,y.pressTimeout&&clearTimeout(y.pressTimeout),b({noShape:_===null,shapeId:_?.id||null,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:d.slowState.modifiers.proximity},showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},selectedStamp:null,closestPoint:null,pointerInsideShape:!1,boxMode:!1,fixedAspectRatio:n}),Ft(i),C()}function Ce(_){if(!_)return"";let B=up[_];return!B||!B.modifiers?B.label||"":d.slowState.modifiers.Shift&&B.modifiers.Shift?B.modifiers.Shift:d.slowState.modifiers.Alt&&B.modifiers.Alt?B.modifiers.Alt:d.slowState.modifiers.Meta&&B.modifiers.Meta?B.modifiers.Meta:B.label}function Zt(){b({fixedAspectRatio:!0})}function fe(){b({fixedAspectRatio:!1})}function Ft(_){if(d.slowState.isToolSwitchingLocked||d.slowState.currentTool===_||!d.slowState.enabledTools.includes(_))return;let B=d.slowState.lastCreationTool;if(yD(_)){if(d.slowState.isToolSwitchingLocked)return;B=_}d.slowState.transitioning&&(d.transitionPoints=null,d.transitionBoundingBox=null,d.transitionDraw=[],d.line=null,d.lineBox=null,b({transitioning:!1}));let rt=q(_),ht=d.selectedPoints,xt=d.isOpen,U=d.slowState.selectedStamp;switch(_){case"pointer":d.polygon.points.length>0&&!xt&&ht.length===0&&(ht=d.polygon.points.map((P,W)=>W));break;case"pen":d.polygon.points.length===0?(ht=[],xt=!0):xt&&ht.length>1&&(ht=[ht[ht.length-1]]);break;case"line":d.polygon.points.length===0?(ht=[],xt=!0):xt?ht.length>1&&(ht=[ht[ht.length-1]]):(ht=[d.polygon.points.length-1],xt=!0);break;case"pencil":ht=[],d.polygon.points.length===0&&(xt=!0);break;case"box":ht=d.polygon.points.map((P,W)=>W),xt=!1,Mt.square();break;case"lineBox":ht=[],d.polygon.points.length===0&&(xt=!0);break;case"stamp":ht=[],xt=!1,U||Mt.square();break;case"hand":ht=[];break;default:ht=[];break}b({validIntentKeys:rt}),b({currentTool:_,selectedPoints:ht,lastCreationTool:B,boxMode:_==="box"}),d.selectedPoints=ht,d.isOpen=xt,tn(_),st()}function tn(_){let B=_==="box"||_==="pointer"&&d.polygon.points.length>2&&d.selectedPoints.length===d.polygon.points.length&&!d.isOpen;b({showBoundingBox:B})}function Jt(_){d.slowState.currentTool===_&&Ft("pointer")}function ze(_){d.slowState.currentTool===_?Ft("pointer"):Ft(_)}let oi={undo:R,redo:E,get canUndo(){return m.undoStackPointer>-1},get canRedo(){return m.undoStackPointer<m.undoStack.length-1}},Un={setTool:Ft,unsetTool:Jt,toggleTool:ze,updateVisibility:tn,setCanDelete(_){b({canDelete:_})},setCanDeselect(_){Tt(),b({canDeselect:_})},lockToolSwitching(){b({isToolSwitchingLocked:!0})},unlockToolSwitching(){b({isToolSwitchingLocked:!1})},toggleToolSwitching(){b({isToolSwitchingLocked:!d.slowState.isToolSwitchingLocked})},shortcuts:Object.fromEntries(Object.entries(f).map(([_,B])=>[B,_])),getValidIntents(_){let B=_||d.slowState.currentTool;return{actions:sp.filter(rt=>rt.tools.includes(B)),transitions:lp.filter(rt=>rt.tools.includes(B)),keys:Md.filter(rt=>rt.tools.includes(B)),all:q(B),current:d.slowState.validIntentKeys}},getToolInfo(){return{name:d.slowState.currentTool,cursor:d.slowState.cursor,selectionCount:d.selectedPoints.length,pointCount:d.polygon.points.length,isOpen:d.isOpen}},smartSelect(){d.polygon.points.length!==0&&(d.isOpen?(d.selectedPoints=[d.polygon.points.length-1],b({selectedPoints:d.selectedPoints})):(d.selectedPoints=d.polygon.points.map((_,B)=>B),b({selectedPoints:d.selectedPoints})))},clearSelection(){d.selectedPoints=[],b({selectedPoints:[]})},autoSelect(){d.selectedPoints.length===d.polygon.points.length&&!d.isOpen?Ft("pointer"):d.isOpen||d.selectedPoints.length>0?Ft(d.slowState.lastCreationTool||"pen"):Ft("pointer")}},lt={enabled:()=>d.slowState.snapEnabled,enable:()=>b({snapEnabled:!0}),disable:()=>b({snapEnabled:!1}),toggle:()=>b({snapEnabled:!d.slowState.snapEnabled}),pointsEnabled:()=>d.slowState.snapToPoints,enablePoints:()=>b({snapToPoints:!0}),disablePoints:()=>b({snapToPoints:!1}),togglePoints:()=>b({snapToPoints:!d.slowState.snapToPoints}),linesEnabled:()=>d.slowState.snapToLines,enableLines:()=>b({snapToLines:!0}),disableLines:()=>b({snapToLines:!1}),toggleLines:()=>b({snapToLines:!d.slowState.snapToLines}),intersectionsEnabled:()=>d.slowState.snapToIntersections,enableIntersections:()=>b({snapToIntersections:!0}),disableIntersections:()=>b({snapToIntersections:!1}),toggleIntersections:()=>b({snapToIntersections:!d.slowState.snapToIntersections}),gridEnabled:()=>d.slowState.snapToGrid,enableGrid:()=>b({snapToGrid:!0}),disableGrid:()=>b({snapToGrid:!1}),toggleGrid:()=>b({snapToGrid:!d.slowState.snapToGrid}),parallelEnabled:()=>d.slowState.snapToParallel,enableParallel:()=>b({snapToParallel:!0}),disableParallel:()=>b({snapToParallel:!1}),toggleParallel:()=>b({snapToParallel:!d.slowState.snapToParallel}),getThreshold:()=>d.snapThreshold*d.slowState.modifiers.proximity,setThreshold:_=>{d.snapThreshold=Math.max(5,Math.min(50,_))},isActive:()=>d.isSnapping,getSnapPoint:()=>d.snapPoint,getActiveGuides:()=>d.activeSnapGuides,getTargets:()=>d.snapTargets};function Tt(){b({selectedPoints:d.polygon.points.map((_,B)=>B)})}function Vt(_){b({bounds:_})}return Ft(i),{state:d,setState:b,emitter:u,modifiers:yt,stamps:Mt,history:oi,key:qt,setScale:Kt,clock:ue,pointer:ft,blur:Ht,pointerDown:ee,pointerUp:Gt,setShape:re,label:Ce,tools:Un,snap:lt,selectAllPoints:Tt,setBounds:Vt,lockAspectRatio:Zt,unlockAspectRatio:fe}}function Od(t){let e=Math.max(...t.map(r=>r[0])),n=Math.min(...t.map(r=>r[0])),i=Math.max(...t.map(r=>r[1])),a=Math.min(...t.map(r=>r[1]));for(let r of t)if(r[0]!==n&&r[0]!==e&&r[1]!==a&&r[1]!==i||r[0]<n||r[0]>e||r[1]<a||r[1]>i)return!1;return!0}function Js(t){if(!t)return null;if(t.points.length>2){let e=Math.min(...t.points.map(r=>r[0])),n=Math.min(...t.points.map(r=>r[1])),i=Math.max(0,...t.points.map(r=>r[0])),a=Math.max(0,...t.points.map(r=>r[1]));return{x:e,y:n,width:i-e,height:a-n}}return null}function _D(t){return t.type==="SvgSelector"}function q7(t){return t.type==="BoxSelector"}function $v(t,e){if(_D(t)){let l=t.svgShape==="polyline";if(!t.points||t.points.length===0)return null;if(e){let{width:u,height:f}=e;return{type:"SvgSelector",value:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${u} ${f}" width="${u}" height="${f}"><${l?"polygon":"polyline"} points="${t.points.map(d=>d.join(",")).join(" ")}" /></svg>`}}return{type:"SvgSelector",value:`<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g><path d='M${t.points.map(u=>u.join(",")).join(" ")}${l?" Z":""}' /></g></svg>`}}if(!t.spatial)return null;let{x:n,y:i,width:a,height:r}=t.spatial||{};return!a||!r?null:{type:"FragmentSelector",value:`xywh=${~~n},${~~i},${~~a},${~~r}`}}function _d(t,e){if(!t||!t.points.length)return null;if(Od(t.points)){let n=t.points.map(f=>f[0]),i=t.points.map(f=>f[1]),a=Math.min(...n),r=Math.min(...i),l=Math.max(...n)-a,u=Math.max(...i)-r;return $v({type:"BoxSelector",spatial:{x:a,y:r,width:l,height:u}},e)}return $v({type:"SvgSelector",points:t.points,svgShape:t.open?"polygon":"polyline"},e)}function dp(t){if(t.type==="polygon"&&!t.noBox&&t.points&&Od(t.points)){let n=Js({open:!1,points:t.points||[]});return dp({...t,type:"box",selector:n})}if(t.type==="polygon"||t.type==="draw")return{polygon:{points:t.points||[],open:t.open||!1},requestType:t.type,boundingBox:Js({points:t.points||[],open:!1}),metadata:{},arguments:t.arguments||{},target:_d({points:t.points||[],open:!1},t.bounds)};let e=t.selector;if(e){let n=[[e.x,e.y],[e.x+e.width,e.y],[e.x+e.width,e.y+e.height],[e.x,e.y+e.height]];return{polygon:{points:n,open:!1},requestType:t.type,boundingBox:e,metadata:{},target:_d({points:n,open:!1},t.bounds),arguments:t.arguments||{}}}return{polygon:{points:[],open:!1},requestType:t.type,boundingBox:null,target:null,metadata:{},arguments:t.arguments||{}}}var j7={shapeId:null,noShape:!0,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,lastCreationTool:null,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:0},bounds:null,showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},pointerInsideShape:!1,closestPoint:null,transitionModifiers:null,selectedStamp:null,bezierLines:[],boxMode:!1,fixedAspectRatio:!1,cursor:"",enabledTools:["pointer","pen","box","lineBox","stamp","hand","line","pencil"],canDelete:!0,canDeselect:!0,isToolSwitchingLocked:!1,currentTool:"box",snapEnabled:!1,snapToPoints:!1,snapToLines:!1,snapToIntersections:!1,snapToGrid:!1,snapToParallel:!1};function yR({events:t,enabledTools:e,keyboardShortcutMapping:n,keyboardShortcutsEnabled:i=!1,debug:a}){let r=va((u,f)=>{let h=null,m=OD({emitter:t,keyboardShortcutsEnabled:i,keyboardShortcutMapping:n,enabledTools:e,customSetState:y=>{a&&console.log("partial state",y),u(g=>({polygonState:{...g.polygonState,...y}}))}},y=>{u(g=>g.tool.requestId?{polygon:{...y,id:g.tool.requestId}}:{polygon:{id:void 0,points:[],open:!0}}),t.emit("atlas.polygon-update",y)});return{mode:"explore",tool:{enabled:!1,requestId:null,canvasId:null},runtime:null,requestType:null,requests:{},history:m.history,polygon:null,validRequestIds:[],metadata:{},stableViewport:null,canvasRelativePositions:{},canvasViewports:{},polygons:m,polygonState:j7,setMetadata:(y,g)=>{let b=g||f().tool.requestId;b&&u(T=>({metadata:{...T.metadata,[b]:{...T.metadata[b]||{},...y}}}))},setToolCanvasId:y=>{u(g=>({tool:{...g.tool,canvasId:y}}))},switchTool:{pointer(){u({mode:"sketch"}),l.tools.setTool("pointer")},hand(){u({mode:"explore"}),l.tools.setTool("hand")},draw(){u({mode:"sketch"}),l.tools.setTool("pencil")},pen(){u({mode:"sketch"}),l.tools.setTool("pen")},line(){u({mode:"sketch"}),l.tools.setTool("line")},lineBox(){u({mode:"sketch"}),l.tools.setTool("lineBox")},box(){u({mode:"sketch"}),l.tools.setTool("box")},triangle(){u({mode:"sketch"}),l.tools.setTool("stamp"),l.stamps.triangle()},hexagon(){u({mode:"sketch"}),l.tools.setTool("stamp"),l.stamps.hexagon()},circle(){u({mode:"sketch"}),l.tools.setTool("stamp"),l.stamps.circle()},remove(){let y=f();y.tool.requestId&&(m.setShape({points:[],open:!0}),y.cancelRequest(y.tool.requestId))}},reset:()=>{let y=f();y.tool.requestId&&y.cancelRequest(y.tool.requestId)},setPolygonState:y=>u({polygonState:typeof y=="function"?y(f().polygonState):y}),getRequestId:()=>{let y=Math.random().toString(36).slice(2);return u(g=>({validRequestIds:[...g.validRequestIds,y]})),{requestId:y,clear:()=>{f().tool.requestId,u(g=>({tool:g.tool.requestId===y?{enabled:!1,requestId:null,canvasId:null}:g.tool,validRequestIds:g.validRequestIds.filter(b=>b!==y)}))}}},cancelRequest:y=>{let g=y||f().tool.requestId;g&&(u(b=>({mode:"explore",tool:b.tool.requestId===g?{enabled:!1,requestId:null,canvasId:null}:b.tool,validRequestIds:b.validRequestIds.filter(T=>T!==g)})),t.emit("atlas.request-cancelled",{id:g}))},requestAnnotation:async(y,g)=>{let T={...f().requests,[g.requestId]:y},C=dp(y);a&&console.log("requestAnnotation",{response:C,request:y});try{let{points:x=[],open:w=!0}=C.polygon||{},{requestId:R,canvasId:E=null,toolId:M}=g,z=M,I=f(),L=I.validRequestIds.includes(R),H=C.requestType;return a&&console.log("setting points",{requestType:H,points:x,open:w}),!L||I.tool.enabled?null:(m.setShape({id:R,points:x,open:w}),H==="polygon"&&(z=z||"pen",m.tools.setTool("pen")),H==="draw"&&(z=z||"draw",m.tools.setTool("pencil")),H==="box"&&(z=z||"box",m.tools.setTool("box")),H==="target"?(z=z||"box",m.tools.setTool("box"),m.lockAspectRatio(),m.tools.lockToolSwitching(),m.tools.setCanDeselect(!1),m.tools.setCanDelete(!1)):(m.tools.unlockToolSwitching(),m.tools.setCanDeselect(!0),m.tools.setCanDelete(!0)),y.bounds&&m.setBounds(y.bounds),t.emit("atlas.annotation-request",{id:R}),u({polygon:{id:R,points:x,open:w},mode:"sketch",requestType:H,tool:{enabled:!0,requestId:R,canvasId:E},requests:T}),z?I.switchTool[z]?.():x.length===0&&I.switchTool.box(),(typeof y.selectByDefault>"u"&&x.length&&H==="box"||y.selectByDefault)&&I.switchTool.pointer(),new Promise(q=>{let st=gt=>{gt.id===R&&(u(it=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(it.requests).filter(([nt])=>nt!==R))})),t.off("atlas.request-cancelled",st),t.off("atlas.annotation-completed",et),q(null))},et=gt=>{gt.id===R&&(u(it=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(it.requests).filter(([nt])=>nt!==R))})),t.off("atlas.annotation-completed",et),t.off("atlas.request-cancelled",st),q(gt))};t.on("atlas.request-cancelled",st),t.on("atlas.annotation-completed",et)}))}catch(x){return console.error(x),null}},completeRequest:y=>{let g=f().tool.requestId;if(typeof y=="string"&&y&&y!==g)return;let b=g?f().requests[g]?.arguments||{}:{},T=g?f().metadata[g]||{}:{},C=f().polygonState.bounds,x=f().polygon;x&&(t.emit("atlas.annotation-completed",{id:x.id,polygon:x,requestType:f().requestType,target:_d(x,C),canvasId:f().tool.canvasId,boundingBox:Js(x),metadata:T,arguments:{...b}}),m.setShape(null))},setAtlasRuntime:y=>{h=y,t.emit("atlas.ready",{runtime:y}),l.setScale(1/h._lastGoodScale),h.world.addLayoutSubscriber((g,b)=>{(g==="event-activation"||g==="zoom-to"||g==="go-home")&&h?._lastGoodScale&&!Number.isNaN(h._lastGoodScale)&&l.setScale(1/h._lastGoodScale)}),u({runtime:h})},clearAtlasRuntime:()=>{h=null,u({stableViewport:null,runtime:null})},setCanvasRelativePosition:(y,g)=>{u(b=>({canvasRelativePositions:{...b.canvasRelativePositions,[y]:g}}))},clearCanvasRelativePosition:y=>{u(g=>{let b={...g.canvasRelativePositions};return delete b[y],{canvasRelativePositions:b}})},changeMode:y=>{u({mode:y})},nudgeLeft:y=>{if(!h)return;let g=h.getViewport(),b=y??g.width*.1;h.world.gotoRegion({x:g.x-b,y:g.y,width:g.width,height:g.height,nudge:!0})},nudgeRight:y=>{if(!h)return;let g=h.getViewport(),b=y??g.width*.1;h.world.gotoRegion({x:g.x+b,y:g.y,width:g.width,height:g.height,nudge:!0})},nudgeUp:y=>{if(!h)return;let g=h.getViewport(),b=y??g.height*.1;h.world.gotoRegion({x:g.x,y:g.y-b,width:g.width,height:g.height,nudge:!0})},nudgeDown:y=>{if(!h)return;let g=h.getViewport(),b=y??g.height*.1;h.world.gotoRegion({x:g.x,y:g.y+b,width:g.width,height:g.height,nudge:!0})},zoomIn:()=>{h?.world?.zoomIn()},zoomOut:()=>{h?.world?.zoomOut()},goHome:()=>{h?.world?.goHome()},goToRegion:y=>{h?.world?.gotoRegion(y)},getRuntime:()=>h}}),l=r.getState().polygons;return t.on("atlas.annotation-request",()=>{l.clock.start((u,f,h)=>{t.emit("atlas.polygon-render",{state:u,slowState:f,dt:h})},u=>{typeof u=="object"?r.setState({polygonState:u}):r.setState(f=>({polygonState:u(f.polygonState)}))})}),t.on("atlas.annotation-completed",()=>{l.clock.stop()}),t.on("atlas.request-cancelled",()=>{l.clock.stop()}),r}var bR=N(K(),1),bu=(0,Vo.createContext)(null);function $e(){return(0,Vo.useContext)(bu)}var vR={};function SR(t="atlas"){return vR[t]?.getState()}function zd({children:t,name:e="atlas",existing:n,atlasStoreConfig:i}){let a=mR(),r=(0,Vo.useContext)(bu),l=(0,Vo.useMemo)(()=>n||r||yR({events:a,...i||{}}),[a,n,r]),u=zt(l,f=>f.mode);return(0,Vo.useEffect)(()=>{let f=e;return f&&(vR[f]=l),()=>{f&&delete vR[f]}},[l,e]),(0,bR.jsx)(bu.Provider,{value:l,children:(0,bR.jsx)(Ad.Provider,{value:u||"explore",children:t})})}var BD=N(ct(),1);var Id=N(ct(),1),zD=N(K(),1);function xR(){return{default:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(252,0,98, .5)"},highlighted:{backgroundColor:"rgba(75, 103, 225, 0.4)",borderWidth:"1px",borderColor:"rgba(75,103,225,0.99)"},hidden:{borderWidth:"0px",borderColor:"rgba(0,0,0,0)",backgroundColor:"rgba(0,0,0,0)",hidden:!0}}}var wR=(0,Id.createContext)(xR());wR.displayName="AnnotationStyle";function fp(){return(0,Id.useContext)(wR)}function k7({theme:t,children:e}){let n=(0,Id.useMemo)(()=>t||xR(),[t]);return(0,zD.jsx)(wR.Provider,{value:n,children:e})}var ND=N(ct(),1);var Nd=N(ct(),1);var ID=Ig()((t,e)=>{let n=new Map,i=()=>Math.random().toString(36).substring(2,15),a=r=>{let l=n.get(r);if(l)return l;let u=i();return n.set(r,u),u};return{stylesheets:{},loading:[],errors:[],async parseStylesheet(r){let{loadStylesheet:l,setStylesheet:u}=e();if(!r)return null;if(typeof r=="string")return r.startsWith("http")?{id:r,type:"CssStylesheet",value:await l(r)}:{id:u(r),type:"CssStylesheet",value:r};if(r.type==="CssStylesheet"){let f=r.id;if("value"in r){let h=Array.isArray(r.value)?r.value.join(`
92
- `):r.value;if(h)return{id:u(h,f),type:"CssStylesheet",value:h}}if("id"in r&&r.id){let h=await l(r.id);return{id:r.id,type:"CssStylesheet",value:h}}}return null},async loadStylesheet(r){if(e().loading.includes(r))return"";try{let u=await fetch(r);if(!u.ok)throw new Error(`Failed to load stylesheet from ${r}`);let f=await u.text();return t(h=>({stylesheets:{...h.stylesheets,[r]:f}})),f}catch(u){return t(f=>({errors:[...f.errors,{url:r,error:u}]})),""}},setStylesheet(r,l){let u=l||a(r);return t(f=>({stylesheets:{...f.stylesheets,[u]:r}})),u}}});function TR(t){let[e,n]=(0,Nd.useState)(""),{loading:i,errors:a,stylesheets:r,parseStylesheet:l}=ID();return(0,Nd.useEffect)(()=>{t&&l(t).then(f=>{f?.id&&n(f.id)})},[t,l]),[(0,Nd.useMemo)(()=>{let f={};return e&&r[e]&&(f[e]=r[e]),f},[e,r]),{id:e,stylesheets:r,loading:i,errors:a}]}function hp(t={},e=[]){let{id:n,selector:i}=t,a=Ti(),r=ce(),l=n||a.annotation,u=_e(d=>l?d.iiif.entities.Annotation[l]:void 0,[l]),[f]=TR(u?.stylesheet),h=_e(d=>u&&u.body?u.body.map(m=>m?m.type==="SpecificResource"?{...m,source:r.get(m)}:m?d.iiif.entities[m.type][m.id]:null:null).filter(Boolean):[],[u]);return(0,ND.useMemo)(()=>{if(!u)return;let d={...u,body:h,target:wn(u.target,{typeMap:r.getState().iiif.mapping,loadedStylesheets:f})};return i?i(d):d},[u,i,h,f,...e])}var LD=N(ct(),1);function Wt(t={},e=[]){let{id:n,selector:i}=t,a=Ti(),r=n||a.canvas,l=_e(u=>r?u.iiif.entities.Canvas[r]:void 0,[r]);return(0,LD.useMemo)(()=>{if(l)return i?i(l):l},[l,i,...e])}var RR=N(ct(),1);function pp(t=yo){return{addEventListener(e,n,i,a){if(e)return t.setMetaValue([e.id,"eventManager",n],r=>{let l=r||[];for(let u of l)if(u.callback===i)return l;return[...l,{callback:i,scope:a}]}),i},removeEventListener(e,n,i){e&&t.setMetaValue([e.id,"eventManager",n],a=>(a||[]).filter(r=>r.callback!==i))},getListenersAsProps(e,n){let i=typeof e=="string"?{id:e}:e;if(!i||!i.id)return{};let a=t.getResourceMeta(i.id,"eventManager"),r={};if(a&&i)for(let l of Object.keys(a))r[l]=u=>{let f=t.get(i);for(let{callback:h,scope:d}of a[l]||[])(!d||n&&d.indexOf(n)!==-1)&&h(u,f)};return r}}}function mp(t,e){let n=ce(),i=(0,RR.useMemo)(()=>pp(n),[n]),a=_e(()=>t&&t.id?n.getResourceMeta(t.id,"eventManager"):null,[t]);return(0,RR.useMemo)(()=>t?i.getListenersAsProps(t,e):{},[a,t,n,e])}var DD=N(ct(),1);function $s(t=yo){return{applyStyles(e,n,i){let a=typeof e=="string"?e:e.id;return t.setMetaValue([a,"styles",n],i)},getAppliedStyles(e){let n=typeof e=="string"?e:e.id;return t.getResourceMeta(n,"styles")}}}function Su(t,e){let n=ce(),i=(0,DD.useMemo)(()=>$s(n),[n]);return _e(()=>{if(!t)return null;let a=i.getAppliedStyles(t.id);return a?e?a[e]:a:void 0},[t,e])}var PD=N(ct(),1);var Xr=N(ct(),1),Bn=N(K(),1);function ER({handleSize:t,resizable:e,onSave:n,children:i,maintainAspectRatio:a,disableCardinalControls:r,aspectRatio:l,...u}){let f=typeof t>"u"?a?12:8:t,{portalRef:h,mode:d,mouseEvent:m,isEditing:y}=fD({x:u.x||0,y:u.y||0,width:u.width,height:u.height,aspectRatio:l,maintainAspectRatio:a},n),g=(0,Xr.useMemo)(()=>m("translate"),[m]),b=(0,Xr.useMemo)(()=>m("east"),[m]),T=(0,Xr.useMemo)(()=>m("west"),[m]),C=(0,Xr.useMemo)(()=>m("south"),[m]),x=(0,Xr.useMemo)(()=>m("north"),[m]),w=(0,Xr.useMemo)(()=>m("south-east"),[m]),R=(0,Xr.useMemo)(()=>m("south-west"),[m]),E=(0,Xr.useMemo)(()=>m("north-east"),[m]),M=(0,Xr.useMemo)(()=>m("north-west"),[m]),z=d==="sketch",I={zIndex:999,boxShadow:"0px 2px 3px 0 rgba(0,0,0,0.2)",outline:"2px solid rgba(155,155,155,.7)",borderRadius:a||r?"50%":2,position:"absolute",background:"#fff",pointerEvents:y?"none":z?"initial":"none"};return(0,Bn.jsx)(Bn.Fragment,{children:(0,Bn.jsxs)("world-object",{...u,children:[i,z&&e?(0,Bn.jsx)(na,{ref:h,target:{x:0,y:0,height:u.height,width:u.width},relative:!0,interactive:!1,children:z&&e?(0,Bn.jsxs)(Bn.Fragment,{children:[(0,Bn.jsx)("div",{onMouseDown:g,onTouchStart:g,style:{display:"block",width:"100%",height:"100%",cursor:"move",border:"1px solid rgba(255,255,255, .7)",outline:"2px solid rgba(155,155,155, .7)",boxSizing:"border-box",pointerEvents:y?"none":z?"initial":"none"}}),a?null:(0,Bn.jsxs)(Bn.Fragment,{children:[(0,Bn.jsx)("div",{title:"east",onTouchStart:b,onMouseDown:b,style:{...I,cursor:"e-resize",height:f*2,width:f,right:0,top:"50%",opacity:r?0:1,transform:`translate(${f/2}px, -${f}px)`}}),(0,Bn.jsx)("div",{title:"west",onMouseDown:T,style:{...I,cursor:"w-resize",position:"absolute",height:f*2,width:f,left:0,top:"50%",opacity:r?0:1,transform:`translate(-${f/2}px, -${f}px)`}}),(0,Bn.jsx)("div",{title:"north",onMouseDown:x,style:{...I,cursor:"n-resize",position:"absolute",height:f,width:f*2,left:"50%",top:0,opacity:r?0:1,transform:`translate(-${f}px, -${f/2}px)`}}),(0,Bn.jsx)("div",{title:"south",onMouseDown:C,style:{...I,cursor:"s-resize",position:"absolute",height:f,width:f*2,left:"50%",bottom:0,opacity:r?0:1,transform:`translate(-${f}px, ${f/2}px)`}})]}),(0,Bn.jsx)("div",{title:"north-east",onMouseDown:E,style:{...I,cursor:"ne-resize",position:"absolute",height:f,width:f,right:0,top:0,transform:`translate(${f/2}px, -${f/2}px)`}}),(0,Bn.jsx)("div",{title:"south-east",onMouseDown:w,style:{...I,cursor:"se-resize",position:"absolute",height:f,width:f,bottom:0,right:0,transform:`translate(${f/2}px, ${f/2}px)`}}),(0,Bn.jsx)("div",{title:"south-west",onMouseDown:R,style:{...I,cursor:"sw-resize",position:"absolute",height:f,width:f,bottom:0,left:0,transform:`translate(-${f/2}px, ${f/2}px)`}}),(0,Bn.jsx)("div",{title:"north-west",onMouseDown:M,style:{...I,cursor:"nw-resize",position:"absolute",height:f,width:f,top:0,left:0,transform:`translate(-${f/2}px, -${f/2}px)`}})]}):null}):null]})})}var CR=N(K(),1);function AR({id:t,interactive:e,region:n,onClick:i,onHover:a,onSave:r,aspectRatio:l,maintainAspectRatio:u,disableCardinalControls:f,isEditing:h,style:d={backgroundColor:"rgba(0,0,0,.5)"}}){let m=(0,PD.useCallback)(y=>{h&&r?.({id:n.id,x:n.x,y:n.y,height:n.height,width:n.width,...y})},[r,h,n.id,n.x,n.y,n.height,n.width]);return(0,CR.jsx)(ER,{id:t,x:n.x,y:n.y,width:n.width,aspectRatio:l,height:n.height,resizable:h,onSave:m,maintainAspectRatio:u,disableCardinalControls:f,children:(0,CR.jsx)("box",{interactive:e,onClick:y=>{y.preventDefault(),y.stopPropagation(),i?.(n)},relativeStyle:!0,onMouseEnter:()=>{a?.(n)},target:{x:0,y:0,width:n.width,height:n.height},style:d})})}var HD=N(K(),1),xu=({id:t,style:e,className:n,interactive:i,targetId:a,ignoreTargetId:r})=>{let l=hp({id:t}),u=Su(l,"atlas"),f=Su(l,"html"),h=mp(l,["atlas"]),d=Wt(),m=fp(),y=(0,BD.useMemo)(()=>rp(rp(rp(rp(e,u),l?.motivation?.includes("highlighting")?m.highlighted:m.default),l?.target?.selector?.boxStyle||{})),[e,u,m,l?.motivation,l?.target]),g=a||d?.id;return d&&l&&l.target&&l.target.selector&&(l.target.selector.type==="BoxSelector"||l.target.selector.type==="SvgSelector")&&l.target.source&&(r?!0:l.target.source.id===g||l.target.source===g)?(0,HD.jsx)(AR,{id:l.id,isEditing:!0,region:l.target.selector.spatial,style:y,className:f?.className||n,interactive:!!(f?.href||i),href:f?.href||null,title:f?.title||null,hrefTarget:f?.target||null,onClick:()=>{},...h}):null};var VD=N(ct(),1);var FD=N(ct(),1);function MR(t={},e=[]){let{id:n,selector:i}=t,a=Ti(),r=n||a.annotationPage,l=_e(u=>r?u.iiif.entities.AnnotationPage[r]:void 0,[r]);return(0,FD.useMemo)(()=>{if(l)return i?i(l):l},[l,...e])}var OR=N(K(),1),tl=({className:t,page:e,targetId:n,ignoreTargetId:i})=>{let a=MR({id:e.id})||e,r=Su(a,"atlas"),l=Su(a,"html");return _e(u=>a.id?u.iiif.entities.AnnotationPage[a.id]:null,[]),(0,OR.jsx)(VD.Fragment,{children:a.items?.map(u=>(0,OR.jsx)(xu,{id:u.id,style:r,className:l?.className||t,targetId:n,ignoreTargetId:i},u.id))})};var el=N(ct(),1),t0=N(K(),1),UD=(0,el.createContext)(null),qD=(0,el.createContext)(null),jD=(0,el.createContext)(null);function G7(){let t=(0,el.useContext)(UD);if(!t)throw new Error("Ctx not found");return t}function Y7(){let t=(0,el.useContext)(qD);if(!t)throw new Error("Ctx not found");return t}function X7(){let t=(0,el.useContext)(jD);if(!t)throw new Error("Ctx not found");return t}function gp({actions:t,state:e,children:n,currentTime:i,progress:a,element:r}){return(0,t0.jsx)(jD.Provider,{value:{currentTime:i,progress:a,element:r},children:(0,t0.jsx)(qD.Provider,{value:t,children:(0,t0.jsx)(UD.Provider,{value:e,children:n})})})}var YD=N(ct(),1);function kD(t,e,n=[],i=!1,a=[]){if(a.length&&(e=e.filter(l=>a.indexOf(l)===-1)),!e||e.length===0)return;if(e.length===1)return e[0];if(!t)return e.indexOf("none")===-1?e[0]:"none";if(e.indexOf(t)!==-1)return t;let r=t.indexOf("-")===-1?null:t.slice(0,t.indexOf("-"));if(r&&e.indexOf(r)!==-1)return r;for(let l of n)if(e.indexOf(l)!==-1)return l;if(!i&&t){let l=e.map(u=>u.indexOf("-")===-1?null:u.slice(0,u.indexOf("-"))).indexOf(t);if(l!==-1)return e[l];for(let u of n){let f=u.indexOf("-")===-1?null:u.slice(0,u.indexOf("-")),h=f?e.indexOf(f):-1;if(h!==-1)return e[h]}}return e.indexOf("none")===-1?e.indexOf("@none")===-1?e[0]:"@none":"none"}function _R(t,e,n={}){let{strictFallback:i=!1,defaultText:a="",separator:r=`
93
- `,fallbackLanguages:l=[],closest:u,skipLanguages:f}=n,h=u?e:kD(e,Object.keys(t||{}),l,i,f);if(!t)return a;if(typeof t=="string")return t;let d=h?t[h]:void 0;if(d&&h){if(typeof d=="string")return d;if(d.length===1&&d[0]===""){let m=n.skipLanguages||[];return _R(t,e,{...n,skipLanguages:[...m,h]})}return d.join(r)}return""}function e0(t,e={}){return _R(t,e.language||(typeof navigator<"u"?navigator.language:"en"),e)}var Q7=GD();function GD(t={}){return(e,...n)=>{let i="";for(let a=0;a<e.length;a++)if(i+=e[a],a<n.length){let r=n[a];if(r==null)continue;typeof r=="string"?i+=r:i+=e0(r,t)}return i}}function zR(t){return t.type==="SpecificResource"?[t.source,{selector:t.selector,...t.styleClass?{styleClass:t.styleClass}:{}}]:[t,{selector:null}]}function K7(t){if(!t)return;let e=Array.isArray(t)?t:[t],n={};for(let i of e){if(i?.type!=="CssStylesheet"||!("value"in i))continue;let a=Array.isArray(i.value)?i.value.join(`
94
- `):i.value;a&&(n[i.id||`inline-${Object.keys(n).length}`]=a)}return Object.keys(n).length?n:void 0}function Ld(t=yo){function e(a){let r=a?typeof a=="string"?t.get(a):a:null;if(!r)return[];let l=t.get(r.items,{parent:r}),u=[];for(let f of l)u.push(...t.get(f.items,{parent:f}));return u}function n(a,r=[]){let l=Array.isArray(a)?a:e(a),u=[],f={items:[],type:"complex-choice"},h=[];for(let d of l){if(d.type!=="Annotation")throw Error("getPaintables() accept either a canvas or list of annotations");let m=Array.from(Array.isArray(d.body)?d.body:[d.body]);for(let y of m){let[g,{selector:b,styleClass:T}]=zR(y),C=t.get(g),x=(C.type||"unknown").toLowerCase();if(x==="choice"){let M=t.get(C.items,{parent:C.id}),z=r.length?r.map(I=>M.find(L=>L.id===I)).filter(Boolean):[M[0]];z.length===0&&z.push(M[0]),f.items.push({type:"single-choice",items:M.map(I=>({id:I.id,label:I.label,selected:z.indexOf(I)!==-1})),label:g.label}),m.push(...z);continue}u.indexOf(x)===-1&&u.push(x);let w=T?K7(d.stylesheet):void 0,R=T?ds(T,w):void 0,E=R?cs(R):{};h.push({type:x,annotationId:d.id,annotation:d,resource:C,target:d.target,selector:b,...T?{styleClass:T}:{},...R&&Object.keys(R).length?{style:R}:{},...E})}}return{types:u,items:h,choice:f.items.length<2?f.items[0]||null:f,allChoices:f.items.length?f:null}}function i(a){let{choice:r}=n(a);return r}return{getAllPaintingAnnotations:e,getPaintables:n,extractChoices:i}}function yp(){let t=Tn(),e=Wt();return(0,YD.useMemo)(()=>{if(!t||!e||!t.start)return null;let n=wn(t.start);return!n||n.source.id!==e.id||!n||!n.selector||n.selector.type!=="TemporalSelector"?null:n.selector.temporal},[t,e])}var bn=N(ct(),1);function XD(t){return{isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,volume:100,duration:t}}function Z7(t,e){switch(e.type){case"RESET":return e.state;case"FINISHED":return{...t,isFinished:!0,isPlaying:!1,playRequested:!1};case"PLAY_PAUSE":return{...t,isFinished:!1,isPlaying:!t.isPlaying};case"PLAY_REQUESTED":return{...t,isFinished:!1,playRequested:!0};case"PAUSE":return{...t,isPlaying:!1};case"PLAY":return{...t,isFinished:!1,playRequested:!1,isPlaying:!0};case"MUTE":return{...t,isMuted:!0};case"SET_VOLUME":return{...t,volume:e.volume,isMuted:e.volume===0};case"TOGGLE_MUTE":return{...t,isMuted:!t.isMuted};case"UNMUTE":return{...t,isMuted:!1}}return t}function n0(t){let e=Math.round(t);return`${Math.floor(e/60)}:${`${e%60}`.padStart(2,"0")}`}function wu(t){let[e,n]=(0,bn.useReducer)(Z7,XD(t.duration));(0,bn.useEffect)(()=>{n({type:"RESET",state:XD(t.duration)})},[t.duration]);let i=(0,bn.useRef)(null),a=(0,bn.useRef)(null),r=(0,bn.useRef)(null),l=(0,bn.useRef)(!1),u=(0,bn.useCallback)(()=>{a.current&&i.current&&(a.current.innerHTML=n0(i.current.currentTime),r.current&&(r.current.style.width=`${i.current.currentTime/t.duration*100}%`),l.current!==i.current.muted&&(l.current=i.current.muted,n(i.current.muted?{type:"MUTE"}:{type:"UNMUTE"})))},[t.duration]),f=(0,bn.useCallback)(()=>{i.current&&(n({type:"PLAY_REQUESTED"}),i.current.play().then(()=>{n({type:"PLAY"})}),u())},[u]),h=(0,bn.useCallback)(()=>{i.current&&(i.current.duration>0&&i.current.paused?f():d())},[u]),d=(0,bn.useCallback)(()=>{i.current&&(i.current.pause(),n({type:"PAUSE"}),u())},[u]),m=(0,bn.useCallback)(()=>{i.current&&(i.current.muted=!i.current.muted,n(i.current.muted?{type:"MUTE"}:{type:"UNMUTE"}))},[]),y=(0,bn.useCallback)(()=>{i.current&&(i.current.muted=!0,n({type:"MUTE"}))},[]),g=(0,bn.useCallback)(()=>{i.current&&(i.current.muted=!1,n({type:"UNMUTE"}))},[]),b=(0,bn.useCallback)(x=>{i.current&&(i.current.muted=!1,i.current.volume=x/100,n({type:"SET_VOLUME",volume:x}))},[]),T=(0,bn.useCallback)(x=>{i.current&&(i.current.currentTime=Math.max(0,Math.min(x*t.duration,t.duration)),u())},[]),C=(0,bn.useCallback)(x=>{if(i.current){let w=typeof x=="function"?x(i.current.currentTime):x;i.current.currentTime=Math.max(0,Math.min(w,t.duration)),u()}},[]);return(0,bn.useEffect)(()=>{let x=setInterval(()=>{u()},350);return()=>clearInterval(x)},[u,t.duration]),(0,bn.useEffect)(()=>{let x=()=>{n({type:"FINISHED"})},w=i.current;return w?.addEventListener("ended",x),()=>w?.removeEventListener("ended",x)},[]),[{element:i,currentTime:a,progress:r},e,{play:f,pause:d,playPause:h,mute:y,unmute:g,toggleMute:m,setVolume:b,setDurationPercent:T,setTime:C}]}var Tu=N(ct(),1),IR=(0,Tu.createContext)(()=>{}),NR=(0,Tu.createContext)(()=>{});function vi(t,e,n,i,a=[]){let r=(0,Tu.useContext)(t==="portal"?NR:IR);(0,Tu.useEffect)(()=>(t!=="none"&&r(e,n,i),()=>{r(e,null)}),[e,t,r,...a])}var a0=N(K(),1);function LR({media:t,startTime:e,children:n}){let[{element:i,currentTime:a,progress:r},l,u]=wu({duration:t.duration}),f=e?`${t.url}#t=${e}`:t.url;return(0,a0.jsxs)(gp,{state:l,actions:u,currentTime:a,progress:r,element:i,children:[(0,a0.jsx)("audio",{ref:i,src:f}),n]},t.url)}function i0({media:t,mediaControlsDeps:e,audioCopmonent:n=LR,children:i}){let a=yp();return vi("portal","audio",n,{media:t,startTime:a?a.startTime:null,children:i},[t,a,...e||[]]),null}var r0=N(ct(),1),nl=(0,r0.createContext)(null);nl.displayName="Strategy";function fn(){let t=(0,r0.useContext)(nl);if(!t)throw new Error("useStrategy must be used within a StrategyProvider");return t}var il=N(K(),1);function DR({model:t}){return(0,il.jsxs)(il.Fragment,{children:[(0,il.jsx)("style",{children:`
86
+ width: var(--atlas-container-width, ${Y0(h??"100%")});
87
+ height: var(--atlas-container-height, ${Y0(d||(t?f.height:"100%"))})
88
+ }`,[t,m,f.height,d,h]);return(0,W.jsxs)(Rl,{ref:o,...l,className:g,children:[f.width?(0,W.jsx)(iE,{width:f.width||100,height:f.height||100,...p,children:r.children}):null,r.hideInlineStyle?null:(0,W.jsx)("style",{children:y}),n]})});var Ii=$.default.forwardRef(({children:e,...t},i)=>{let n=(0,$.useRef)(),r=Ns(),o=(0,$.useRef)(0),s=(0,$.useRef)(),a=(0,$.useRef)(),c=(0,$.useRef)(!1),u=(0,$.useRef)(void 0),l=(0,$.useRef)(void 0);return wm(()=>{if(t.relative){let d=n.current;if(d&&r){let h=r.getScaleFactor();o.current!==h&&(o.current=h,d.style.transformOrigin="0 0",d.style.transform=`scale(${1/o.current})`,d.style.width=`${o.current*100}%`,d.style.height=`${o.current*100}%`,n.current&&s.current?.__owner.value?.rotation&&(d.style.transform=`scale(${1/o.current}) translate(50%, 50%) rotate(${s.current?.__owner.value?.rotation||0}deg) translate(-50%, -50%)`))}}},[t.relative]),(0,$.useLayoutEffect)(()=>{c.current=!1,u.current!==void 0&&(clearTimeout(u.current),u.current=void 0);let d=s.current;i&&d&&(typeof i=="function"?i(d):i.current=d);async function h(){let p=s.current;if(!p||!p.__host||c.current)return;let f=t.relative?(0,W.jsx)("div",{ref:n,children:e}):e;if(await tw(p.__host.element,f,a),c.current&&a.current&&!a.current.unmounted){let m=a.current;a.current=void 0,m.unmount()}}d&&d.__host?h():d&&(l.current=h,d.__onCreate=h)},[i,e,s,t.relative]),(0,$.useLayoutEffect)(()=>()=>{c.current=!0;let d=s.current;d&&l.current&&d.__onCreate===l.current&&(d.__onCreate=void 0),l.current=void 0,a.current&&!a.current.unmounted&&(u.current=setTimeout(()=>{u.current=void 0;let h=a.current;a.current=void 0,h&&h.unmount()},0))},[]),(0,W.jsx)("box",{html:!0,...t,ref:s})});Ii.displayName="HTMLPortal";var Xn=P(Z(),1);var wo=P(Z(),1),rw=P(D(),1),nE=Ai(),So=(0,wo.createContext)(nE);function rE({children:e,emitter:t}){return(0,rw.jsx)(So.Provider,{value:t,children:e})}function Am(){return(0,wo.useContext)(So)}function Ro(e,t,i=[]){let n=(0,wo.useContext)(So);(0,wo.useEffect)(()=>{let r=o=>{t(o)};return n.on(e,r),()=>{n.off(e,r)}},[n,e,...i])}function oE(e){return{all:e=e||new Map,on:function(t,i){var n=e.get(t);n?n.push(i):e.set(t,[i])},off:function(t,i){var n=e.get(t);n&&(i?n.splice(n.indexOf(i)>>>0,1):e.set(t,[]))},emit:function(t,i){var n=e.get(t);n&&n.slice().map(function(r){r(i)}),(n=e.get("*"))&&n.slice().map(function(r){r(t,i)})}}}function sE(e,t,i){let[n,r]=e,[o,s]=t,[a,c]=i,u=a-o,l=c-s,d=Math.sqrt(u*u+l*l);if(d===0)return{distance:Math.sqrt((n-o)**2+(r-s)**2),closestPoint:[o,s]};let h=Math.max(0,Math.min(1,((n-o)*u+(r-s)*l)/(d*d))),p=o+h*u,f=s+h*l,m=[p,f];return{distance:Math.sqrt((n-p)**2+(r-f)**2),closestPoint:m}}function aE(e,t,i,n){let[r,o]=e,[s,a]=t,[c,u]=i,[l,d]=n,h=(r-s)*(u-d)-(o-a)*(c-l);if(Math.abs(h)<1e-10)return null;let p=((r-c)*(u-d)-(o-u)*(c-l))/h,f=-((r-s)*(o-u)-(o-a)*(r-c))/h;if(p>=0&&p<=1&&f>=0&&f<=1){let m=r+p*(s-r),g=o+p*(a-o);return[m,g]}return null}function lE(e,t,i){let n=i||t.snapThreshold||15,r=[],[o,s]=e,a=t.polygon.points,c=t.slowState.transitionIntentType==="move-point";if(t.slowState.snapToPoints)for(let u=0;u<a.length;u++){if(c&&t.selectedPoints.includes(u))continue;let l=a[u];if(l[0]===o&&l[1]===s)continue;let d=l[0]-o,h=l[1]-s,p=Math.sqrt(d*d+h*h);p<=n&&r.push({type:"point",point:[l[0],l[1]],source:{pointIndex:u,polygon:t.polygon},distance:p})}if(t.slowState.snapToLines)for(let u=0;u<a.length;u++){if(c&&t.selectedPoints.includes(u))continue;let l=(u+1)%a.length;if(u===l)continue;let d=a[u],h=a[l],{distance:p,closestPoint:f}=sE(e,d,h);p<=n&&r.push({type:"line",point:f,source:{lineIndex:u,polygon:t.polygon},distance:p})}if(t.slowState.snapToIntersections&&a.length>=4)for(let u=0;u<a.length;u++){if(c&&t.selectedPoints.includes(u))continue;let l=(u+1)%a.length,d=a[u],h=a[l];for(let p=u+2;p<a.length;p++){if(c&&t.selectedPoints.includes(p))continue;let f=(p+1)%a.length;if(p===l||f===u)continue;let m=a[p],g=a[f],y=aE(d,h,m,g);if(y){let[x,w]=y,R=Math.sqrt((o-x)**2+(s-w)**2);R<=n&&r.push({type:"intersection",point:y,source:{lineIndex:u,polygon:t.polygon},distance:R})}}}if(t.slowState.snapToParallel)for(let u=0;u<a.length;u++){if(c&&t.selectedPoints.includes(u))continue;let l=a[u],[d,h]=l,p=Math.abs(s-h);p<=n&&r.push({type:"parallel",point:[o,h],source:{pointIndex:u,polygon:t.polygon},distance:p});let f=Math.abs(o-d);f<=n&&r.push({type:"parallel",point:[d,s],source:{pointIndex:u,polygon:t.polygon},distance:f})}return r.sort((u,l)=>u.distance-l.distance)}function cE(e){return e.sort((t,i)=>{let n=t.type==="point"?0:t.type==="intersection"?1:t.type==="parallel"?2:3,r=i.type==="point"?0:i.type==="intersection"?1:i.type==="parallel"?2:3;return n!==r?n-r:t.distance-i.distance})}function uE(e,t){let i=[];for(let n of e)switch(n.type){case"point":i.push({type:"point",points:[n.point],target:n});break;case"line":if(n.source?.lineIndex!==void 0){let r=t.polygon.points,o=n.source.lineIndex,s=(o+1)%r.length,a=r[o],c=r[s];i.push({type:"line",points:[a,c,n.point],target:n})}else i.push({type:"point",points:[n.point],target:n});break;case"intersection":i.push({type:"cross",points:[n.point],target:n});break;case"parallel":if(n.source?.pointIndex!==void 0){let r=t.polygon.points[n.source.pointIndex];i.push({type:"parallel-line",points:[r,n.point],target:n})}break}return i}function Or(e,t,i=5,n){if(!t.slowState.snapEnabled)return t.snapTargets=[],t.activeSnapGuides=[],t.isSnapping=!1,t.snapPoint=null,null;let r=lE(e,t,void 0);if(r.length===0)return t.snapTargets=[],t.activeSnapGuides=[],t.isSnapping=!1,t.snapPoint=null,null;let o=cE(r);return t.snapTargets=o,t.activeSnapGuides=uE(o.slice(0,i),t),t.isSnapping=!0,t.snapPoint=o[0].point,t.snapPoint}function cw(e){e.snapTargets=[],e.activeSnapGuides=[],e.isSnapping=!1,e.snapPoint=null}function dE(e){return e.isSnapping&&e.snapPoint!==null}function kl(e,t){return dE(t)&&t.snapPoint?t.snapPoint:e}var hE={type:"add-open-point",label:"Add point",tools:["pen","line","lineBox"],trigger:{type:"click"},isValid(e,t,i){if(!t.isOpen)return!1;if(t.polygon.points.length===0)return!0;if(t.selectedPoints.length!==1||t.polygon.points.length>=2&&(t.slowState.currentTool==="line"||t.slowState.currentTool==="lineBox"))return!1;if(t.slowState.bounds){let{x:r,y:o,width:s,height:a}=t.slowState.bounds,[c,u]=e[0];if(c<r||c>r+s||u<o||u>o+a)return!1}let n=t.selectedPoints[0];return n===0||n===t.polygon.points.length-1},commit(e,t,i){let n=t.line?t.line[1]:e[0];!i.Shift&&t.slowState.snapEnabled&&(Or(n,t,3),n=kl(n,t));let r=t.polygon.points;if(r.length===0)return{selectedPoints:[0],points:[n]};i.Shift;let o=t.selectedPoints[0],s=t.slowState.currentTool==="line"||t.slowState.currentTool==="lineBox";if(o===0)return~~r[0][0]===~~n[0]&&~~r[0][1]===~~n[1]?{selectedPoints:[0],points:r}:{selectedPoints:s?[]:[0],points:[n,...r]};let a=r[r.length-1];return~~a[0]===~~n[0]&&~~a[1]===~~n[1]?{selectedPoints:[r.length-1],points:r}:(t.line=null,{selectedPoints:s?[]:[r.length],points:[...r,n]})}};function ow(e,t){return Math.abs(e-t)}function Ei(e,t){let i=ow(e[0],t[0]),n=ow(e[1],t[1]);return Math.sqrt(i**2+n**2)}function Im(e,t){return[e[0]-t[0],e[1]-t[1]]}function fE(e,t){return e[0]*t[0]+e[1]*t[1]}function uw(e){return e[0]*e[0]+e[1]*e[1]}function vd(e,t){return uw(Im(e,t))}function dw(e,t,i,n){return n&&i&&(e<0?e=Math.max(e,-n.x-i.x):e>0&&(e=Math.min(e,n.x+n.width-i.x-i.width)),t<0?t=Math.max(t,-n.y-i.y):t>0&&(t=Math.min(t,n.y+n.height-i.y-i.height))),[e,t]}function hw(e,t){let i,n,r,o;var s=(f,m,g,y,x)=>{if(y<=g+1)return;let w=g,R=0,v=f*f;i=[m[g],m[y]],n=Im(i[1],i[0]);let S=uw(n),C,T,I,E,V;for(let Y=g+1;Y<y;Y++)C=Im(m[Y],i[0]),E=fE(C,n),E<=0?V=vd(m[Y],i[0]):S<=E?V=vd(m[Y],i[1]):(I=E/S,T=[i[0][0]+I*n[0],i[0][1]+I*n[1]],V=vd(m[Y],T)),!(V<=R)&&(w=Y,R=V);R>v&&(x[w]=1,s(f,m,g,w,x),s(f,m,w,y,x))};let a=e.length,c=[],u,l,d,h,p=t*t;for(r=[],o=[],r[0]=e[0],u=l=1,h=0;u<a;u++)vd(e[u],e[h])<p||(r[l++]=e[u],h=u);for(h<a-1&&(r[l++]=e[a-1]),o[0]=o[l-1]=1,s(t,r,0,l-1,o),u=d=0;u<l;u++)o[u]&&(c[d++]=r[u]);return c}function pE(e){if(e.length!==4)return!1;let t=1e-10,i=Math.min(...e.map(a=>a[0])),n=Math.max(...e.map(a=>a[0])),r=Math.min(...e.map(a=>a[1])),o=Math.max(...e.map(a=>a[1]));for(let a of e){let c=Math.abs(a[0]-i)<t||Math.abs(a[0]-n)<t,u=Math.abs(a[1]-r)<t||Math.abs(a[1]-o)<t;if(!c||!u)return!1}let s=[[i,r],[i,o],[n,r],[n,o]];for(let a of s)if(!e.some(c=>Math.abs(c[0]-a[0])<t&&Math.abs(c[1]-a[1])<t))return!1;return!0}function fw(e){let t=e.points.length,i=!1,n=[];if(t>1){e.iedges=[];let r=e.points[t-1];for(let o=0;o<t;o++){let s=r;if(r=e.points[o],r.length===6){let u=r[2],l=r[3],d=r[4],h=r[5];n.push([o,[r[0]+u,r[1]+l],[r[0]+d,r[1]+h]]),i=!0}let a=[r[0]-s[0],r[1]-s[1]],c=a[0]*a[0]+a[1]*a[1];c>0?e.iedges.push([a[0]/c,a[1]/c]):e.iedges.push([0,0])}}else t===1?e.iedges=[[0,0]]:e.iedges=null;e.isBezier=i,e.bezierLines=n}function mE(e,t){let i=1/0,n=null,r=-1,o=e.points.length;if(o<=1)return[null,i,r];let s=e.points[o-1];for(let a=0;a<o;a++){let c=s;s=e.points[a];let u=c[0]-t[0],l=c[1]-t[1],d=u*u+l*l;d<i&&(n=c,i=d,r=a===0?o-1:a-1)}return[n,i,r]}function xd(e){if(e.points.length>2){let t=Math.min(...e.points.map(o=>o[0])),i=Math.min(...e.points.map(o=>o[1])),n=Math.max(0,...e.points.map(o=>o[0])),r=Math.max(0,...e.points.map(o=>o[1]));e.boundingBox={x:t,y:i,width:n-t,height:r-i};return}e.boundingBox=null}function gE(e){return e[0]*e[0]+e[1]*e[1]}function sw(e,t){let i=1/0,n=null,r=-1,o=[],s=e.points.length;if(s<=1)return[null,i,o,r];if(e.iedges===null&&(fw(e),!e.iedges))return[null,i,o,r];let a=e.points[s-1];for(let c=0;c<s;c++){let u=a;a=e.points[c];let l=(t[0]-u[0])*e.iedges[c][0]+(t[1]-u[1])*e.iedges[c][1],d;l<=0?d=u:l<1?d=[(1-l)*u[0]+l*a[0],(1-l)*u[1]+l*a[1]]:d=a;let h=gE([d[0]-t[0],d[1]-t[1]]);h<i&&(n=d,i=h,o=[u,a],r=c===0?s-1:c-1)}return[n,i,o,r]}var Al={type:"bounding-box-corners",label:"Drag to resize",tools:["pointer","box"],modifiers:{Shift:"Maintain aspect ratio",Alt:"Scale from center",Meta:"Rotate"},isValid(e,t,i){if(t.transitionDirection=null,t.transitionRotate=!1,t.isOpen||!t.slowState.boxMode&&t.selectedPoints.length!==t.polygon.points.length||!t.polygon.boundingBox)return!1;let n=i.proximity*.5,r=i.proximity*5,o=e[0],s=t.polygon.boundingBox,a=s.x+n,c=s.x+s.width-n*2,u=s.y+n,l=s.y+s.height-n*2;if(o[0]>a&&o[0]<c&&o[1]>u&&o[1]<l)return!1;let d=[s.x+s.width,s.y+s.height],h=[s.x,s.y],p=[s.x+s.width,s.y],f=[s.x,s.y+s.height],m=["ne","nw","se","sw"],g={ne:p,nw:h,se:d,sw:f},y=[Ei(e[0],p),Ei(e[0],h),Ei(e[0],d),Ei(e[0],f)],x=Math.min(...y),w=y.indexOf(x),R=w===-1?null:m[w],v=R?g[R]:null;if(y[0]<r||y[1]<r||y[2]<r||y[3]<r){if(R){let[S,C]=o;(i.Meta||S>=v[0]-i.proximity*4&&C>=v[1]-i.proximity*4&&S<=v[0]+i.proximity*4&&C<=v[1]+i.proximity*4&&!(S>=v[0]-i.proximity*2&&C>=v[1]-i.proximity*2&&S<=v[0]+i.proximity*2&&C<=v[1]+i.proximity*2))&&(t.slowState.boxMode||(t.transitionRotate=!0)),t.transitionDirection=R}return!0}return!1},start(e,t,i){let n=e[0],r=t.polygon.boundingBox,o=[r.x+r.width,r.y+r.height],s=[r.x,r.y],a=[r.x+r.width,r.y],c=[r.x,r.y+r.height],u=["ne","nw","se","sw"],l=[Ei(e[0],a),Ei(e[0],s),Ei(e[0],o),Ei(e[0],c)],d=Math.min(...l),h=l.indexOf(d);t.transitionDirection=h!==-1?u[h]:null},transition(e,t,i){let n=t.polygon.boundingBox,r=t.transitionOrigin||e[0],[o,s]=e[0];if((i.Meta||t.transitionRotate)&&!t.slowState.boxMode){let x=[n.x+n.width/2,n.y+n.height/2],w=Math.atan2(r[1]-x[1],r[0]-x[0]),R=Math.atan2(s-x[1],o-x[0]),v=i.Shift,S=Math.PI/(i.Alt?4:12),C=R-w;v&&(C=Math.round(C/S)*S);let T=Math.cos(C),I=Math.sin(C),E=[];for(let V of t.polygon.points){let Y=V[0]-x[0],Q=V[1]-x[1],z=Y*T-Q*I,O=Y*I+Q*T,G=z+x[0],ee=O+x[1];E.push(V.length===6?[G,ee,V[2],V[3],V[4],V[5]]:[G,ee])}t.transitionPoints=E,xd({points:E,iedges:null,boundingBox:null,isBezier:!1,bezierLines:[]}),t.transitionBoundingBox=t.polygon.boundingBox?{...t.polygon.boundingBox,rotation:C}:null;return}let a=t.transitionDirection,c=a.includes("e")?1:-1,u=a.includes("s")?1:-1,l=!!i.Alt,d;if(l)d=[n.x+n.width/2,n.y+n.height/2];else switch(a){case"se":d=[n.x,n.y];break;case"sw":d=[n.x+n.width,n.y];break;case"ne":d=[n.x,n.y+n.height];break;case"nw":d=[n.x+n.width,n.y+n.height];break}let h=l?n.width/2:n.width,p=l?n.height/2:n.height,f,m;if(i.Shift||t.slowState.fixedAspectRatio){let x=c*h,w=u*p,R=o-d[0],v=s-d[1],S=x*x+w*w,C=S>0?(R*x+v*w)/S:1;C=Math.max(C,.01),f=C,m=C}else{let x=0,w=0;switch(a){case"se":x=o-r[0],w=s-r[1];break;case"sw":x=r[0]-o,w=s-r[1];break;case"ne":x=o-r[0],w=r[1]-s;break;case"nw":x=r[0]-o,w=r[1]-s;break}l&&(x*=2,w*=2),f=(n.width+x)/n.width,m=(n.height+w)/n.height}let g=[];for(let x of t.polygon.points){let w=x[0]-d[0],R=x[1]-d[1],v=w*f,S=R*m,C=v+d[0],T=S+d[1];g.push(x.length===6?[C,T,x[2],x[3],x[4],x[5]]:[C,T])}t.transitionPoints=g;let y={points:g,iedges:null,boundingBox:null,bezierLines:[],isBezier:!1};xd(y),t.transitionBoundingBox=y.boundingBox},commit(e,t,i){let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,t.transitionRotate=!1,{points:n}}},yE={type:"close-line-box",label:"Close Line Box",tools:["lineBox"],trigger:{type:"click"},isValid(e,t,i){return t.polygon.points.length===2&&t.lineBox!==null&&t.slowState.boxMode===!1},commit(e,t,i){return t.lineBox?{isOpen:!1,points:t.lineBox,tool:"pen"}:{}}},pw={type:"close-shape",label:"Close shape",tools:["pen","line"],trigger:{type:"click"},isValid(e,t,i){if(!t.isOpen||t.slowState.boxMode||t.selectedPoints.length!==1||t.polygon.points.length<2||i.Meta)return!1;let n=t.selectedPoints[0];if(n===0){let r=t.polygon.points[t.polygon.points.length-1];return Ei(e[0],r)<i.proximity}if(n===t.polygon.points.length-1){let r=t.polygon.points[0];return Ei(e[0],r)<i.proximity}return!1},commit(e,t,i){let n=t.selectedPoints[0];if(t.line=null,n===0)return{selectedPoints:[],points:t.polygon.points.slice(0).reverse(),isOpen:!1};if(n===t.polygon.points.length-1)return{selectedPoints:[],isOpen:!1}}},vE={type:"close-shape-line",label:"Close shape line",trigger:{type:"click"},tools:["pen"],isValid(e,t,i){return!t.isOpen||t.slowState.boxMode||t.polygon.points.length<3||!t.closestLinePoint||t.closestLineDistance>=i.proximity*2?!1:(t.closestLineIndex===0||(t.closestLineIndex,t.polygon.points.length-2),!0)},commit(e,t,i){return pw.commit(e,t,i)}},mw={type:"split-line",label:"Split line",tools:["pen"],isValid(e,t,i){let n=t.slowState.currentTool==="line";return i.Meta||n?!1:!!(t.closestLinePoint&&t.closestLineDistance<i.proximity)},transition(e,t,i){let n=e[0];!i.Shift&&t.slowState.snapEnabled&&(Or(n,t,3,t.closestLineIndex),n=kl(n,t));let r=t.transitionOrigin||n,[o,s]=n,a=t.polygon.points,c=[],u=o-r[0],l=s-r[1];for(let d=0;d<a.length;d++)if(c.push(a[d]),t.closestLineIndex===d){let h=t.closestLinePoint;c.push([h[0]+u,h[1]+l])}t.transitionPoints=c},commit(e,t,i){let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{selectedPoints:[t.closestLineIndex+1],points:n}}},bE={type:"cut-line",label:"Add new point",tools:["pen"],trigger:{type:"click"},modifiers:{Shift:"Cut line"},isValid(e,t,i){return t.slowState.boxMode?!1:mw.isValid(e,t,i)},commit(e,t,i){if(i.Shift&&!t.isOpen){let o=t.polygon.points,s=[],a=[],c=!1;for(let u=0;u<o.length;u++)c?a.push(o[u]):s.push(o[u]),t.closestLineIndex===u&&(c=!0);return{isOpen:!0,points:[...a,...s]}}let n=t.polygon.points,r=[];for(let o=0;o<n.length;o++)if(r.push(n[o]),t.closestLineIndex===o){let s=t.closestLinePoint;r.push(s)}return{points:r}}},xE={type:"delete-point",label:"Delete point",tools:["pointer","pen","lineBox","line"],trigger:{type:"key",key:"Backspace"},isValid(e,t,i){return t.selectedPoints.length>0&&t.slowState.canDelete},commit(e,t,i){let n=t.polygon.points.filter((r,o)=>!t.selectedPoints.includes(o));return{isOpen:n.length<3,selectedPoints:[],points:n,tool:t.slowState.boxMode?"box":void 0}}},wE={type:"deselect-bounding-box",label:"Deselect bounding box",tools:["pointer"],trigger:{type:"click"},isValid(e,t,i){return t.slowState.canDeselect&&!t.isOpen&&!t.slowState.boxMode&&t.selectedPoints.length>2&&t.selectedPoints.length===t.polygon.points.length},commit(e,t,i){return t.slowState.lastCreationTool==="pen"?{selectedPoints:[],tool:"pen"}:{selectedPoints:[]}}},SE={type:"deselect-draw",label:"Deselect draw",trigger:{type:"key",key:"Escape"},tools:["pointer","pen","box","lineBox","stamp","hand","pencil"],isValid(e,t,i){return t.slowState.canDeselect},commit(e,t,i){return{selectedPoints:[]}}},RE={type:"deselect-points",label:"Deselect points",trigger:{type:"click"},tools:["pointer","pen"],isValid(e,t,i){return t.selectedPoints.length>0&&t.slowState.canDeselect},commit(e,t,i){return{selectedPoints:[]}}},CE={type:"draw-shape",label:"Draw shape",tools:["pen","pencil"],modifiers:{Alt:"Freehand drawing"},isValid(e,t,i){let n=i.Alt||t.slowState.currentTool==="pencil";return!!(t.isOpen&&(t.line||t.polygon.points.length===0)&&n)},start(e,t,i){t.transitionDraw=[]},transition(e,t,i){let n=e[0];!i.Shift&&t.slowState.snapEnabled&&(Or(n,t,3),n=kl(n,t)),t.transitionDraw.push(n)},commit(e,t,i){let n=t.slowState.currentTool==="pencil"?t.scale*1.5:t.scale*3,r=hw(t.transitionDraw,n);if(t.transitionDraw=[],r.length===0)return;let o=!0,s=3,a=t.selectedPoints[0],c=[...t.polygon.points,...r],u=c[0],l=c[c.length-1];a===0&&(u=c[c.length-1],l=c[0],c=[...r,...t.polygon.points.slice(0).reverse()]);let d=[c.length-1],h=Ei(u,l)/i.proximity<s,p="";return h&&(o=!1,p="pointer",d=c.map((f,m)=>m)),{isOpen:o,tool:p||void 0,points:c,selectedPoints:d}}},TE={type:"move-line",label:"Move line",tools:["line"],isValid(e,t,i){return t.slowState.currentTool!=="line"||t.slowState.boxMode?!1:!!(t.closestLinePoint&&t.closestLineDistance<i.proximity)},transition(e,t){let i=t.transitionOrigin,n=t.polygon.boundingBox,r=e[0],[o,s]=dw(r[0]-i[0],r[1]-i[1],n,t.slowState.bounds);t.transitionPoints=t.polygon.points.map(a=>a.length===6?[a[0]+o,a[1]+s,a[2],a[3],a[4],a[5]]:[a[0]+o,a[1]+s])},commit(e,t,i){let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:n}}},PE={type:"move-point",label:"Move point",tools:["pointer","pen","line"],modifiers:{Shift:"Constrain to axis"},isValid(e,t,i){if(i.Alt)return!1;let n=i.proximity,[r,o]=e[0],s=t.polygon.points,a=t.selectedPoints;for(let c=0;c<s.length;c++){let u=s[c],l=u[0]-r,d=u[1]-o;if(l*l+d*d<n*n)return!0}return!1},start(e,t,i){if(t.slowState.boxMode)return Al.start?Al.start(e,t,i):void 0;if(t.selectedPoints.length<2){let[n,r,o]=mE(t.polygon,e[0]);return{selectedPoints:[o]}}if(t.slowState.closestPoint&&!t.selectedPoints.includes(t.slowState.closestPoint))return{selectedPoints:[t.slowState.closestPoint]}},transition(e,t,i){if(t.slowState.boxMode)return Al.transition(e,t,i);let n=t.transitionOrigin,r=e[0];!i.Shift&&t.slowState.snapEnabled&&(Or(r,t,3),r=kl(r,t));let[o,s]=r,a=t.polygon.points,c=t.selectedPoints;if(t.slowState.closestPoint){let h=t.slowState.closestPoint;c.indexOf(h)===-1&&(c=[h])}let u=[],l=o-n[0],d=s-n[1];i.Shift&&!t.slowState.snapEnabled&&(Math.abs(l)>Math.abs(d)?d=0:l=0);for(let h=0;h<a.length;h++){let p=c.indexOf(h)!==-1,f=a[h];p?f.length===6?u.push([f[0]+l,f[1]+d,f[2],f[3],f[4],f[5]]):u.push([f[0]+l,f[1]+d]):u.push(f)}t.transitionPoints=u},commit(e,t,i){if(t.slowState.boxMode)return Al.commit(e,t,i);let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:n}}},gw={type:"move-bounding-box",label:"Move bounding box",tools:["pointer"],isValid(e,t,i){let n=t.polygon.points.length,r=n===t.selectedPoints.length,o=t.polygon.boundingBox;if(n<1||!r||!o)return!1;let s=e[0],a=s[0],c=s[1];return a>=o.x&&a<=o.x+o.width&&c>=o.y&&c<=o.y+o.height},transition(e,t,i){let n=t.slowState.bounds,r=t.transitionOrigin,o=t.polygon.boundingBox,s=e[0],[a,c]=dw(s[0]-r[0],s[1]-r[1],o,n);t.transitionPoints=t.polygon.points.map(u=>u.length===6?[u[0]+a,u[1]+c,u[2],u[3],u[4],u[5]]:[u[0]+a,u[1]+c]),o&&(t.transitionBoundingBox={x:o.x+a,y:o.y+c,width:o.width,height:o.height})},commit(e,t,i){let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:n}}},yw={type:"move-shape",label:"Move shape",tools:["pointer","hand","box"],isValid(e,t,i){return i.Shift?!1:t.slowState.pointerInsideShape&&(!t.isOpen||t.line===null)},transition(e,t,i){gw.transition(e,t,i)},commit(e,t,i){let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:n}}},AE={type:"nudge-right",label:"Nudge right",trigger:{type:"key",key:"ArrowRight"},tools:["pointer","pen"],modifiers:{Shift:"Nudge right more"},isValid(e,t,i){return t.selectedPoints.length>0},commit(e,t,i){let n=i.proximity*.3,r=t.polygon.points,o=t.selectedPoints;return{points:r.map((s,a)=>o.includes(a)?[s[0]+(i.Shift?4*n:1),s[1]]:s)}}},IE={type:"nudge-left",label:"Nudge left",trigger:{type:"key",key:"ArrowLeft"},tools:["pointer","pen"],modifiers:{Shift:"Nudge left more"},isValid(e,t,i){return t.selectedPoints.length>0},commit(e,t,i){let n=i.proximity*.3,r=t.polygon.points,o=t.selectedPoints;return{points:r.map((s,a)=>o.includes(a)?[Math.max(0,s[0]-(i.Shift?4*n:1)),s[1]]:s)}}},EE={type:"nudge-up",label:"Nudge up",trigger:{type:"key",key:"ArrowUp"},tools:["pointer","pen"],modifiers:{Shift:"Nudge up more"},isValid(e,t,i){return t.selectedPoints.length>0},commit(e,t,i){let n=i.proximity*.3,r=t.polygon.points,o=t.selectedPoints;return{points:r.map((s,a)=>{if(o.includes(a)){let c=s[0],u=Math.max(0,s[1]-(i.Shift?4*n:1));return s.length===6?[c,u,s[2],s[3],s[4],s[5]]:[c,u]}return s})}}},ME={type:"nudge-down",label:"Nudge down",trigger:{type:"key",key:"ArrowDown"},tools:["pointer","pen"],modifiers:{Shift:"Nudge down more"},isValid(e,t,i){return t.selectedPoints.length>0},commit(e,t,i){let n=i.proximity*.3,r=t.polygon.points,o=t.selectedPoints;return{points:r.map((s,a)=>{let c=s[0],u=Math.max(0,s[1]+(i.Shift?4*n:1));return o.includes(a)?s.length===6?[c,u,s[2],s[3],s[4],s[5]]:[c,u]:s})}}},kE={type:"select-multiple-points",label:"Drag to select multiple points",tools:["pointer","pen"],isValid(e,t,i){return t.slowState.currentTool==="line"&&t.polygon.points.length>=2?!0:!(t.slowState.boxMode||t.line)},transition(e,t,i){if(!t.transitionOrigin)return;let n=t.transitionOrigin[0],r=t.transitionOrigin[1],o=e[0][0],s=e[0][1],a=Math.min(n,o),c=Math.min(r,s),u=Math.abs(n-o),l=Math.abs(r-s);t.selectionBox={x:a,y:c,width:u,height:l}},commit(e,t,i){if(t.selectionBox){let n=[];i.Shift&&n.push(...t.selectedPoints);for(let r=0;r<t.polygon.points.length;r++){let o=t.polygon.points[r];o[0]>=t.selectionBox.x&&o[0]<=t.selectionBox.x+t.selectionBox.width&&o[1]>=t.selectionBox.y&&o[1]<=t.selectionBox.y+t.selectionBox.height&&n.push(r)}return{selectedPoints:n}}}},aw=10,OE={type:"select-point",label:"Select point",trigger:{type:"click"},tools:["pointer","pen","line"],modifiers:{Shift:"Add to selection"},isValid(e,t,i){let n=-1;if(t.selectedPoints.length===1){let a=t.selectedPoints[0];a===0&&(n=t.polygon.points.length-1),a===t.polygon.points.length-1&&(n=0)}if(t.slowState.boxMode)return!1;let[r,o]=e[0],s=t.polygon.points;for(let a=0;a<s.length;a++){let c=s[a],u=c[0]-r,l=c[1]-o;if(u*u+l*l<aw*aw)return n!==a}return!1},commit(e,t,i){let n=i.Shift?[...t.selectedPoints]:[],[r,o]=e[0],s=t.polygon.points.map((a,c)=>{let u=a[0]-r,l=a[1]-o;return[u*u+l*l,c]}).sort((a,c)=>a[0]-c[0])[0];if(t.line=null,!n.includes(s[1]))n.push(s[1]);else if(i.Shift)return{selectedPoints:n.filter(a=>a!==s[1])};return{selectedPoints:n}}},LE={type:"select-shape",label:"Select shape",trigger:{type:"click"},tools:["pointer","pen"],isValid(e,t,i){return yw.isValid(e,t,i)},commit(e,t,i){return{tool:"pointer",selectedPoints:t.polygon.points.map((n,r)=>r)}}},_E={type:"snap",label:"Smart snap",tools:["pointer","pen","line"],modifiers:{Shift:"Disable snapping"},isValid(e,t,i){return i.Shift||!t.slowState.snapEnabled||t.slowState.transitioning&&t.slowState.transitionIntentType!=="snap"||!t.slowState.snapToPoints&&!t.slowState.snapToLines&&!t.slowState.snapToIntersections?!1:Or(e[0],t,0)!==null},start(e,t,i){Or(e[0],t,5)},transition(e,t,i){let n=Or(e[0],t,5);n&&(t.pointer=n)},commit(e,t,i){cw(t)}},FE={type:"stamp-fixed-size-shape",label:"Stamp fixed size shape",trigger:{type:"click"},tools:["stamp"],isValid(e,t,i){return t.slowState.selectedStamp!==null},commit(e,t,i){let n=e[0],r=t.slowState.selectedStamp;if(!n||!r)return;let o=n[0],s=n[1],a=[],c=Math.min(...r.points.map(m=>m[0])),u=Math.min(...r.points.map(m=>m[1])),l=Math.max(...r.points.map(m=>m[0]))-c,d=Math.max(...r.points.map(m=>m[1]))-u,h=4*i.proximity,p=l/h;d/h>p&&(p=d/h),o-=l/p/2,s-=d/p/2;let f=0;for(let m of r.points)a.push([o+(m[0]-c)/p,s+(m[1]-u)/p]),f++;return{isOpen:!1,points:a}}},vw={id:"square",open:!1,points:[[0,0],[0,100],[100,100],[100,0]]},NE={id:"triangle",open:!1,points:[[50,0],[0,100],[100,100]]},DE={id:"pentagon",open:!1,points:[[0,0],[0,100],[100,100],[100,0],[50,-50]]},zE={id:"hexagon",open:!1,points:[[50,0],[0,25],[0,75],[50,100],[100,75],[100,25]]},BE={id:"circle",open:!1,points:[[948.949,571.107],[954.545,500],[954.545,500],[948.949,428.893],[948.949,428.893],[932.298,359.538],[932.298,359.538],[905.003,293.641],[905.003,293.641],[867.735,232.825],[867.735,232.825],[821.412,178.588],[821.412,178.588],[767.175,132.265],[767.175,132.265],[706.359,94.997],[706.359,94.997],[640.462,67.702],[640.462,67.702],[571.107,51.051],[571.107,51.051],[500,45.455],[500,45.455],[428.893,51.051],[428.893,51.051],[359.538,67.702],[359.538,67.702],[293.641,94.997],[293.641,94.997],[232.825,132.265],[232.825,132.265],[178.588,178.588],[178.588,178.588],[132.265,232.825],[132.265,232.825],[94.997,293.641],[94.997,293.641],[67.702,359.538],[67.702,359.538],[51.051,428.893],[51.051,428.893],[45.455,500],[45.455,500],[51.051,571.107],[51.051,571.107],[67.702,640.462],[67.702,640.462],[94.997,706.359],[94.997,706.359],[132.265,767.175],[132.265,767.175],[178.588,821.412],[178.588,821.412],[232.825,867.735],[232.825,867.735],[293.641,905.003],[293.641,905.003],[359.538,932.298],[359.538,932.298],[428.893,948.949],[428.893,948.949],[500,954.545],[500,954.545],[571.107,948.949],[571.107,948.949],[640.462,932.298],[640.462,932.298],[706.359,905.003],[706.359,905.003],[767.175,867.735],[767.175,867.735],[821.412,821.412],[821.412,821.412],[867.735,767.175],[867.735,767.175],[905.003,706.359],[905.003,706.359],[932.298,640.462],[932.298,640.462],[948.949,571.107]]},VE={type:"stamp-shape",label:"Stamp shape",tools:["stamp","box"],modifiers:{Shift:"Maintain aspect ratio"},isValid(e,t,i){return!(t.polygon.points.length&&!t.slowState.canDelete)},start(e,t,i){let n=e[0],r=t.slowState.selectedStamp||vw;if(n){let o=n[0],s=n[1],a=[],c=Math.min(...r.points.map(m=>m[0])),u=Math.min(...r.points.map(m=>m[1])),l=Math.max(...r.points.map(m=>m[0]))-c,d=Math.max(...r.points.map(m=>m[1]))-u,h=l/32;d/32>h&&(h=d/32);let p=[],f=0;for(let m of r.points)p.push(f),a.push([o+(m[0]-c)/h,s+(m[1]-u)/h]),f++;return t.transitionPoints=a,{isOpen:!1,selectedPoints:p,points:a}}},transition(e,t,i){if(!t.transitionOrigin)return;let n=t.polygon.boundingBox,r=[n.x,n.y],o=t.transitionOrigin||e[0],[s,a]=e[0],c=t.transitionOrigin[0],u=t.transitionOrigin[1],l=e[0][0],d=e[0][1],h=l-c-32,p=d-u-32;if(i.Shift||t.slowState.fixedAspectRatio){let x=n.width/n.height;Math.abs(n.width/h)>Math.abs(n.height/p)?p=h/x:h=p*x}let f=(n.width+h)/n.width,m=(n.height+p)/n.height,g=[];for(let x of t.polygon.points){let w=x[0]-r[0],R=x[1]-r[1],v=w*f,S=R*m,C=v+r[0],T=S+r[1];if(x.length===6){g.push([C,T,x[2],x[3],x[4],x[5]]);continue}g.push([C,T])}t.transitionPoints=g;let y={points:g,iedges:null,boundingBox:null,bezierLines:[],isBezier:!1};xd(y),t.transitionBoundingBox=y.boundingBox},commit(e,t,i){return{isOpen:!1,points:t.transitionPoints,tool:"pointer"}}},WE={type:"toggle-snap",label:"Toggle snapping",trigger:{type:"key",key:"`"},tools:["pointer","pen","line","lineBox","box","stamp"],modifiers:{},isValid(e,t,i){return!0},commit(e,t,i){let n=!t.slowState.snapEnabled;return t.slowState.snapEnabled=n,n||(t.snapTargets=[],t.activeSnapGuides=[],t.isSnapping=!1,t.snapPoint=null),{}}};function bw(e={}){let t=e.proximityThreshold||10,i=e.closestLinePointFill||{selected:"#fff",unselected:"rgba(255, 255, 255, .5)"},n=e.closestLinePointStroke||{selected:"#000",unselected:"rgba(0, 0, 0, .5)"};function r(f,m,g){f&&m.transitionBoundingBox&&g.transitioning&&(f.setAttribute("x",""+m.transitionBoundingBox.x),f.setAttribute("y",""+m.transitionBoundingBox.y),f.setAttribute("width",""+m.transitionBoundingBox.width),f.setAttribute("height",""+m.transitionBoundingBox.height))}function o(f,m,g){f&&m.polygon.boundingBox&&g.showBoundingBox&&(f.setAttribute("x",""+m.polygon.boundingBox.x),f.setAttribute("y",""+m.polygon.boundingBox.y),f.setAttribute("width",""+m.polygon.boundingBox.width),f.setAttribute("height",""+m.polygon.boundingBox.height))}function s(f,m,g){if(f&&m.polygon.boundingBox&&g.showBoundingBox){let y=m.transitionBoundingBox||m.polygon.boundingBox;y.rotation?(f.style.transformOrigin=`${y.x+y.width/2}px ${y.y+y.height/2}px`,f.style.transform=`rotate(${Math.round(100*y.rotation*(180/Math.PI))/100}deg)`):f.style.transform="",f.setAttribute("points",[[y.x,y.y],[y.x+y.width,y.y],[y.x+y.width,y.y+y.height],[y.x,y.y+y.height]].map(x=>x.join(",")).join(" "))}}function a(f,m,g){f&&m.transitionPoints&&g.transitioning&&f.setAttribute("points",m.transitionPoints.map(y=>y.join(",")).join(" "))}function c(f,m,g){f&&m.closestLinePoint&&g.hasClosestLine&&(f.setAttribute("cx",""+m.closestLinePoint[0]),f.setAttribute("cy",""+m.closestLinePoint[1]),f.setAttribute("fill",m.closestLineDistance<t?i.selected:i.unselected),f.setAttribute("stroke",m.closestLineDistance<t?n.selected:n.unselected))}function u(f,m,g){f&&m.closestLinePoint&&g.hasClosestLine&&f.setAttribute("transform",`translate(${m.closestLinePoint[0]}, ${m.closestLinePoint[1]})`)}function l(f,m,g){f&&m.selectionBox&&g.transitionIntentType==="select-multiple-points"&&(f.setAttribute("x",""+m.selectionBox.x),f.setAttribute("y",""+m.selectionBox.y),f.setAttribute("width",""+m.selectionBox.width),f.setAttribute("height",""+m.selectionBox.height))}function d(f,m,g){if(f&&m.pointer&&m.selectedPoints.length)if(g.actionIntentType==="close-shape"||g.actionIntentType==="close-shape-line"){let y=m.polygon.points[0],x=m.polygon.points[m.polygon.points.length-1];y&&x&&f.setAttribute("points",`${y.join(",")} ${x.join(",")}`)}else if(m.line)f.setAttribute("points",`${m.line[0].join(",")} ${m.line[1].join(",")}`);else{let y=m.polygon.points[m.selectedPoints[0]];y&&y.length&&f.setAttribute("points",`${m.pointer[0]},${m.pointer[1]} ${y.join(",")}`)}}function h(f,m,g,y=3){f&&m.transitionDraw.length&&f.setAttribute("points",hw(m.transitionDraw,y*m.scale).map(x=>x.join(",")).join(" "))}function p(f,m){f&&m.lineBox&&f.setAttribute("points",m.lineBox.map(g=>g.join(",")).join(" "))}return{updateTransitionBoundingBox:r,updateClosestLinePointTransform:u,updateBoundingBoxPolygon:s,updateBoundingBox:o,updateTransitionShape:a,updateClosestLinePoint:c,updateSelectBox:l,updatePointLine:d,updateDrawPreview:h,updateLineBox:p}}var $E=typeof window<"u"?window.requestAnimationFrame:e=>setTimeout(e,16),jE=typeof window<"u"?window.cancelAnimationFrame:e=>clearTimeout(e);function lw(e){return!["hand","pointer"].includes(e)}var El=[Al,PE,TE,mw,yw,gw,CE,kE,VE,_E],HE=El.length,Il=[yE,FE,pw,OE,vE,bE,hE,LE,wE,RE],Bs=[SE,AE,IE,EE,ME,xE,WE],Ml={};El.forEach(e=>{Ml[e.type]=e});Il.forEach(e=>{Ml[e.type]=e});Bs.forEach(e=>{Ml[e.type]=e});var bd=10;function xw(e,t){let i=e?.fixedAspectRatio||!1,n=e?.tool||"pointer",r=e?.keyboardShortcutMapping||{},o=typeof e?.keyboardShortcutsEnabled=="boolean"?e.keyboardShortcutsEnabled:!0,s=e?.enabledTools||["pointer","pen","box","lineBox","stamp","hand","line","pencil"],a=e?.emitter||oE(),c={V:"pointer",P:"pen",B:"box",L:"lineBox",S:"stamp",H:"hand",N:"line",D:"pencil",...e?.toolMap||{}},u={shapeId:e?.id||null,noShape:e===null,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:bd},bounds:e?.bounds||null,showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},pointerInsideShape:!1,closestPoint:null,selectedStamp:null,transitionModifiers:null,boxMode:!1,bezierLines:[],fixedAspectRatio:i,isToolSwitchingLocked:!1,canDeselect:!1,canDelete:!0,cursor:"default",enabledTools:s,currentTool:n,lastCreationTool:lw(n)?n:null,snapEnabled:!1,snapToPoints:!0,snapToLines:!0,snapToIntersections:!0,snapToGrid:!1,snapToParallel:!0},l={isOpen:typeof e?.open=="boolean"?e.open:!1,polygon:{points:e?.points||[],iedges:null,boundingBox:null,isBezier:null,bezierLines:[]},scale:1,selectedPoints:[],pointer:null,line:null,lineBox:null,transitionPoints:null,transitionOrigin:null,transitionBoundingBox:null,closestLinePoint:null,closestLineDistance:0,closestLineIndex:-1,transitionRotate:!1,transitionDirection:null,transitionBezierLine:null,selectionBox:null,slowState:u,transitionDraw:[],isPanning:!1,panStart:null,snapTargets:[],activeSnapGuides:[],snapThreshold:15,isSnapping:!1,snapPoint:null},d={startTime:0,time:0,shouldUpdate:!1,nextSlowState:null,renderFunc:()=>{},setStateFunc:()=>{},animationFrame:0,actionIntent:null,transitionIntent:null,undoStack:[],undoStackPointer:-1},h={isPressed:!1,isClicking:!1,lastPress:null,pressTimeout:0,noTransition:!1};function p(A){fw(A),A.isBezier&&f({bezierLines:A.bezierLines}),xd(A),d.shouldUpdate=!0}p(l.polygon);function f(A){let F=Object.keys(A);if(F.length===0)return;let J=d.nextSlowState||l.slowState,re=!1;if(F.length===1&&F[0]==="validIntentKeys"&&J.validIntentKeys){let ue=Object.keys(J.validIntentKeys),N=Object.keys(A.validIntentKeys||{});if(ue.length===N.length){for(let k of ue)J.validIntentKeys[k]!==A.validIntentKeys[k]&&(re=!0);if(!re)return}}if(A.selectedPoints){let ue=Array.from(J.selectedPoints||[]),N=Array.from(A.selectedPoints||[]);if(ue.length===N.length){for(let k of ue)if(!N.includes(k)){re=!0;break}}else re=!0;re||delete A.selectedPoints}if(!(F.length===1&&F.includes("hasClosestLine")&&A.hasClosestLine===J.hasClosestLine)){if(d.nextSlowState){d.nextSlowState={...d.nextSlowState,...A};return}d.nextSlowState={...l.slowState,...A}}}function m(A,F=!1){d.time+=A,g(),y(),I(),T(),C(),V(),Q(),Y(),S(),d.renderFunc(l,l.slowState,A),!F&&(d.animationFrame=$E(m))}function g(){if(d.shouldUpdate&&(t({id:l.slowState.shapeId||void 0,open:l.isOpen,points:l.polygon.points}),d.shouldUpdate=!1),d.nextSlowState&&d.nextSlowState!==l.slowState){let A=Object.keys(l.slowState),F={},J={},re=!1;for(let ue of A){let N=l.slowState[ue],k=d.nextSlowState[ue];N!==k?(re=!0,F[ue]=k,J[ue]=k):F[ue]=N}re&&(l.slowState=F,d.nextSlowState=null,d.setStateFunc(l.slowState),e?.customSetState?.(J))}}function y(){let A=!l.slowState.noShape&&l.polygon.points.length>2&&l.selectedPoints.length===l.polygon.points.length&&!l.isOpen&&(l.slowState.currentTool==="pointer"||l.slowState.currentTool==="box");l.slowState.showBoundingBox!==A&&f({showBoundingBox:A})}function x(A){l.selectedPoints=A.selectedPoints,f({selectedPoints:A.selectedPoints}),l.polygon.points=A.points,l.polygon.boundingBox=null,l.polygon.iedges=null,l.polygon.isBezier=null,p(l.polygon),f({closestPoint:null}),(A.isOpen===!0||A.isOpen===!1)&&(l.isOpen=A.isOpen,d.shouldUpdate=!0)}function w(){if(d.undoStackPointer===-1)return;d.undoStackPointer--;let A=d.undoStack[d.undoStackPointer];x(A)}function R(){if(d.undoStackPointer===d.undoStack.length-1)return;d.undoStackPointer++;let A=d.undoStack[d.undoStackPointer];x(A)}function v(A){d.undoStackPointer++,d.undoStack[d.undoStackPointer]=A,d.undoStack.length>15&&(d.undoStack.shift(),d.undoStackPointer--)}function S(){f({boxMode:pE(l.polygon.points||[])})}function C(){if(!l.pointer||l.slowState.noShape){f({pointerInsideShape:!1});return}let[A,F]=l.pointer,J=l.polygon.points,re=l.polygon.boundingBox;if(!re){f({pointerInsideShape:!1});return}if(A<re.x||A>re.x+re.width||F<re.y||F>re.height+re.y){f({pointerInsideShape:!1});return}let ue=!1;for(let N=0,k=J.length-1;N<J.length;k=N++)J[N][1]>F!=J[k][1]>F&&A<(J[k][0]-J[N][0])*(F-J[N][1])/(J[k][1]-J[N][1])+J[N][0]&&(ue=!ue);f({pointerInsideShape:ue})}function T(){if(l.slowState.noShape||!l.pointer||l.slowState.transitioning||!l.polygon.points||l.polygon.points.length===0)return;let[A,F]=l.pointer,J=l.polygon.points.map((re,ue)=>{let N=re[0]-A,k=re[1]-F;return[N*N+k*k,ue]}).sort((re,ue)=>re[0]-ue[0]);J.length&&f({closestPoint:J[0][1]})}function I(){if(!l.pointer||l.slowState.transitioning)return;if(l.slowState.noShape){l.closestLineIndex=-1,l.closestLinePoint=null,l.closestLineDistance=0;return}let[A,F,J,re]=sw(l.polygon,l.pointer),ue=_e()*_e();F<ue&&(!l.isOpen||l.slowState.currentTool==="line"||l.polygon.points.length-1!==re)?(l.closestLinePoint=A,l.closestLineDistance=Math.sqrt(F),l.closestLineIndex=re,f({hasClosestLine:!0})):(l.closestLinePoint=null,l.closestLineDistance=0,l.closestLineIndex=-1,f({hasClosestLine:!1}))}function E(A,F=null){let J={},re=F||(l.pointer?[l.pointer[0],l.pointer[1]]:null);for(let ue of[...El,...Il,...Bs])ue.tools.includes(A)&&(re&&ue.isValid([re],l,z())?J[ue.type]=ue.label:re||(J[ue.type]=ue.label));return J}function V(){if(l.slowState.transitioning||l.slowState.noShape||!l.pointer||!Array.isArray(l.pointer)||l.pointer.length<2||typeof l.pointer[0]!="number"||typeof l.pointer[1]!="number")return;let A=l.slowState.currentTool;vt(A);let F=!1;for(let ue=0;ue<HE;ue++){let N=El[ue];if(N.tools.includes(A)&&N.isValid(h.isPressed?[h.lastPress]:[l.pointer],l,z())){if(d.transitionIntent===N){F=!0;break}f({transitionIntentType:N.type}),d.transitionIntent=N,F=!0;break}}F||d.transitionIntent&&(f({transitionIntentType:null}),d.transitionIntent=null);let J=!1;for(let ue=0;ue<Il.length;ue++){let N=Il[ue];if(N.tools.includes(A)&&G(N)){if(d.actionIntent===N){J=!0;break}f({actionIntentType:N.type}),d.actionIntent=N,J=!0;break}}J||d.actionIntent&&(d.actionIntent=null,f({actionIntentType:null}));let re={};for(let ue=0;ue<Bs.length;ue++){let N=Bs[ue];N.trigger.type==="key"&&G(N)&&(re[N.trigger.key]=N.label)}f({validIntentKeys:re})}function Y(){let A=l.pointer;if(l.lineBox=null,!A||K()||l.polygon.points.length!==2)return;let[F,J]=A,[re,ue]=l.polygon.points[0],[N,k]=l.polygon.points[1],[H,X,ge,Ee]=sw(l.polygon,A);if(!H)return;let Ie=F-H[0],_=J-H[1],j=[re,ue],pe=[N,k],se=[pe[0]+Ie,pe[1]+_],de=[j[0]+Ie,j[1]+_];l.lineBox=[j,pe,se,de]}function Q(){let A=l.pointer;if(!A||!K()||l.slowState.noShape)return;let F=l.selectedPoints[0],J=A;if(l.slowState.snapEnabled&&!l.slowState.modifiers.Shift?(Or(A,l,5),J=kl(A,l)):cw(l),l.line=[l.polygon.points[F],J],l.slowState.modifiers.Shift){let re=0;if(l.polygon.points.length>1){let _=l.selectedPoints[0];_===0?re=Math.atan2(l.polygon.points[1][1]-l.polygon.points[0][1],l.polygon.points[1][0]-l.polygon.points[0][0]):re=Math.atan2(l.polygon.points[_-1][1]-l.polygon.points[_][1],l.polygon.points[_-1][0]-l.polygon.points[_][0])}let ue=A[0]-l.polygon.points[F][0],N=A[1]-l.polygon.points[F][1],k=Math.atan2(N,ue),H=Math.PI/4,X=Math.round((k-re)/H)*H+re,ge=Ei(l.polygon.points[F],A),Ee=Math.cos(X)*ge+l.polygon.points[F][0],Ie=Math.sin(X)*ge+l.polygon.points[F][1];l.line[1]=[Ee,Ie]}}function z(){return l.slowState.modifiers}function O(A){let F=A.commit([h.lastPress],l,z());a.emit("polygons.end-transition",{transitionIntent:A.type,response:F}),F&&(F.tool&&Pe(F.tool),F.selectedPoints&&(l.selectedPoints=F.selectedPoints,f({selectedPoints:F.selectedPoints})),F.points&&(l.polygon.points=F.points,l.polygon.boundingBox=null,l.polygon.iedges=null,l.polygon.isBezier=null,l.transitionBoundingBox=null,p(l.polygon),f({closestPoint:null,selectedStamp:null})),(F.isOpen===!0||F.isOpen===!1)&&(l.isOpen=F.isOpen,d.shouldUpdate=!0),v({isOpen:l.isOpen,points:l.polygon.points,selectedPoints:l.selectedPoints}),vt(l.slowState.currentTool)),f({transitionModifiers:null})}function G(A){if(!A.tools.includes(l.slowState.currentTool))return!1;let F=[];return l.pointer&&Array.isArray(l.pointer)&&l.pointer.length>=2&&typeof l.pointer[0]=="number"&&typeof l.pointer[1]=="number"&&(F=[l.pointer]),A.isValid(F,l,z())}function ee(A){A==="Delete"&&(A="Backspace");let F=l.slowState.currentTool;for(let J of Bs)if(!(J.trigger.type!=="key"||J.trigger.key!==A)&&J.tools.includes(F)&&G(J))return O(J),!0;return!1}function K(){let A=l.polygon.points,F=l.pointer;if(!l.isOpen||!A.length||l.selectedPoints.length!==1||!F)return!1;let J=l.selectedPoints[0],re=J===0,ue=J===A.length-1;return re||ue}let ne={reset(){f({modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:bd}})},getForType(A){let F={};if(!A)return F;let J=Ml[A];return!J||!J.modifiers?F:J.modifiers},set(A){A!=="Shift"&&A!=="Alt"&&A!=="Meta"||f({modifiers:{...d.nextSlowState?.modifiers||l.slowState.modifiers,[A]:!0}})},unset(A){A!=="Shift"&&A!=="Alt"&&A!=="Meta"||f({modifiers:{...d.nextSlowState?.modifiers||l.slowState.modifiers,[A]:!1}})}},oe={set(A){let F=A?A.id==="square"||A.id==="rectangle":!1;f({selectedStamp:A,boxMode:F})},clear(){oe.set(null)},square(){oe.set(vw)},triangle(){oe.set(NE)},pentagon(){oe.set(DE)},hexagon(){oe.set(zE)},circle(){oe.set(BE)}},we={down(A){let F=r[A]||A;if(F==="Shift"||F==="Alt"||F==="Meta")return ne.set(F),!0;if(F==="Control")return ne.set("Meta"),!0;if(F==="z"&&l.slowState.modifiers.Meta)return l.slowState.modifiers.Shift?R():w(),!0;if(!l.slowState.modifiers.Meta&&!l.slowState.modifiers.Alt&&!l.slowState.transitioning){if(!o)return;let J=F.toUpperCase();if(c[J]){let re=c[J];return Pe(re),!0}}return ee(F)},up(A){let F=r[A]||A;if(F==="Control"){ne.unset("Meta");return}F!=="Shift"&&F!=="Alt"&&F!=="Meta"||ne.unset(F)}};function ae(A){l.scale=A,f({modifiers:{...d.nextSlowState?.modifiers||l.slowState.modifiers,proximity:A*bd}})}function _e(){return bd*l.scale}let ze={set:A=>{d.renderFunc=A},start:(A,F)=>{d.startTime=performance.now(),d.time=0,A&&(d.renderFunc=A),F&&(F(l.slowState),d.setStateFunc=F),m(0)},stop:()=>{d.animationFrame&&(jE(d.animationFrame),d.animationFrame=0)},step:(A=16)=>{m(A)}};function ie(A){if(!A||!Array.isArray(A)||A.length===0)return;let F=A[0];if(!(!F||!F[0]&&F[0]!==0||!F[1]&&F[1]!==0)&&!(Number.isNaN(F[0])||Number.isNaN(F[1]))){if(l.pointer=F,l.slowState.transitioning)d.transitionIntent&&(d.transitionIntent.transition(A,l,z()),a.emit("polygons.transition",{transitionIntent:d.transitionIntent.type}));else if(h.isPressed&&!h.noTransition&&h.lastPress&&l.pointer&&(!h.isClicking||Ei(h.lastPress,l.pointer)>10))if(clearTimeout(h.pressTimeout),h.isClicking=!1,d.transitionIntent){if(l.transitionOrigin=h.lastPress,f({transitioning:!0}),d.transitionIntent.start){let J=d.transitionIntent.start([h.lastPress],l,z());J&&(J.selectedPoints&&(l.selectedPoints=J.selectedPoints,f({selectedPoints:J.selectedPoints})),(J.isOpen===!0||J.isOpen===!1)&&(l.isOpen=J.isOpen,d.shouldUpdate=!0),J.points&&(l.polygon.points=J.points,l.polygon.boundingBox=null,l.polygon.iedges=null,p(l.polygon),f({closestPoint:null})))}f({transitionModifiers:d.transitionIntent.modifiers||null}),a.emit("polygons.start-transition",{transitionIntent:d.transitionIntent.type}),d.transitionIntent.transition([h.lastPress],l,z()),a.emit("polygons.transition",{transitionIntent:d.transitionIntent.type})}else h.noTransition=!0}}function Re(){l.pointer=null,l.slowState.transitioning||(h.isPressed=!1,h.isClicking=!1,h.lastPress=null,f({transitionIntentType:null,actionIntentType:null}),d.transitionIntent=null,d.actionIntent=null)}function Be(){h.isClicking=!0,h.isPressed=!0,h.lastPress=l.pointer,h.pressTimeout=setTimeout(()=>{h.isPressed&&(h.isClicking=!1)},250)}function Le(){l.slowState.transitioning?(f({transitioning:!1}),d.transitionIntent&&O(d.transitionIntent),d.transitionIntent=null,f({transitionIntentType:null})):h.isClicking&&(d.actionIntent&&O(d.actionIntent),d.actionIntent=null,f({actionIntentType:null})),h.isPressed=!1,h.isClicking=!1,h.lastPress=null,h.noTransition=!1,clearTimeout(h.pressTimeout)}function Qe(A){l.polygon.points=A?.points||[],l.polygon.boundingBox=null,l.polygon.iedges=null,l.isOpen=A?.open||!1,p(l.polygon),d.nextSlowState=null,d.undoStack=[],d.undoStackPointer=-1,l.lineBox=null,l.line=null,h.pressTimeout&&clearTimeout(h.pressTimeout),f({noShape:A===null,shapeId:A?.id||null,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:l.slowState.modifiers.proximity},showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},selectedStamp:null,closestPoint:null,pointerInsideShape:!1,boxMode:!1,fixedAspectRatio:i}),Pe(n),g()}function Ge(A){if(!A)return"";let F=Ml[A];return!F||!F.modifiers?F.label||"":l.slowState.modifiers.Shift&&F.modifiers.Shift?F.modifiers.Shift:l.slowState.modifiers.Alt&&F.modifiers.Alt?F.modifiers.Alt:l.slowState.modifiers.Meta&&F.modifiers.Meta?F.modifiers.Meta:F.label}function Me(){f({fixedAspectRatio:!0})}function it(){f({fixedAspectRatio:!1})}function Pe(A){if(l.slowState.isToolSwitchingLocked||l.slowState.currentTool===A||!l.slowState.enabledTools.includes(A))return;let F=l.slowState.lastCreationTool;if(lw(A)){if(l.slowState.isToolSwitchingLocked)return;F=A}l.slowState.transitioning&&(l.transitionPoints=null,l.transitionBoundingBox=null,l.transitionDraw=[],l.line=null,l.lineBox=null,f({transitioning:!1}));let J=E(A),re=l.selectedPoints,ue=l.isOpen,N=l.slowState.selectedStamp;switch(A){case"pointer":l.polygon.points.length>0&&!ue&&re.length===0&&(re=l.polygon.points.map((k,H)=>H));break;case"pen":l.polygon.points.length===0?(re=[],ue=!0):ue&&re.length>1&&(re=[re[re.length-1]]);break;case"line":l.polygon.points.length===0?(re=[],ue=!0):ue?re.length>1&&(re=[re[re.length-1]]):(re=[l.polygon.points.length-1],ue=!0);break;case"pencil":re=[],l.polygon.points.length===0&&(ue=!0);break;case"box":re=l.polygon.points.map((k,H)=>H),ue=!1,oe.square();break;case"lineBox":re=[],l.polygon.points.length===0&&(ue=!0);break;case"stamp":re=[],ue=!1,N||oe.square();break;case"hand":re=[];break;default:re=[];break}f({validIntentKeys:J}),f({currentTool:A,selectedPoints:re,lastCreationTool:F,boxMode:A==="box"}),l.selectedPoints=re,l.isOpen=ue,vt(A),V()}function vt(A){let F=A==="box"||A==="pointer"&&l.polygon.points.length>2&&l.selectedPoints.length===l.polygon.points.length&&!l.isOpen;f({showBoundingBox:F})}function $e(A){l.slowState.currentTool===A&&Pe("pointer")}function Tt(A){l.slowState.currentTool===A?Pe("pointer"):Pe(A)}let Gt={undo:w,redo:R,get canUndo(){return d.undoStackPointer>-1},get canRedo(){return d.undoStackPointer<d.undoStack.length-1}},vi={setTool:Pe,unsetTool:$e,toggleTool:Tt,updateVisibility:vt,setCanDelete(A){f({canDelete:A})},setCanDeselect(A){Kt(),f({canDeselect:A})},lockToolSwitching(){f({isToolSwitchingLocked:!0})},unlockToolSwitching(){f({isToolSwitchingLocked:!1})},toggleToolSwitching(){f({isToolSwitchingLocked:!l.slowState.isToolSwitchingLocked})},shortcuts:Object.fromEntries(Object.entries(c).map(([A,F])=>[F,A])),getValidIntents(A){let F=A||l.slowState.currentTool;return{actions:Il.filter(J=>J.tools.includes(F)),transitions:El.filter(J=>J.tools.includes(F)),keys:Bs.filter(J=>J.tools.includes(F)),all:E(F),current:l.slowState.validIntentKeys}},getToolInfo(){return{name:l.slowState.currentTool,cursor:l.slowState.cursor,selectionCount:l.selectedPoints.length,pointCount:l.polygon.points.length,isOpen:l.isOpen}},smartSelect(){l.polygon.points.length!==0&&(l.isOpen?(l.selectedPoints=[l.polygon.points.length-1],f({selectedPoints:l.selectedPoints})):(l.selectedPoints=l.polygon.points.map((A,F)=>F),f({selectedPoints:l.selectedPoints})))},clearSelection(){l.selectedPoints=[],f({selectedPoints:[]})},autoSelect(){l.selectedPoints.length===l.polygon.points.length&&!l.isOpen?Pe("pointer"):l.isOpen||l.selectedPoints.length>0?Pe(l.slowState.lastCreationTool||"pen"):Pe("pointer")}},bi={enabled:()=>l.slowState.snapEnabled,enable:()=>f({snapEnabled:!0}),disable:()=>f({snapEnabled:!1}),toggle:()=>f({snapEnabled:!l.slowState.snapEnabled}),pointsEnabled:()=>l.slowState.snapToPoints,enablePoints:()=>f({snapToPoints:!0}),disablePoints:()=>f({snapToPoints:!1}),togglePoints:()=>f({snapToPoints:!l.slowState.snapToPoints}),linesEnabled:()=>l.slowState.snapToLines,enableLines:()=>f({snapToLines:!0}),disableLines:()=>f({snapToLines:!1}),toggleLines:()=>f({snapToLines:!l.slowState.snapToLines}),intersectionsEnabled:()=>l.slowState.snapToIntersections,enableIntersections:()=>f({snapToIntersections:!0}),disableIntersections:()=>f({snapToIntersections:!1}),toggleIntersections:()=>f({snapToIntersections:!l.slowState.snapToIntersections}),gridEnabled:()=>l.slowState.snapToGrid,enableGrid:()=>f({snapToGrid:!0}),disableGrid:()=>f({snapToGrid:!1}),toggleGrid:()=>f({snapToGrid:!l.slowState.snapToGrid}),parallelEnabled:()=>l.slowState.snapToParallel,enableParallel:()=>f({snapToParallel:!0}),disableParallel:()=>f({snapToParallel:!1}),toggleParallel:()=>f({snapToParallel:!l.slowState.snapToParallel}),getThreshold:()=>l.snapThreshold*l.slowState.modifiers.proximity,setThreshold:A=>{l.snapThreshold=Math.max(5,Math.min(50,A))},isActive:()=>l.isSnapping,getSnapPoint:()=>l.snapPoint,getActiveGuides:()=>l.activeSnapGuides,getTargets:()=>l.snapTargets};function Kt(){f({selectedPoints:l.polygon.points.map((A,F)=>F)})}function Vt(A){f({bounds:A})}return Pe(n),{state:l,setState:f,emitter:a,modifiers:ne,stamps:oe,history:Gt,key:we,setScale:ae,clock:ze,pointer:ie,blur:Re,pointerDown:Be,pointerUp:Le,setShape:Qe,label:Ge,tools:vi,snap:bi,selectAllPoints:Kt,setBounds:Vt,lockAspectRatio:Me,unlockAspectRatio:it}}function Co(e){let t=Math.max(...e.map(o=>o[0])),i=Math.min(...e.map(o=>o[0])),n=Math.max(...e.map(o=>o[1])),r=Math.min(...e.map(o=>o[1]));for(let o of e)if(o[0]!==i&&o[0]!==t&&o[1]!==r&&o[1]!==n||o[0]<i||o[0]>t||o[1]<r||o[1]>n)return!1;return!0}function Lr(e){if(!e)return null;if(e.points.length>2){let t=Math.min(...e.points.map(o=>o[0])),i=Math.min(...e.points.map(o=>o[1])),n=Math.max(0,...e.points.map(o=>o[0])),r=Math.max(0,...e.points.map(o=>o[1]));return{x:t,y:i,width:n-t,height:r-i}}return null}function Em(e){return e.type==="SvgSelector"}function ww(e){return e.type==="BoxSelector"}function Sw(e,t){if(Em(e)){let s=e.svgShape==="polyline";if(!e.points||e.points.length===0)return null;if(t){let{width:a,height:c}=t;return{type:"SvgSelector",value:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${a} ${c}" width="${a}" height="${c}"><${s?"polygon":"polyline"} points="${e.points.map(l=>l.join(",")).join(" ")}" /></svg>`}}return{type:"SvgSelector",value:`<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g><path d='M${e.points.map(a=>a.join(",")).join(" ")}${s?" Z":""}' /></g></svg>`}}if(!e.spatial)return null;let{x:i,y:n,width:r,height:o}=e.spatial||{};return!r||!o?null:{type:"FragmentSelector",value:`xywh=${~~i},${~~n},${~~r},${~~o}`}}var wd=Sw;function Vs(e,t){if(!e||!e.points.length)return null;if(Co(e.points)){let i=e.points.map(c=>c[0]),n=e.points.map(c=>c[1]),r=Math.min(...i),o=Math.min(...n),s=Math.max(...i)-r,a=Math.max(...n)-o;return wd({type:"BoxSelector",spatial:{x:r,y:o,width:s,height:a}},t)}return wd({type:"SvgSelector",points:e.points,svgShape:e.open?"polygon":"polyline"},t)}function Ol(e){if(e.type==="polygon"&&!e.noBox&&e.points&&Co(e.points)){let i=Lr({open:!1,points:e.points||[]});return Ol({...e,type:"box",selector:i})}if(e.type==="polygon"||e.type==="draw")return{polygon:{points:e.points||[],open:e.open||!1},requestType:e.type,boundingBox:Lr({points:e.points||[],open:!1}),metadata:{},arguments:e.arguments||{},target:Vs({points:e.points||[],open:!1},e.bounds)};let t=e.selector;if(t){let i=[[t.x,t.y],[t.x+t.width,t.y],[t.x+t.width,t.y+t.height],[t.x,t.y+t.height]];return{polygon:{points:i,open:!1},requestType:e.type,boundingBox:t,metadata:{},target:Vs({points:i,open:!1},e.bounds),arguments:e.arguments||{}}}return{polygon:{points:[],open:!1},requestType:e.type,boundingBox:null,target:null,metadata:{},arguments:e.arguments||{}}}var qE={shapeId:null,noShape:!0,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,lastCreationTool:null,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:0},bounds:null,showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},pointerInsideShape:!1,closestPoint:null,transitionModifiers:null,selectedStamp:null,bezierLines:[],boxMode:!1,fixedAspectRatio:!1,cursor:"",enabledTools:["pointer","pen","box","lineBox","stamp","hand","line","pencil"],canDelete:!0,canDeselect:!0,isToolSwitchingLocked:!1,currentTool:"box",snapEnabled:!1,snapToPoints:!1,snapToLines:!1,snapToIntersections:!1,snapToGrid:!1,snapToParallel:!1};function Mm({events:e,enabledTools:t,keyboardShortcutMapping:i,keyboardShortcutsEnabled:n=!1,debug:r}){let o=Ji((a,c)=>{let u=null,d=xw({emitter:e,keyboardShortcutsEnabled:n,keyboardShortcutMapping:i,enabledTools:t,customSetState:h=>{r&&console.log("partial state",h),a(p=>({polygonState:{...p.polygonState,...h}}))}},h=>{a(p=>p.tool.requestId?{polygon:{...h,id:p.tool.requestId}}:{polygon:{id:void 0,points:[],open:!0}}),e.emit("atlas.polygon-update",h)});return{mode:"explore",tool:{enabled:!1,requestId:null,canvasId:null},runtime:null,requestType:null,requests:{},history:d.history,polygon:null,validRequestIds:[],metadata:{},stableViewport:null,canvasRelativePositions:{},canvasViewports:{},polygons:d,polygonState:qE,setMetadata:(h,p)=>{let f=p||c().tool.requestId;f&&a(m=>({metadata:{...m.metadata,[f]:{...m.metadata[f]||{},...h}}}))},setToolCanvasId:h=>{a(p=>({tool:{...p.tool,canvasId:h}}))},switchTool:{pointer(){a({mode:"sketch"}),s.tools.setTool("pointer")},hand(){a({mode:"explore"}),s.tools.setTool("hand")},draw(){a({mode:"sketch"}),s.tools.setTool("pencil")},pen(){a({mode:"sketch"}),s.tools.setTool("pen")},line(){a({mode:"sketch"}),s.tools.setTool("line")},lineBox(){a({mode:"sketch"}),s.tools.setTool("lineBox")},box(){a({mode:"sketch"}),s.tools.setTool("box")},triangle(){a({mode:"sketch"}),s.tools.setTool("stamp"),s.stamps.triangle()},hexagon(){a({mode:"sketch"}),s.tools.setTool("stamp"),s.stamps.hexagon()},circle(){a({mode:"sketch"}),s.tools.setTool("stamp"),s.stamps.circle()},remove(){let h=c();h.tool.requestId&&(d.setShape({points:[],open:!0}),h.cancelRequest(h.tool.requestId))}},reset:()=>{let h=c();h.tool.requestId&&h.cancelRequest(h.tool.requestId)},setPolygonState:h=>a({polygonState:typeof h=="function"?h(c().polygonState):h}),getRequestId:()=>{let h=Math.random().toString(36).slice(2);return a(p=>({validRequestIds:[...p.validRequestIds,h]})),{requestId:h,clear:()=>{c().tool.requestId,a(p=>({tool:p.tool.requestId===h?{enabled:!1,requestId:null,canvasId:null}:p.tool,validRequestIds:p.validRequestIds.filter(f=>f!==h)}))}}},cancelRequest:h=>{let p=h||c().tool.requestId;p&&(a(f=>({mode:"explore",tool:f.tool.requestId===p?{enabled:!1,requestId:null,canvasId:null}:f.tool,validRequestIds:f.validRequestIds.filter(m=>m!==p)})),e.emit("atlas.request-cancelled",{id:p}))},requestAnnotation:async(h,p)=>{let m={...c().requests,[p.requestId]:h},g=Ol(h);r&&console.log("requestAnnotation",{response:g,request:h});try{let{points:y=[],open:x=!0}=g.polygon||{},{requestId:w,canvasId:R=null,toolId:v}=p,S=v,C=c(),T=C.validRequestIds.includes(w),I=g.requestType;return r&&console.log("setting points",{requestType:I,points:y,open:x}),!T||C.tool.enabled?null:(d.setShape({id:w,points:y,open:x}),I==="polygon"&&(S=S||"pen",d.tools.setTool("pen")),I==="draw"&&(S=S||"draw",d.tools.setTool("pencil")),I==="box"&&(S=S||"box",d.tools.setTool("box")),I==="target"?(S=S||"box",d.tools.setTool("box"),d.lockAspectRatio(),d.tools.lockToolSwitching(),d.tools.setCanDeselect(!1),d.tools.setCanDelete(!1)):(d.tools.unlockToolSwitching(),d.tools.setCanDeselect(!0),d.tools.setCanDelete(!0)),h.bounds&&d.setBounds(h.bounds),e.emit("atlas.annotation-request",{id:w}),a({polygon:{id:w,points:y,open:x},mode:"sketch",requestType:I,tool:{enabled:!0,requestId:w,canvasId:R},requests:m}),S?C.switchTool[S]?.():y.length===0&&C.switchTool.box(),(typeof h.selectByDefault>"u"&&y.length&&I==="box"||h.selectByDefault)&&C.switchTool.pointer(),new Promise(E=>{let V=Q=>{Q.id===w&&(a(z=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(z.requests).filter(([O])=>O!==w))})),e.off("atlas.request-cancelled",V),e.off("atlas.annotation-completed",Y),E(null))},Y=Q=>{Q.id===w&&(a(z=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(z.requests).filter(([O])=>O!==w))})),e.off("atlas.annotation-completed",Y),e.off("atlas.request-cancelled",V),E(Q))};e.on("atlas.request-cancelled",V),e.on("atlas.annotation-completed",Y)}))}catch(y){return console.error(y),null}},completeRequest:h=>{let p=c().tool.requestId;if(typeof h=="string"&&h&&h!==p)return;let f=p?c().requests[p]?.arguments||{}:{},m=p?c().metadata[p]||{}:{},g=c().polygonState.bounds,y=c().polygon;y&&(e.emit("atlas.annotation-completed",{id:y.id,polygon:y,requestType:c().requestType,target:Vs(y,g),canvasId:c().tool.canvasId,boundingBox:Lr(y),metadata:m,arguments:{...f}}),d.setShape(null))},setAtlasRuntime:h=>{u=h,e.emit("atlas.ready",{runtime:h}),s.setScale(1/u._lastGoodScale),u.world.addLayoutSubscriber((p,f)=>{(p==="event-activation"||p==="zoom-to"||p==="go-home")&&u?._lastGoodScale&&!Number.isNaN(u._lastGoodScale)&&s.setScale(1/u._lastGoodScale)}),a({runtime:u})},clearAtlasRuntime:()=>{u=null,a({stableViewport:null,runtime:null})},setCanvasRelativePosition:(h,p)=>{a(f=>({canvasRelativePositions:{...f.canvasRelativePositions,[h]:p}}))},clearCanvasRelativePosition:h=>{a(p=>{let f={...p.canvasRelativePositions};return delete f[h],{canvasRelativePositions:f}})},changeMode:h=>{a({mode:h})},nudgeLeft:h=>{if(!u)return;let p=u.getViewport(),f=h??p.width*.1;u.world.gotoRegion({x:p.x-f,y:p.y,width:p.width,height:p.height,nudge:!0})},nudgeRight:h=>{if(!u)return;let p=u.getViewport(),f=h??p.width*.1;u.world.gotoRegion({x:p.x+f,y:p.y,width:p.width,height:p.height,nudge:!0})},nudgeUp:h=>{if(!u)return;let p=u.getViewport(),f=h??p.height*.1;u.world.gotoRegion({x:p.x,y:p.y-f,width:p.width,height:p.height,nudge:!0})},nudgeDown:h=>{if(!u)return;let p=u.getViewport(),f=h??p.height*.1;u.world.gotoRegion({x:p.x,y:p.y+f,width:p.width,height:p.height,nudge:!0})},zoomIn:()=>{u?.world?.zoomIn()},zoomOut:()=>{u?.world?.zoomOut()},goHome:()=>{u?.world?.goHome()},goToRegion:h=>{u?.world?.gotoRegion(h)},getRuntime:()=>u}}),s=o.getState().polygons;return e.on("atlas.annotation-request",()=>{s.clock.start((a,c,u)=>{e.emit("atlas.polygon-render",{state:a,slowState:c,dt:u})},a=>{typeof a=="object"?o.setState({polygonState:a}):o.setState(c=>({polygonState:a(c.polygonState)}))})}),e.on("atlas.annotation-completed",()=>{s.clock.stop()}),e.on("atlas.request-cancelled",()=>{s.clock.stop()}),o}var Om=P(D(),1),To=(0,Xn.createContext)(null);function ut(){return(0,Xn.useContext)(To)}var km={};function Lm(e="atlas"){return km[e]?.getState()}function Ws({children:e,name:t="atlas",existing:i,atlasStoreConfig:n}){let r=Am(),o=(0,Xn.useContext)(To),s=(0,Xn.useMemo)(()=>i||o||Mm({events:r,...n||{}}),[r,i,o]),a=be(s,c=>c.mode);return(0,Xn.useEffect)(()=>{let c=t;return c&&(km[c]=s),()=>{c&&delete km[c]}},[s,t]),(0,Om.jsx)(To.Provider,{value:s,children:(0,Om.jsx)(bo.Provider,{value:a||"explore",children:e})})}var Ew=P(Z(),1);var $s=P(Z(),1),Rw=P(D(),1);function _m(){return{default:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(252,0,98, .5)"},highlighted:{backgroundColor:"rgba(75, 103, 225, 0.4)",borderWidth:"1px",borderColor:"rgba(75,103,225,0.99)"},hidden:{borderWidth:"0px",borderColor:"rgba(0,0,0,0)",backgroundColor:"rgba(0,0,0,0)",hidden:!0}}}var Fm=(0,$s.createContext)(_m());Fm.displayName="AnnotationStyle";function Ll(){return(0,$s.useContext)(Fm)}function UE({theme:e,children:t}){let i=(0,$s.useMemo)(()=>e||_m(),[e]);return(0,Rw.jsx)(Fm.Provider,{value:i,children:t})}var Tw=P(Z(),1);var js=P(Z(),1);var Cw=_u()((e,t)=>{let i=new Map,n=()=>Math.random().toString(36).substring(2,15),r=o=>{let s=i.get(o);if(s)return s;let a=n();return i.set(o,a),a};return{stylesheets:{},loading:[],errors:[],async parseStylesheet(o){let{loadStylesheet:s,setStylesheet:a}=t();if(!o)return null;if(typeof o=="string")return o.startsWith("http")?{id:o,type:"CssStylesheet",value:await s(o)}:{id:a(o),type:"CssStylesheet",value:o};if(o.type==="CssStylesheet"){let c=o.id;if("value"in o){let u=Array.isArray(o.value)?o.value.join(`
89
+ `):o.value;if(u)return{id:a(u,c),type:"CssStylesheet",value:u}}if("id"in o&&o.id){let u=await s(o.id);return{id:o.id,type:"CssStylesheet",value:u}}}return null},async loadStylesheet(o){if(t().loading.includes(o))return"";try{let a=await fetch(o);if(!a.ok)throw new Error(`Failed to load stylesheet from ${o}`);let c=await a.text();return e(u=>({stylesheets:{...u.stylesheets,[o]:c}})),c}catch(a){return e(c=>({errors:[...c.errors,{url:o,error:a}]})),""}},setStylesheet(o,s){let a=s||r(o);return e(c=>({stylesheets:{...c.stylesheets,[a]:o}})),a}}});function Nm(e){let[t,i]=(0,js.useState)(),n=t?.stylesheet===e&&t?.id||"",{loading:r,errors:o,stylesheets:s,parseStylesheet:a}=Cw();return(0,js.useEffect)(()=>{if(!e)return;let u=!0;return a(e).then(l=>{u&&l?.id&&i({stylesheet:e,id:l.id})}),()=>{u=!1}},[e,a]),[(0,js.useMemo)(()=>{let u={};return n&&s[n]&&(u[n]=s[n]),u},[n,s]),{id:n,stylesheets:s,loading:r,errors:o}]}function Zn(e={},t=[]){let{id:i,selector:n}=e,r=kt(),o=We(),s=i||r.annotation,a=Ue(l=>s?l.iiif.entities.Annotation[s]:void 0,[s]),[c]=Nm(a?.stylesheet),u=Ue(l=>a&&a.body?(Array.isArray(a.body)?a.body:[a.body]).map(d=>d?d.type==="SpecificResource"?{...d,source:o.get(d)}:d?l.iiif.entities[d.type][d.id]:null:null).filter(Boolean):[],[a]);return(0,Tw.useMemo)(()=>{if(!a)return;let l={...a,body:u,target:Mt(a.target,{typeMap:o.getState().iiif.mapping,loadedStylesheets:c})};return n?n(l):l},[a,n,u,c,...t])}var Pw=P(Z(),1);function dt(e={},t=[]){let{id:i,selector:n}=e,r=kt(),o=i||r.canvas,s=Ue(a=>o?a.iiif.entities.Canvas[o]:void 0,[o]);return(0,Pw.useMemo)(()=>{if(s)return n?n(s):s},[s,n,...t])}var Dm=P(Z(),1);function _l(e=Bi){return{addEventListener(t,i,n,r){if(t)return e.setMetaValue([t.id,"eventManager",i],o=>{let s=o||[];for(let a of s)if(a.callback===n)return s;return[...s,{callback:n,scope:r}]}),n},removeEventListener(t,i,n){t&&e.setMetaValue([t.id,"eventManager",i],r=>(r||[]).filter(o=>o.callback!==n))},getListenersAsProps(t,i){let n=typeof t=="string"?{id:t}:t;if(!n||!n.id)return{};let r=e.getResourceMeta(n.id,"eventManager"),o={};if(r&&n)for(let s of Object.keys(r))o[s]=a=>{let c=e.get(n);for(let{callback:u,scope:l}of r[s]||[])(!l||i&&l.indexOf(i)!==-1)&&u(a,c)};return o}}}function An(e,t){let i=We(),n=(0,Dm.useMemo)(()=>_l(i),[i]),r=Ue(()=>e&&e.id?i.getResourceMeta(e.id,"eventManager"):null,[e]);return(0,Dm.useMemo)(()=>e?n.getListenersAsProps(e,t):{},[r,e,i,t])}var Aw=P(Z(),1);function _r(e=Bi){return{applyStyles(t,i,n){let r=typeof t=="string"?t:t.id;return e.setMetaValue([r,"styles",i],n)},getAppliedStyles(t){let i=typeof t=="string"?t:t.id;return e.getResourceMeta(i,"styles")}}}function $i(e,t){let i=We(),n=(0,Aw.useMemo)(()=>_r(i),[i]);return Ue(()=>{if(!e)return null;let r=n.getAppliedStyles(e.id);return r?t?r[t]:r:void 0},[e,t])}var Iw=P(Z(),1);var In=P(Z(),1),Lt=P(D(),1);function zm({handleSize:e,resizable:t,onSave:i,children:n,maintainAspectRatio:r,disableCardinalControls:o,aspectRatio:s,...a}){let c=typeof e>"u"?r?12:8:e,{portalRef:u,mode:l,mouseEvent:d,isEditing:h}=Sm({x:a.x||0,y:a.y||0,width:a.width,height:a.height,aspectRatio:s,maintainAspectRatio:r},i),p=(0,In.useMemo)(()=>d("translate"),[d]),f=(0,In.useMemo)(()=>d("east"),[d]),m=(0,In.useMemo)(()=>d("west"),[d]),g=(0,In.useMemo)(()=>d("south"),[d]),y=(0,In.useMemo)(()=>d("north"),[d]),x=(0,In.useMemo)(()=>d("south-east"),[d]),w=(0,In.useMemo)(()=>d("south-west"),[d]),R=(0,In.useMemo)(()=>d("north-east"),[d]),v=(0,In.useMemo)(()=>d("north-west"),[d]),S=l==="sketch",C={zIndex:999,boxShadow:"0px 2px 3px 0 rgba(0,0,0,0.2)",outline:"2px solid rgba(155,155,155,.7)",borderRadius:r||o?"50%":2,position:"absolute",background:"#fff",pointerEvents:h?"none":S?"initial":"none"};return(0,Lt.jsx)(Lt.Fragment,{children:(0,Lt.jsxs)("world-object",{...a,children:[n,S&&t?(0,Lt.jsx)(Ii,{ref:u,target:{x:0,y:0,height:a.height,width:a.width},relative:!0,interactive:!1,children:S&&t?(0,Lt.jsxs)(Lt.Fragment,{children:[(0,Lt.jsx)("div",{onMouseDown:p,onTouchStart:p,style:{display:"block",width:"100%",height:"100%",cursor:"move",border:"1px solid rgba(255,255,255, .7)",outline:"2px solid rgba(155,155,155, .7)",boxSizing:"border-box",pointerEvents:h?"none":S?"initial":"none"}}),r?null:(0,Lt.jsxs)(Lt.Fragment,{children:[(0,Lt.jsx)("div",{title:"east",onTouchStart:f,onMouseDown:f,style:{...C,cursor:"e-resize",height:c*2,width:c,right:0,top:"50%",opacity:o?0:1,transform:`translate(${c/2}px, -${c}px)`}}),(0,Lt.jsx)("div",{title:"west",onMouseDown:m,style:{...C,cursor:"w-resize",position:"absolute",height:c*2,width:c,left:0,top:"50%",opacity:o?0:1,transform:`translate(-${c/2}px, -${c}px)`}}),(0,Lt.jsx)("div",{title:"north",onMouseDown:y,style:{...C,cursor:"n-resize",position:"absolute",height:c,width:c*2,left:"50%",top:0,opacity:o?0:1,transform:`translate(-${c}px, -${c/2}px)`}}),(0,Lt.jsx)("div",{title:"south",onMouseDown:g,style:{...C,cursor:"s-resize",position:"absolute",height:c,width:c*2,left:"50%",bottom:0,opacity:o?0:1,transform:`translate(-${c}px, ${c/2}px)`}})]}),(0,Lt.jsx)("div",{title:"north-east",onMouseDown:R,style:{...C,cursor:"ne-resize",position:"absolute",height:c,width:c,right:0,top:0,transform:`translate(${c/2}px, -${c/2}px)`}}),(0,Lt.jsx)("div",{title:"south-east",onMouseDown:x,style:{...C,cursor:"se-resize",position:"absolute",height:c,width:c,bottom:0,right:0,transform:`translate(${c/2}px, ${c/2}px)`}}),(0,Lt.jsx)("div",{title:"south-west",onMouseDown:w,style:{...C,cursor:"sw-resize",position:"absolute",height:c,width:c,bottom:0,left:0,transform:`translate(-${c/2}px, ${c/2}px)`}}),(0,Lt.jsx)("div",{title:"north-west",onMouseDown:v,style:{...C,cursor:"nw-resize",position:"absolute",height:c,width:c,top:0,left:0,transform:`translate(-${c/2}px, -${c/2}px)`}})]}):null}):null]})})}var Bm=P(D(),1);function Vm({id:e,interactive:t,region:i,onClick:n,onHover:r,onSave:o,aspectRatio:s,maintainAspectRatio:a,disableCardinalControls:c,isEditing:u,style:l={backgroundColor:"rgba(0,0,0,.5)"}}){let d=(0,Iw.useCallback)(h=>{u&&o?.({id:i.id,x:i.x,y:i.y,height:i.height,width:i.width,...h})},[o,u,i.id,i.x,i.y,i.height,i.width]);return(0,Bm.jsx)(zm,{id:e,x:i.x,y:i.y,width:i.width,aspectRatio:s,height:i.height,resizable:u,onSave:d,maintainAspectRatio:a,disableCardinalControls:c,children:(0,Bm.jsx)("box",{interactive:t,onClick:h=>{h.preventDefault(),h.stopPropagation(),n?.(i)},relativeStyle:!0,onMouseEnter:()=>{r?.(i)},target:{x:0,y:0,width:i.width,height:i.height},style:l})})}var Mw=P(D(),1),Po=({id:e,style:t,className:i,interactive:n,targetId:r,ignoreTargetId:o})=>{let s=Zn({id:e}),a=$i(s,"atlas"),c=$i(s,"html"),u=An(s,["atlas"]),l=dt(),d=Ll(),h=(0,Ew.useMemo)(()=>Ds(Ds(Ds(Ds(t,a),s?.motivation?.includes("highlighting")?d.highlighted:d.default),s?.target?.selector?.boxStyle||{})),[t,a,d,s?.motivation,s?.target]),p=r||l?.id;return l&&s&&s.target&&s.target.selector&&(s.target.selector.type==="BoxSelector"||s.target.selector.type==="SvgSelector")&&s.target.source&&(o?!0:s.target.source.id===p||s.target.source===p)?(0,Mw.jsx)(Vm,{id:s.id,isEditing:!0,region:s.target.selector.spatial,style:h,className:c?.className||i,interactive:!!(c?.href||n),href:c?.href||null,title:c?.title||null,hrefTarget:c?.target||null,onClick:()=>{},...u}):null};var Ow=P(Z(),1);var kw=P(Z(),1);function Wm(e={},t=[]){let{id:i,selector:n}=e,r=kt(),o=i||r.annotationPage,s=Ue(a=>o?a.iiif.entities.AnnotationPage[o]:void 0,[o]);return(0,kw.useMemo)(()=>{if(s)return n?n(s):s},[s,...t])}var $m=P(D(),1),En=({className:e,page:t,targetId:i,ignoreTargetId:n})=>{let r=Wm({id:t.id})||t,o=$i(r,"atlas"),s=$i(r,"html");return Ue(a=>r.id?a.iiif.entities.AnnotationPage[r.id]:null,[]),(0,$m.jsx)(Ow.Fragment,{children:r.items?.map(a=>(0,$m.jsx)(Po,{id:a.id,style:o,className:s?.className||e,targetId:i,ignoreTargetId:n},a.id))})};var Fr=P(Z(),1),Sd=P(D(),1),Lw=(0,Fr.createContext)(null),_w=(0,Fr.createContext)(null),Fw=(0,Fr.createContext)(null);function YE(){let e=(0,Fr.useContext)(Lw);if(!e)throw new Error("Ctx not found");return e}function GE(){let e=(0,Fr.useContext)(_w);if(!e)throw new Error("Ctx not found");return e}function KE(){let e=(0,Fr.useContext)(Fw);if(!e)throw new Error("Ctx not found");return e}function Fl({actions:e,state:t,children:i,currentTime:n,progress:r,element:o}){return(0,Sd.jsx)(Fw.Provider,{value:{currentTime:n,progress:r,element:o},children:(0,Sd.jsx)(_w.Provider,{value:e,children:(0,Sd.jsx)(Lw.Provider,{value:t,children:i})})})}var zw=P(Z(),1);function Ze(){let{canvas:e}=kt();return Ue(t=>{if(e)return t.iiif.mapping[e]==="Timeline"?t.iiif.entities.Timeline[e]:t.iiif.entities.Canvas[e]},[e])}function Nw(e,t,i=[],n=!1,r=[]){if(r.length&&(t=t.filter(s=>r.indexOf(s)===-1)),!t||t.length===0)return;if(t.length===1)return t[0];if(!e)return t.indexOf("none")===-1?t[0]:"none";if(t.indexOf(e)!==-1)return e;let o=e.indexOf("-")===-1?null:e.slice(0,e.indexOf("-"));if(o&&t.indexOf(o)!==-1)return o;for(let s of i)if(t.indexOf(s)!==-1)return s;if(!n&&e){let s=t.map(a=>a.indexOf("-")===-1?null:a.slice(0,a.indexOf("-"))).indexOf(e);if(s!==-1)return t[s];for(let a of i){let c=a.indexOf("-")===-1?null:a.slice(0,a.indexOf("-")),u=c?t.indexOf(c):-1;if(u!==-1)return t[u]}}return t.indexOf("none")===-1?t.indexOf("@none")===-1?t[0]:"@none":"none"}function jm(e,t,i={}){let{strictFallback:n=!1,defaultText:r="",separator:o=`
90
+ `,fallbackLanguages:s=[],closest:a,skipLanguages:c}=i,u=a?t:Nw(t,Object.keys(e||{}),s,n,c);if(!e)return r;if(typeof e=="string")return e;let l=u?e[u]:void 0;if(l&&u){if(typeof l=="string")return l;if(l.length===1&&l[0]===""){let d=i.skipLanguages||[];return jm(e,t,{...i,skipLanguages:[...d,u]})}return l.join(o)}return""}function Rd(e,t={}){return jm(e,t.language||(typeof navigator<"u"?navigator.language:"en"),t)}var XE=Dw();function Dw(e={}){return(t,...i)=>{let n="";for(let r=0;r<t.length;r++)if(n+=t[r],r<i.length){let o=i[r];o==null||(typeof o=="string"?n+=o:n+=Rd(o,e))}return n}}function Hm(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector,...e.styleClass?{styleClass:e.styleClass}:{}}]:[e,{selector:null}]}function ZE(e){if(!e)return;let t=Array.isArray(e)?e:[e],i={};for(let n of t){if(n?.type!=="CssStylesheet"||!("value"in n))continue;let r=Array.isArray(n.value)?n.value.join(`
91
+ `):n.value;r&&(i[n.id||`inline-${Object.keys(i).length}`]=r)}return Object.keys(i).length?i:void 0}function Hs(e=Bi){function t(r){let o=r?typeof r=="string"?e.get(r):r:null;if(!o)return[];let s=e.get(o.items,{parent:o}),a=[];for(let c of s)a.push(...e.get(c.items,{parent:c}));return a}function i(r,o=[]){let s=Array.isArray(r)?r:t(r),a=[],c={items:[],type:"complex-choice"},u=[];for(let l of s){if(l.type!=="Annotation")throw Error("getPaintables() accept either a canvas or list of annotations");let d=Array.from(Array.isArray(l.body)?l.body:[l.body]);for(let h of d){if(!h)continue;let[p,{selector:f,styleClass:m}]=Hm(h),g=e.get(p),y=qo(g,v=>e.get(v,{parent:l,preserveSpecificResources:!0})??v).map(v=>({...v,body:e.get(v.value,{skipSelfReturn:!1})})),x=new Set(o),w=new Map;for(let v of y)v.aggregatePath.forEach((S,C)=>{if(S.type!=="Choice")return;let T=JSON.stringify(v.aggregatePath.slice(0,C)),I=w.get(T)||{pathIndex:C,bodies:[]};I.bodies.push(v),w.set(T,I)});let R=new Map;for(let[v,S]of w){let C=new Set(S.bodies.filter(({body:T})=>!!T.id&&x.has(T.id)).map(({aggregatePath:T})=>T[S.pathIndex].index));if(!C.size){let T=S.bodies[0];C.add(T.aggregateDefaults[S.pathIndex]??T.aggregatePath[S.pathIndex].index)}R.set(v,C),c.items.push({type:"single-choice",items:S.bodies.map(({body:T,aggregatePath:I})=>({id:T.id,label:T.label,selected:C.has(I[S.pathIndex].index)})),label:S.pathIndex===0?g.label||p.label:void 0})}for(let{body:v,aggregatePath:S,specificResources:C}of y){if(!S.every((O,G)=>{if(O.type!=="Choice")return!0;let ee=JSON.stringify(S.slice(0,G));return R.get(ee)?.has(O.index)}))continue;let T=(v.type||"unknown").toLowerCase();a.indexOf(T)===-1&&a.push(T);let I=C.find(O=>O.selector||O.styleClass),E=f||I?.selector||null,V=m||I?.styleClass,Y=V?ZE(l.stylesheet):void 0,Q=V?_n(V,Y):void 0,z=Q?Ln(Q):{};u.push({type:T,annotationId:l.id,annotation:l,resource:v,target:l.target,selector:E,...V?{styleClass:V}:{},...Q&&Object.keys(Q).length?{style:Q}:{},...z})}}}return{types:a,items:u,choice:c.items.length<2?c.items[0]||null:c,allChoices:c.items.length?c:null}}function n(r){let{choice:o}=i(r);return o}return{getAllPaintingAnnotations:t,getPaintables:i,extractChoices:n}}function Nl(){let e=Pt(),t=Ze();return(0,zw.useMemo)(()=>{if(!e||!t||!e.start)return null;let i=Mt(e.start);return!i||i.source.id!==t.id||!i||!i.selector||i.selector.type!=="TemporalSelector"?null:i.selector.temporal},[e,t])}var Ct=P(Z(),1);function Bw(e){return{isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,volume:100,duration:e}}function QE(e,t){switch(t.type){case"RESET":return t.state;case"FINISHED":return{...e,isFinished:!0,isPlaying:!1,playRequested:!1};case"PLAY_PAUSE":return{...e,isFinished:!1,isPlaying:!e.isPlaying};case"PLAY_REQUESTED":return{...e,isFinished:!1,playRequested:!0};case"PAUSE":return{...e,isPlaying:!1};case"PLAY":return{...e,isFinished:!1,playRequested:!1,isPlaying:!0};case"MUTE":return{...e,isMuted:!0};case"SET_VOLUME":return{...e,volume:t.volume,isMuted:t.volume===0};case"TOGGLE_MUTE":return{...e,isMuted:!e.isMuted};case"UNMUTE":return{...e,isMuted:!1}}return e}function Cd(e){let t=Math.round(e);return`${Math.floor(t/60)}:${`${t%60}`.padStart(2,"0")}`}function Ao(e){let[t,i]=(0,Ct.useReducer)(QE,Bw(e.duration));(0,Ct.useEffect)(()=>{i({type:"RESET",state:Bw(e.duration)})},[e.duration]);let n=(0,Ct.useRef)(null),r=(0,Ct.useRef)(null),o=(0,Ct.useRef)(null),s=(0,Ct.useRef)(!1),a=(0,Ct.useCallback)(()=>{r.current&&n.current&&(r.current.innerHTML=Cd(n.current.currentTime),o.current&&(o.current.style.width=`${n.current.currentTime/e.duration*100}%`),s.current!==n.current.muted&&(s.current=n.current.muted,i(n.current.muted?{type:"MUTE"}:{type:"UNMUTE"})))},[e.duration]),c=(0,Ct.useCallback)(()=>{n.current&&(i({type:"PLAY_REQUESTED"}),n.current.play().then(()=>{i({type:"PLAY"})}),a())},[a]),u=(0,Ct.useCallback)(()=>{n.current&&(n.current.duration>0&&n.current.paused?c():l())},[a]),l=(0,Ct.useCallback)(()=>{n.current&&(n.current.pause(),i({type:"PAUSE"}),a())},[a]),d=(0,Ct.useCallback)(()=>{n.current&&(n.current.muted=!n.current.muted,i(n.current.muted?{type:"MUTE"}:{type:"UNMUTE"}))},[]),h=(0,Ct.useCallback)(()=>{n.current&&(n.current.muted=!0,i({type:"MUTE"}))},[]),p=(0,Ct.useCallback)(()=>{n.current&&(n.current.muted=!1,i({type:"UNMUTE"}))},[]),f=(0,Ct.useCallback)(y=>{n.current&&(n.current.muted=!1,n.current.volume=y/100,i({type:"SET_VOLUME",volume:y}))},[]),m=(0,Ct.useCallback)(y=>{n.current&&(n.current.currentTime=Math.max(0,Math.min(y*e.duration,e.duration)),a())},[]),g=(0,Ct.useCallback)(y=>{if(n.current){let x=typeof y=="function"?y(n.current.currentTime):y;n.current.currentTime=Math.max(0,Math.min(x,e.duration)),a()}},[]);return(0,Ct.useEffect)(()=>{let y=setInterval(()=>{a()},350);return()=>clearInterval(y)},[a,e.duration]),(0,Ct.useEffect)(()=>{let y=()=>{i({type:"FINISHED"})},x=n.current;return x?.addEventListener("ended",y),()=>x?.removeEventListener("ended",y)},[]),[{element:n,currentTime:r,progress:o},t,{play:c,pause:l,playPause:u,mute:h,unmute:p,toggleMute:d,setVolume:f,setDurationPercent:m,setTime:g}]}var Io=P(Z(),1),qm=(0,Io.createContext)(()=>{}),Um=(0,Io.createContext)(()=>{});function Ut(e,t,i,n,r=[]){let o=(0,Io.useContext)(e==="portal"?Um:qm);(0,Io.useEffect)(()=>(e!=="none"&&o(t,i,n),()=>{o(t,null)}),[t,e,o,...r])}var Pd=P(D(),1);function Ym({media:e,startTime:t,children:i}){let[{element:n,currentTime:r,progress:o},s,a]=Ao({duration:e.duration}),c=t?`${e.url}#t=${t}`:e.url;return(0,Pd.jsxs)(Fl,{state:s,actions:a,currentTime:r,progress:o,element:n,children:[(0,Pd.jsx)("audio",{ref:n,src:c}),i]},e.url)}function Td({media:e,mediaControlsDeps:t,audioCopmonent:i=Ym,children:n}){let r=Nl();return Ut("portal","audio",i,{media:e,startTime:r?r.startTime:null,children:n},[e,r,...t||[]]),null}var Ad=P(Z(),1),Mn=(0,Ad.createContext)(null);Mn.displayName="Strategy";function ht(){let e=(0,Ad.useContext)(Mn);if(!e)throw new Error("useStrategy must be used within a StrategyProvider");return e}var Nr=P(D(),1);function Gm({model:e}){return(0,Nr.jsxs)(Nr.Fragment,{children:[(0,Nr.jsx)("style",{children:`
95
92
  .model-container {
96
93
  position: absolute;
97
94
  top: 0;
@@ -104,10 +101,10 @@ Error generating stack: `+i.message+`
104
101
  justify-content: center;
105
102
  pointer-events: visible;
106
103
  }
107
- `}),(0,il.jsx)("div",{className:"model-container",children:(0,il.jsx)("model-viewer",{"interaction-prompt":"none",style:{width:"100%",height:"100%"},"camera-controls":"","ar-status":"not-presenting",src:t.id})})]})}function o0({model:t,name:e}){return vi("overlay",`model-${e}`,DR,{model:t},[t]),null}var QD=N(K(),1);function PR(){let{strategy:t}=fn();return t.type!=="3d-model"?null:(0,QD.jsx)(o0,{model:t.model})}var s0=N(ct(),1),vp=(0,s0.createContext)(null);vp.displayName="Controls";function Hi(){let t=(0,s0.useContext)(vp);if(!t)throw new Error("useStrategy must be used within a StrategyProvider");return t}var Uo=N(K(),1);function BR(){let{strategy:t}=fn(),{renderViewerControls:e,viewControlsDeps:n}=Hi(),i=Wt(),a=i?.accompanyingCanvas,r=i?.placeholderCanvas;return(0,Uo.jsxs)(Uo.Fragment,{children:[t.type==="media"&&t.media.type==="Sound"&&a?(0,Uo.jsx)(Va,{canvas:a.id,children:(0,Uo.jsx)(Ru,{renderViewerControls:e,viewControlsDeps:n})}):null,t.type==="media"&&t.media.type==="Sound"&&r&&!a?(0,Uo.jsx)(Va,{canvas:r.id,children:(0,Uo.jsx)(Ru,{renderViewerControls:e,viewControlsDeps:n})}):null]})}var Dd=N(ct(),1);var qo=N(ct(),1);var KD=N(ct(),1);function HR(){let e=ce().getStore();return(0,KD.useMemo)(()=>n=>e.dispatch(n),[e])}function ZD(t){return typeof t!="string"&&t&&t.bindToVault}function FR(){let t=ce(),e=(0,qo.useRef)([]),n=HR(),i=(0,qo.useMemo)(()=>`vault://annotation-page/${new Date().getTime()}/${Math.round(Math.random()*1e9).toString(16)}`,[]);(0,qo.useLayoutEffect)(()=>{let u={id:i,type:"AnnotationPage",behavior:[],label:null,thumbnail:[],summary:null,requiredStatement:null,metadata:[],rights:null,provider:[],items:[],seeAlso:[],homepage:[],rendering:[],service:[]};n(Pl.importEntities({entities:{AnnotationPage:{[u.id]:u}}}))},[i]);let a=_e(u=>i&&u.iiif.entities.AnnotationPage[i]||null,[i]),r=(0,qo.useCallback)((u,f)=>{if(i){if(ZD(u)){let m=u;m.__vault||m.bindToVault(t),u=typeof m.source=="string"?m.source:m.source.id,e.current[u]=m}else typeof u!="string"&&(u=u.id);let h=t.get({id:i,type:"AnnotationPage"}),d=t.get({id:u,type:"Annotation"});h&&d&&(h.items.find(m=>m.id===d.id)||n(Pl.addReference({id:i,type:"AnnotationPage",key:"items",reference:{id:u,type:"Annotation"},index:f})))}},[i]),l=(0,qo.useCallback)(u=>{i&&(ZD(u)?u=typeof u.source=="string"?u.source:u.source.id:typeof u!="string"&&(u=u.id),e.current[u]&&e.current[u].beforeRemove(),t.get({id:i,type:"AnnotationPage"})&&n(Pl.removeReference({id:i,type:"AnnotationPage",key:"items",reference:{id:u,type:"Annotation"}})))},[i]);return[a,{addAnnotation:r,removeAnnotation:l}]}var JD=N(K(),1),WD=(0,Dd.createContext)(null);function VR(){let t=(0,Dd.useContext)(WD);return[t.fullPage,{addAnnotation:t.addAnnotation,removeAnnotation:t.removeAnnotation}]}function UR({children:t}){let[e,{addAnnotation:n,removeAnnotation:i}]=FR();return(0,JD.jsx)(WD.Provider,{value:(0,Dd.useMemo)(()=>({fullPage:e,addAnnotation:n,removeAnnotation:i}),[e]),children:t})}var Eu=N(K(),1);function qR({children:t}){let{strategy:e}=fn(),[n]=VR();return e.type!=="images"?null:(0,Eu.jsxs)(Eu.Fragment,{children:[n?(0,Eu.jsx)(tl,{page:n}):null,e.annotations&&e.annotations.pages?e.annotations.pages.map(i=>(0,Eu.jsx)(tl,{page:i},i.id)):null,t]})}var al=N(ct(),1);var $D=N(ct(),1),jR=(t,e=[])=>{let n=ce();(0,$D.useEffect)(()=>{t(n)},[n,...e])};var l0=N(ct(),1);var tP=l0.default.createContext(new Lc);function bp(){return(0,l0.useContext)(tP)}function eP(t,e){try{let n=Pe(t);if(!n)return;let i=ax(n),a=i.type==="image"?i.region.w:void 0,r=i.type==="image"?i.region.h:void 0,l=a||t.width,u=r||t.height,f=e.width||e.maxWidth,h=e.height||e.maxHeight;if(i.type!=="image"||i.region.full||i.region.square)return;(f||h)&&(i.size={max:!1,upscaled:!1,confined:!!(f&&h),width:f,height:h,version:3});let d=l&&u&&(f||h)?Math.min(f?f/l:1/0,h?h/u:1/0):void 0;return{id:Nc(i),type:"fixed",width:l&&d?Math.round(l*d):f||l||t.width||0,height:u&&d?Math.round(u*d):h||u||t.height||0}}catch{return}}function jo(t,e,{canvasId:n,manifestId:i}={}){let a=ce(),r=bp(),l=(0,al.useMemo)(()=>cx(a,{imageServiceLoader:r}),[a,r]),[u,f]=(0,al.useState)(),h=Tn(i?{id:i}:void 0),d=Wt(n?{id:n}:void 0),m=d||h,y=(0,al.useRef)(!1);if((0,al.useEffect)(()=>(y.current=!1,()=>{y.current=!0}),[]),!m)throw new Error("Must be called under a manifest or canvas context.");return jR(g=>{if(m.type==="Canvas"&&m.thumbnail?.length){let b=eP(g.get(m.thumbnail[0]),t);if(b&&!y.current){f(b);return}}l.getBestThumbnailAtSize(m,t,e).then(b=>{b.best&&!y.current&&f(b.best)})},[m,t.width,t.height,t.maxWidth,t.maxHeight,t.minWidth,t.minHeight,t.allowUnsafe,t.unsafeImageService,t.preferFixedSize,e]),u}var kR=N(K(),1);function Cu({x:t=0,y:e=0}){let n=Wt(),i=jo({maxWidth:256,maxHeight:256});return!n||!i||i.type!=="fixed"?null:(0,kR.jsx)("world-object",{height:n.height,width:n.width,x:t,y:e,children:(0,kR.jsx)("world-image",{uri:i.id,target:{x:0,y:0,width:n.width,height:n.height},display:i.width&&i.height?{width:i.width,height:i.height}:void 0,crop:void 0})})}var u0=N(K(),1);function GR({as:t}){let{strategy:e}=fn(),{renderMediaControls:n,mediaControlsDeps:i}=Hi();return e.type!=="media"||e.media.type!=="Sound"?null:(0,u0.jsxs)(i0,{media:e.media,mediaControlsDeps:i,audioCopmonent:t,children:[(0,u0.jsx)(Cu,{}),n?n(e):null]},e.media.url)}var g0=N(ct(),1);var c0=N(ct(),1);var nP=N(K(),1),YR=(0,c0.createContext)(null);YR.displayName="ComplexTimeline";function XR({children:t,store:e}){return(0,nP.jsx)(YR.Provider,{value:e,children:t})}function W7(t){let e=(0,c0.useContext)(YR);if(!e)throw new Error("useComplexTimeline must be used within a ComplexTimelineProvider");return zt(e,t)}function iP({currentKeyFrameIndex:t,keyframes:e,targetTime:n,currentTime:i}){if(i<=n){let a=e.findIndex(u=>u.time>n);if(a===-1)return[t,[]];let r={},l=e.slice(t,a);for(let u of l)u.type==="enter"&&(r[u.id]=u),u.type==="exit"&&(r[u.id]?delete r[u.id]:r[u.id]=u);return[a,Object.values(r)]}return[t,[]]}function aP({complexTimeline:t,startTime:e=0}){let n=vr(),i={},a={progress:null,currentTime:null},r=0,l=null,u=0,f=null;function h(){let w=C.getState().visibleElements,R=i,E=[],M=Object.keys(R);for(let z of M){let I=R[z],L=w[z];I&&L&&E.push(I)}return E}function d(){return Object.keys(i).map(w=>i[w])}function m(x){a.currentTime&&(a.currentTime.innerHTML=n0(x),a.progress&&(a.progress.style.width=`${x/t.duration*100}%`))}let y=()=>{let x=C.getState(),w=x.currentPrime;if(!w)return;let R=i,E=x.visibleElements,M=Object.keys(R);for(let z of M){let I=R[z],L=E[z];if(I&&z!==w.id&&L){let H=u-L.time*1e3;Math.abs(u-L.time*1e3-I.currentTime*1e3)>300&&(I.currentTime=H/1e3)}}},g=(x=0)=>{let w=x-r,R=C.getState();if(R.isPlaying){let E=R.currentPrime;if(E){let L=i[E.id];L&&(L.paused?u+=w:u=(E.time+L.currentTime)*1e3)}else u+=w;let M=u/1e3;if(M>R.duration){C.getState().setTime(0),C.setState({isPlaying:!1}),b(),m(0);return}m(M);let[z,I]=iP({currentTime:M,currentKeyFrameIndex:R.nextKeyframeIndex,keyframes:R.complexTimeline.keyframes,targetTime:M});I.length&&R.applyKeyframes(z,I)}r=x,l=requestAnimationFrame(g)},b=()=>{l&&cancelAnimationFrame(l)},T=(x,w)=>{},C=va((x,w)=>({complexTimeline:t,elements:{},visibleElements:{},isBuffering:!1,bufferMap:{},isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,isReady:!1,volume:100,duration:t.duration,clockStartRequests:0,clockStartTime:0,primeTime:0,currentPrime:null,clockRunning:!1,nextKeyframeIndex:0,startClock:()=>{w().clockRunning||(g(),f=setInterval(y,500)),x({clockRunning:!0,clockStartRequests:w().clockStartRequests+1})},applyKeyframes(R,E){let M=w(),z={...M.visibleElements},I=M.currentPrime;for(let L of E)L.type==="enter"&&(z[L.id]=L,n.emit("complex-timeline.enter",{id:L.id})),L.type==="exit"&&(z[L.id]=null,n.emit("complex-timeline.exit",{id:L.id})),L.isPrime&&(I=L);x({nextKeyframeIndex:R,visibleElements:z,currentPrime:I})},stopClock:()=>{let R=w().clockStartRequests;if(R!==0){if(R===1){b(),f&&clearInterval(f),x({clockRunning:!1,clockStartRequests:0});return}x({clockStartRequests:R-1})}},setElement:(R,E)=>{i[R]=E;let M=Object.keys(i),z=w().complexTimeline;T(E,R),z.items.filter(L=>L.type!=="Image"&&L.type!=="Text").every(L=>M.includes(L.annotationId))&&!w().isReady&&(n.emit("complex-timeline.ready",{complexTimeline:z}),x({isReady:!0}))},removeElement:R=>{delete i[R]},mute(){for(let R of d())R.muted=!0;x({isMuted:!0})},unmute(){for(let R of d())R.muted=!1;x({isMuted:!1})},play(){if(!w().isPlaying){for(let E of h())E.play();x({isPlaying:!0})}},pause(){if(w().isPlaying){for(let E of h())E.pause();x({isPlaying:!1})}},playPause(){let R=w();R.isPlaying?R.pause():R.play()},setDurationPercent(R){let M=w().duration*R;w().setTime(M)},setTime(R){let E=w(),M=u/1e3,z=typeof R=="function"?R(M):R,I=E.nextKeyframeIndex;if(M>z){x({visibleElements:{},currentPrime:null});let it=Object.keys(E.visibleElements);for(let nt of it)n.emit("complex-timeline.exit",{id:nt});M=0,I=0}let[L,H]=iP({currentTime:M,currentKeyFrameIndex:I,keyframes:E.complexTimeline.keyframes,targetTime:z});E.applyKeyframes(L,H),u=z*1e3;let st=C.getState().visibleElements,et=i,gt=Object.keys(st);for(let it of gt){let nt=st[it];if(nt){let ut=et[it];ut&&(ut.currentTime=(u-nt.time*1e3)/1e3)}}m(z)},setVolume(R){for(let E of d())E.volume=Math.min(1,Math.max(0,R/100));x({volume:R})},toggleMute(){let R=w();R.isMuted?(R.unmute(),x({isMuted:!1})):(R.mute(),x({isMuted:!0}))},clearProgressElement(){a.progress=null},setProgressElement(R){a.progress=R},setCurrentTimeElement(R){a.currentTime=R},clearCurrentTimeElement(){a.currentTime=null}}));return n.on("complex-timeline.enter",x=>{let w=C.getState(),R=x.id,E=i[R];E&&w.isPlaying&&E.play()}),n.on("complex-timeline.exit",x=>{let w=C.getState(),R=x.id,E=i[R];E&&(E.currentTime=0,E.pause())}),C.getState().setTime(e),{store:C,emitter:n}}var Bd=N(ct(),1);var Sr=N(ct(),1);var Sp=[.6,.02,0,.75],QR=16,rl={linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1],"ease-in-cubic":Sp,"ease-out-cubic":[.215,.61,.355,1]};function KR(t,e,n){let i=Math.max(0,Math.min(1,n));return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i,width:t.width+(e.width-t.width)*i,height:t.height+(e.height-t.height)*i}}function ZR(t,e){let n=[],i=t;for(let a of e)n.push({from:i,to:a}),i=a;return n}function br([t,e,n,i]){let a=3*t,r=3*(n-t)-a,l=1-a-r,u=3*e,f=3*(i-e)-u,h=1-u-f;function d(b){return((l*b+r)*b+a)*b}function m(b){return((h*b+f)*b+u)*b}function y(b){return(3*l*b+2*r)*b+a}function g(b,T=1e-6){let C=b;for(let R=0;R<8;R++){let E=d(C)-b;if(Math.abs(E)<T)return C;let M=y(C);if(Math.abs(M)<1e-6)break;C=C-E/M}let x=0,w=1;for(C=b;x<w;){let R=d(C);if(Math.abs(R-b)<T)return C;b>R?x=C:w=C,C=(w-x)*.5+x}return C}return b=>{if(b<=0)return 0;if(b>=1)return 1;let T=g(b);return m(T)}}function WR(t,e){if(!e||e.length===0)return{index:-1,t:0};if(Number.isNaN(t)||!isFinite(t))return{index:-1,t:0};if(t<0)return{index:-1,t:0};if(t>=e.length)return{index:e.length,t:0};let n=Math.floor(t),i=t-n;return{index:n,t:i}}function rP(t,{duration:e=300,easing:n}={}){let i=(0,Sr.useRef)(br(rl["ease-in-out"]));(0,Sr.useEffect)(()=>{if(!n)i.current=br(rl["ease-in-out"]);else if(typeof n=="function")i.current=n;else if(Array.isArray(n))i.current=br(n);else{let d=rl[n];i.current=br(d??rl["ease-in-out"])}},[n]);let[a,r]=(0,Sr.useState)(t),l=(0,Sr.useRef)(t??0),u=(0,Sr.useRef)(null),f=(0,Sr.useRef)(null),h=(0,Sr.useRef)(t);return(0,Sr.useEffect)(()=>{if(t===void 0){r(void 0);return}let d=h.current;if(h.current=t,d===void 0){l.current=t,r(t);return}if(d===t&&a===t)return;f.current!==null&&(cancelAnimationFrame(f.current),f.current=null),u.current=null;let m=l.current,y=(((t||0)-m)%360+540)%360-180,g=m+y;function b(T){u.current===null&&(u.current=T);let C=T-u.current,x=Math.min(C/e,1),w=i.current(x),R=m+(g-m)*w;l.current=R,r(R),x<1?f.current=requestAnimationFrame(b):(l.current=((t||0)%360+360)%360,r(l.current),f.current=null)}return f.current=requestAnimationFrame(b),()=>{f.current!==null&&(cancelAnimationFrame(f.current),f.current=null)}},[t,e]),a}var d0=N(ct(),1);var oP=d0.default.createContext(ux.store);oP.displayName="ImageServicesHelper";function f0(){return(0,d0.useContext)(oP)}function sP(t){let e=f0();return zt(e,({loaded:n})=>n[t])}function Pd(){let t=f0();return zt(t,({loadServiceSync:e})=>e)}function lP(){let t=f0();return zt(t,({loaded:e})=>e)}function uP(){let t=f0();return zt(t,({loadService:e})=>e)}var wr=N(ct(),1),xr=N(K(),1),dP=wr.default.createContext("en"),fP=wr.default.createContext({}),hP=wr.default.createContext(null);function J7(t){return(0,xr.jsx)(fP.Provider,{value:t.translations,children:t.children})}function $7(t){return(0,xr.jsx)(dP.Provider,{value:t.language,children:t.children})}function t9(t){return(0,xr.jsx)(hP.Provider,{value:t.convert,children:t.children})}function JR(){return wr.default.useContext(hP)}function h0(){return wr.default.useContext(dP)}function $R(){return wr.default.useContext(fP)}function cP(t){return t.indexOf("-")!==-1?t.slice(0,t.indexOf("-")):t}function pP({as:t,language:e,children:n,viewingDirection:i,...a}){let r=h0();return(0,wr.useMemo)(()=>cP(r)===cP(e),[r,e])?t?(0,xr.jsx)(t,{...a,children:n}):(0,xr.jsx)("span",{...a,children:n}):t?(0,xr.jsx)(t,{...a,lang:e,dir:i,children:n}):(0,xr.jsx)("span",{...a,lang:e,dir:i,children:n})}function mP(t,e,n){if(e.length===0)return;if(e.length===1)return e[0];if(e.indexOf(t)!==-1)return t;let i=t.indexOf("-")!==-1?t.slice(0,t.indexOf("-")):null;if(i&&e.indexOf(i)!==-1)return i;for(let a of n)if(e.indexOf(a)!==-1)return a;return e.indexOf("none")!==-1?"none":e.indexOf("@none")!==-1?"@none":e[0]}var gP=(t,e=[])=>{let n=h0();return(0,wr.useMemo)(()=>{let i=t();return mP(n,i,[])},[n,...e])};function Au(t,e,n,i){return e?n?n(t[e]||e,i||"none"):t[e]||e:""}function yP(t,e,n=`
108
- `,i={}){let a=JR(),r=gP(()=>Object.keys(t||{}),[t]);return[(0,wr.useMemo)(()=>{if(!t)return Au(i,e,a)||"";if(typeof t=="string")return Au(i,t,a);let l=r?t[r]:void 0;return l?typeof l=="string"?l:l.map(u=>Au(i,u,a,r)).join(n):""},[r,e,t]),r]}function e9(){let t=h0(),e=$R(),n=JR();return function(a,r="",l=`
109
- `,u=e){let f=Object.keys(a||{}),h=mP(t,f,[]);if(!a)return Au(u,r,n)||"";if(typeof a=="string")return Au(u,a,n);let d=h?a[h]:void 0;return d?typeof d=="string"?Au(u,d,n,h):d.map(m=>Au(u,m,n,h)).join(typeof l<"u"?l:`
110
- `):""}}function za({as:t,defaultText:e,enableDangerouslySetInnerHTML:n,children:i,separator:a,...r}){let l=$R(),[u,f]=yP(i,e,a,l);return f?(0,xr.jsx)(pP,{...r,as:t,language:f,title:n?void 0:u,dangerouslySetInnerHTML:n?{__html:u}:void 0,children:n?void 0:u}):t?(0,xr.jsx)(t,{...r,children:u}):(0,xr.jsx)("span",{...r,title:n?void 0:u,dangerouslySetInnerHTML:n?{__html:u}:void 0,children:n?void 0:u})}var p0=N(ct(),1),Mu=N(K(),1),tE=t=>{let e=t.format||"jpg",n=t.width/(t.crop?.width||t.tiles.width),i=t.tiles.imageService.sizes||[],a=t.enableThumbnail,r=t.enableSizes,l=(0,p0.useMemo)(()=>{let h=t.tiles.imageService.id||t.tiles.imageService["@id"];return h?.endsWith("/info.json")?h.slice(0,-1*10):h},[t.tiles.imageService.id,t.tiles.imageService["@id"]]),u=(0,p0.useMemo)(()=>{let h=t.tiles.imageService.tiles||[];if(!h.length){let d=t.width,m=[1],y=1;for(;2**y<d;)y=y*2,m.push(y);return(t.tiles.imageService.maxArea||t.tiles.imageService.maxWidth||t.tiles.imageService.maxHeight)&&Ic(2,t.tiles.imageService)?[{width:256,height:256,scaleFactors:m}]:Ic(2,t.tiles.imageService)?[{width:256,height:256,scaleFactors:m}]:[]}return h},[t.tiles.imageService,t.width]),f=(0,p0.useMemo)(()=>{let h=t.tiles.imageService;return(h?h["@context"]?Array.isArray(h["@context"])?h["@context"]:[h["@context"]]:[]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1},[t.tiles.imageService.id,t.tiles.imageService]);return(0,Mu.jsx)("world-object",{rotation:t.rotation,scale:n,height:t.crop?.height||t.tiles.height,width:t.crop?.width||t.tiles.width,x:t.x,y:t.y,onClick:t.onClick,children:(0,Mu.jsxs)("composite-image",{id:t.tiles.imageService.id,width:t.crop?.width||t.tiles.width,height:t.crop?.height||t.tiles.height,crop:t.crop,renderOptions:t.renderOptions,children:[a&&t.tiles.thumbnail?(0,Mu.jsx)("world-image",{priority:!0,uri:t.tiles.thumbnail.id,target:{width:t.tiles.width,height:t.tiles.height},display:{width:t.tiles.thumbnail.width,height:t.tiles.thumbnail.height},crop:t.crop}):null,r&&i.map((h,d)=>(0,Mu.jsx)("world-image",{uri:`${l}/full/${h.width},${f?h.height:""}/0/default.${e}`,target:{width:t.tiles.width,height:t.tiles.height},display:{width:h.width,height:h.height},crop:t.crop},d)),u.map(h=>(h.scaleFactors||[]).map(d=>(0,Mu.jsx)("tiled-image",{uri:t.tiles.imageService.id,display:{width:t.tiles.width,height:t.tiles.height},format:e,tile:h,scaleFactor:d,crop:t.crop,version3:f},`${t.tiles.imageService.id}-tile-${d}`)))]},t.tiles.imageService.id)},t.tiles.imageService.id)};var $a=N(K(),1);function n9({resource:t,heading:e,note:n,extra:i}){return i?(0,$a.jsx)(na,{target:{x:0,y:0,width:i.target?.spatial.width,height:i.target?.spatial.height},backgroundColor:"#333",relative:!0,children:(0,$a.jsx)("div",{style:{display:"flex",alignContent:"center",justifyContent:"center",alignItems:"center",height:"100%",width:"100%",background:"#444",color:"#BBB"},children:(0,$a.jsxs)("div",{children:[(0,$a.jsx)(za,{children:e||"Not authorised"}),n&&(0,$a.jsx)("p",{children:(0,$a.jsx)(za,{children:n})}),(0,$a.jsx)("p",{children:t.id||t["@id"]||"unknown"})]})})}):null}function vP({image:t,thumbnail:e,crop:n,enableSizes:i,enableThumbnail:a,renderOptions:r,rotation:l,manualRotation:u}){let f=J1(),h=Pe(t.service),d=sP(h),m=Pd(),y=d?.service;m(t.service,t);let g=y&&d?.status==="done",b=(y?.preferredFormats||[])[0],T=e&&e.type==="fixed"&&e.id&&!e.id.includes("/full/full/")&&!e.id.includes("/max/")?e:void 0;if(g===!1)return null;if(!f){let C=t.service,x=C.width||t.width||0,w=C.height||t.height||0,R=0,E=0,M=t.target?.spatial.width||x,z=t.target?.spatial.height||w,I=M,L=z;return(l===90||l===270)&&!u&&([M,z]=[z,M],R=(I-M)/2,E=(L-z)/2),u&&([M,z]=[z,M]),(0,$a.jsx)(tE,{enableThumbnail:a,renderOptions:r,rotation:l,tiles:{id:C.id||C["@id"]||"unknown",height:w,width:x,imageService:C,thumbnail:T},enableSizes:i,x:R,y:E,format:b,width:M,height:z,crop:n})}return(0,$a.jsx)($1,{resource:t.service,errorComponent:n9,extra:t,children:C=>{let x=C.width||t.width||0,w=C.height||t.height||0,R=0,E=0,M=t.target?.spatial.width||x,z=t.target?.spatial.height||w,I=M,L=z;return(l===90||l===270)&&!u&&([M,z]=[z,M],R=(I-M)/2,E=(L-z)/2),(0,$a.jsx)(tE,{enableThumbnail:a,renderOptions:r,tiles:{id:C.id||C["@id"]||"unknown",height:w,width:x,imageService:C,thumbnail:T},rotation:l,format:b,enableSizes:i,x:R,y:E,width:M,height:z,crop:n})}},t.id)}var ol=N(K(),1);function sl({id:t,image:e,thumbnail:n,isStatic:i,x:a=0,y:r=0,children:l,selector:u,onClick:f,rotation:h,enableSizes:d,enableAnnotations:m}){let y=(0,Bd.useMemo)(()=>{if(!(!u||u.spatial.x===0&&u.spatial.y===0))return u.spatial},[u]),g=(0,Bd.useMemo)(()=>{if(typeof e.rotation<"u")return e.rotation;if(!e.annotation)return 0;let z=Array.isArray(e.annotation.body)?e.annotation.body?.[0]:e.annotation.body;if(z&&z.selector?.type==="ImageApiSelector")return Number(z.selector.rotation)},[e]),b=rP(h),T=!!e.service,C=a+e.target.spatial.x,x=r+e.target.spatial.y,w=e.target.spatial.width,R=e.target.spatial.height,E=e.target.spatial.width,M=e.target.spatial.height;return(g===90||g===270)&&([E,M]=[M,E],T||([w,R]=[R,w],C+=(e.target.spatial.width-w)/2,x+=(e.target.spatial.height-R)/2)),(0,ol.jsxs)("world-object",{x:C,y:x,width:w,height:R,onClick:f,rotation:e.service?void 0:typeof b<"u"?b:g,children:[e.service?(0,ol.jsxs)(Bd.Fragment,{children:[(0,ol.jsx)(vP,{image:e,thumbnail:n,crop:y,enableSizes:d,rotation:typeof b<"u"?b:g,manualRotation:typeof h<"u"}),l]},"service"):(0,ol.jsxs)(Bd.Fragment,{children:[(0,ol.jsx)("world-image",{onClick:f,uri:e.id,target:{x:0,y:0,width:E,height:M},display:E&&M?{width:E,height:M}:void 0,crop:y}),l]},"no-service"),m&&e.annotationPages?e.annotationPages.map(z=>(0,ol.jsx)(tl,{page:z,className:"image-service-annotation",ignoreTargetId:!0},z.id)):null]},t+(T?"server":"no-service"))}var ko=N(K(),1);function m0({strategy:t,onClickPaintingAnnotation:e}){return(0,ko.jsx)(ko.Fragment,{children:t.items.map((n,i)=>(0,ko.jsx)(ko.Fragment,{children:(0,ko.jsx)(na,{onClick:e?a=>{a.stopPropagation(),e(n.annotationId,n,a)}:void 0,target:n.target?.spatial||void 0,children:(0,ko.jsx)("div",{"data-textual-content":!0,children:(0,ko.jsx)(za,{enableDangerouslySetInnerHTML:!0,children:n.text})})},i)}))})}var tr=N(K(),1);function bP({strategy:t,children:e}){let{store:n}=(0,g0.useMemo)(()=>aP({complexTimeline:t}),[t]),i=zt(n,l=>l.isReady),a=zt(n,l=>l.visibleElements);function r(l){return u=>{u&&n.getState().setElement(l,u)}}return(0,g0.useLayoutEffect)(()=>{if(i){let{startClock:l,stopClock:u}=n.getState();return l(),()=>{u()}}},[t,i]),vi("portal","custom-controls",XR,{store:n,children:e},[i]),(0,tr.jsxs)(tr.Fragment,{children:[t.items.map(l=>l.type!=="Image"||!a[l.annotationId]?null:(0,tr.jsx)(sl,{image:l,id:l.annotationId},l.id)),t.items.map((l,u)=>l.type!=="Text"||!a[l.annotationId]?null:(0,tr.jsx)(m0,{strategy:{type:"textual-content",items:[l]}},u)),t.items.map((l,u)=>l.type!=="Video"||!l.target.spatial?null:(0,tr.jsx)(na,{target:l.target.spatial,children:(0,tr.jsx)("video",{ref:r(l.annotationId),src:l.url,style:{height:"100%",width:"100%",opacity:a[l.annotationId]?1:0}})},u)),t.items.map((l,u)=>l.type!=="Sound"?null:(0,tr.jsx)(na,{children:(0,tr.jsx)("audio",{ref:r(l.annotationId),src:l.url})},u)),t.highlights.map(({annotation:l})=>a[l.id]?(0,tr.jsx)(xu,{id:l.id,ignoreTargetId:!0,style:{outline:"3px solid red"},className:"image-service-annotation"},l.id):null)]})}var SP=N(K(),1);function eE(){let{strategy:t}=fn(),{renderComplexTimelineControls:e}=Hi();return t.type!=="complex-timeline"?null:(0,SP.jsx)(bP,{strategy:t,children:e?e(t):null})}var xP=N(K(),1);function y0({style:t}){let e=Wt();return!e||!e.height||!e.width?null:(0,xP.jsx)("box",{interactive:!1,target:{x:0,y:0,width:Number(e.width),height:Number(e.height)},style:t})}var wP=N(K(),1);function nE({backgroundStyle:t,alwaysShowBackground:e}){let{strategy:n}=fn();return n.type!=="empty"&&!e?null:(0,wP.jsx)(y0,{style:t})}var v0=N(ct(),1),Tr=(0,v0.createContext)(null);function xp(){return(0,v0.useContext)(Tr)}var Hd=N(K(),1);function iE({isStatic:t=!1,enableSizes:e=!1,enableAnnotations:n=!0,onClickPaintingAnnotation:i,rotation:a,children:r}){let{strategy:l}=fn(),{renderViewerControls:u,viewControlsDeps:f}=Hi(),h=Wt(),d=xp(),m=jo({maxWidth:256,maxHeight:256});if(vi(d&&l.type==="images"&&u?"overlay":"none",`canvas-portal-controls-${h?.id}`,Tr.Provider,u?{value:d||null,children:u(l)}:{},[h,d,l,...f||[]]),l.type!=="images")return null;let y=l.images.length===1?a:0;return(0,Hd.jsxs)(Hd.Fragment,{children:[l.images.map((g,b)=>(0,Hd.jsx)(sl,{isStatic:t,image:g,id:g.id,thumbnail:b===0?m:void 0,selector:g.selector,enableSizes:e,enableAnnotations:n,rotation:y,onClick:i?T=>{i(g.annotationId,g,T)}:void 0},g.id+b)),r]})}var Fd=N(K(),1);function aE({onClickPaintingAnnotation:t,children:e}){let{strategy:n}=fn(),{renderViewerControls:i,viewControlsDeps:a}=Hi(),r=xp(),l=Wt();return vi(r&&n.type==="textual-content"&&i?"overlay":"none",`canvas-portal-controls-${l?.id}`,Tr.Provider,i?{value:r||null,children:i(n)}:{},[l,r,n,...a||[]]),n.type!=="textual-content"?null:(0,Fd.jsxs)(Fd.Fragment,{children:[(0,Fd.jsx)(m0,{strategy:n,onClickPaintingAnnotation:t}),e]})}var wp=N(K(),1);function rE({element:t,media:e,startTime:n,playPause:i,poster:a}){let r="div",l=n?`${e.url}#t=${n}`:e.url;return(0,wp.jsxs)(r,{className:"video-container",part:"video-container",onClick:i,children:[(0,wp.jsx)("style",{children:`
104
+ `}),(0,Nr.jsx)("div",{className:"model-container",children:(0,Nr.jsx)("model-viewer",{"interaction-prompt":"none",style:{width:"100%",height:"100%"},"camera-controls":"","ar-status":"not-presenting",src:e.id})})]})}function Id({model:e,name:t}){return Ut("overlay",`model-${t}`,Gm,{model:e},[e]),null}var Vw=P(D(),1);function Km(){let{strategy:e}=ht();return e.type!=="3d-model"?null:(0,Vw.jsx)(Id,{model:e.model})}var Ed=P(Z(),1),Dl=(0,Ed.createContext)(null);Dl.displayName="Controls";function li(){let e=(0,Ed.useContext)(Dl);if(!e)throw new Error("useStrategy must be used within a StrategyProvider");return e}function Mi(e){return{width:typeof e.width=="number"&&e.width>0?e.width:0,height:typeof e.height=="number"&&e.height>0?e.height:0}}function Ww(e){return!e||typeof e!="object"||!("id"in e)||!("type"in e)?!1:typeof e.id=="string"&&(e.type==="Canvas"||e.type==="Timeline"||e.type==="Scene")}function Md(e){if(!(!e||!("backgroundColor"in e)))return typeof e.backgroundColor=="string"?e.backgroundColor:void 0}function qs(e){if(!e)return null;let t="placeholderContainer"in e?e.placeholderContainer:"placeholderCanvas"in e?e.placeholderCanvas:null;return Ww(t)?t:null}function $w(e){if(!e)return null;let t="accompanyingContainer"in e?e.accompanyingContainer:"accompanyingCanvas"in e?e.accompanyingCanvas:null;return Ww(t)?t:null}var Qn=P(D(),1);function Xm(){let{strategy:e}=ht(),{renderViewerControls:t,viewControlsDeps:i}=li(),n=Ze(),r=$w(n),o=qs(n),s=r?.type==="Canvas",a=o?.type==="Canvas";return(0,Qn.jsxs)(Qn.Fragment,{children:[e.type==="media"&&e.media.type==="Sound"&&s?(0,Qn.jsx)(Di,{canvas:r.id,children:(0,Qn.jsx)(Eo,{renderViewerControls:t,viewControlsDeps:i})}):null,e.type==="media"&&e.media.type==="Sound"&&a&&!s?(0,Qn.jsx)(Di,{canvas:o.id,children:(0,Qn.jsx)(Eo,{renderViewerControls:t,viewControlsDeps:i})}):null]})}var Us=P(Z(),1);var Jn=P(Z(),1);var jw=P(Z(),1);function Zm(){let t=We().getStore();return(0,jw.useMemo)(()=>i=>t.dispatch(i),[t])}function Hw(e){return typeof e!="string"&&e&&e.bindToVault}function kd(){let e=We(),t=(0,Jn.useRef)([]),i=Zm(),n=(0,Jn.useMemo)(()=>`vault://annotation-page/${new Date().getTime()}/${Math.round(Math.random()*1e9).toString(16)}`,[]);(0,Jn.useLayoutEffect)(()=>{e.loadSync(n,{id:n,type:"AnnotationPage",items:[]})},[n,e,i]);let r=Ue(a=>n&&a.iiif.entities.AnnotationPage[n]||null,[n,e,i]),o=(0,Jn.useCallback)((a,c)=>{if(n){if(Hw(a)){let d=a;d.__vault||d.bindToVault(e),a=typeof d.source=="string"?d.source:d.source.id,t.current[a]=d}else typeof a!="string"&&(a=a.id);let u=e.get({id:n,type:"AnnotationPage"}),l=e.get({id:a,type:"Annotation"});u&&l&&(u.items.find(d=>d.id===l.id)||i(ro.addReference({id:n,type:"AnnotationPage",key:"items",reference:{id:a,type:"Annotation"},index:c})))}},[n,e,i]),s=(0,Jn.useCallback)(a=>{n&&(Hw(a)?a=typeof a.source=="string"?a.source:a.source.id:typeof a!="string"&&(a=a.id),t.current[a]&&t.current[a].beforeRemove(),e.get({id:n,type:"AnnotationPage"})&&i(ro.removeReference({id:n,type:"AnnotationPage",key:"items",reference:{id:a,type:"Annotation"}})))},[n,e,i]);return[r,{addAnnotation:o,removeAnnotation:s}]}var Uw=P(D(),1),qw=(0,Us.createContext)(null);function Od(){let e=(0,Us.useContext)(qw);return[e.fullPage,{addAnnotation:e.addAnnotation,removeAnnotation:e.removeAnnotation}]}function Ld({children:e}){let[t,{addAnnotation:i,removeAnnotation:n}]=kd();return(0,Uw.jsx)(qw.Provider,{value:(0,Us.useMemo)(()=>({fullPage:t,addAnnotation:i,removeAnnotation:n}),[t,i,n]),children:e})}var Mo=P(D(),1);function Qm({children:e}){let{strategy:t}=ht(),[i]=Od();return t.type!=="images"?null:(0,Mo.jsxs)(Mo.Fragment,{children:[i?(0,Mo.jsx)(En,{page:i}):null,t.annotations&&t.annotations.pages?t.annotations.pages.map(n=>(0,Mo.jsx)(En,{page:n},n.id)):null,e]})}var Dr=P(Z(),1);var Yw=P(Z(),1);function Jm(e,t=[]){let i=We();(0,Yw.useEffect)(()=>{let n=e(i);return typeof n=="function"?()=>n():void 0},[i,...t])}var _d=P(Z(),1);var Gw=_d.default.createContext(new _s);function zl(){return(0,_d.useContext)(Gw)}function Kw(e,t){try{let i=tt(e);if(!i)return;let n=rm(i),r=n.type==="image"?n.region.w:void 0,o=n.type==="image"?n.region.h:void 0,s=r||e.width,a=o||e.height,c=t.width||t.maxWidth,u=t.height||t.maxHeight;if(n.type!=="image"||n.region.full||n.region.square)return;(c||u)&&(n.size={max:!1,upscaled:!1,confined:!!(c&&u),width:c,height:u,version:3});let l=s&&a&&(c||u)?Math.min(c?c/s:1/0,u?u/a:1/0):void 0;return{id:Ls(n),type:"fixed",width:s&&l?Math.round(s*l):c||s||e.width||0,height:a&&l?Math.round(a*l):u||a||e.height||0}}catch{return}}function er(e,t,{canvasId:i,manifestId:n}={}){let r=We(),o=zl(),s=(0,Dr.useMemo)(()=>um(r,{imageServiceLoader:o}),[r,o]),[a,c]=(0,Dr.useState)(),u=Pt(n?{id:n}:void 0),l=dt(i?{id:i}:void 0),d=l||u,h=(0,Dr.useRef)(!1);if((0,Dr.useEffect)(()=>(h.current=!1,()=>{h.current=!0}),[]),!d)throw new Error("Must be called under a manifest or canvas context.");return Jm(p=>{if(d.type==="Canvas"&&d.thumbnail?.length){let f=Kw(p.get(d.thumbnail[0]),e);if(f&&!h.current){c(f);return}}s.getBestThumbnailAtSize(d,e,t).then(f=>{f.best&&!h.current&&c(f.best)})},[d,e.width,e.height,e.maxWidth,e.maxHeight,e.minWidth,e.minHeight,e.allowUnsafe,e.unsafeImageService,e.preferFixedSize,t]),a}var eg=P(D(),1);function ko({x:e=0,y:t=0}){let i=dt(),n=er({maxWidth:256,maxHeight:256});return!i||!n||n.type!=="fixed"?null:(0,eg.jsx)("world-object",{height:i.height,width:i.width,x:e,y:t,children:(0,eg.jsx)("world-image",{uri:n.id,target:{x:0,y:0,width:i.width,height:i.height},display:n.width&&n.height?{width:n.width,height:n.height}:void 0,crop:void 0})})}var Fd=P(D(),1);function tg({as:e}){let{strategy:t}=ht(),{renderMediaControls:i,mediaControlsDeps:n}=li();return t.type!=="media"||t.media.type!=="Sound"?null:(0,Fd.jsxs)(Td,{media:t.media,mediaControlsDeps:n,audioCopmonent:e,children:[(0,Fd.jsx)(ko,{}),i?i(t):null]},t.media.url)}var Zs=P(Z(),1);var Nd=P(Z(),1);var Xw=P(D(),1),ig=(0,Nd.createContext)(null);ig.displayName="ComplexTimeline";function Bl({children:e,store:t}){return(0,Xw.jsx)(ig.Provider,{value:t,children:e})}function Dd(){let e=(0,Nd.useContext)(ig);if(!e)throw new Error("useComplexTimeline must be used within a ComplexTimelineProvider");return e}function JE(e){return be(Dd(),e)}var $l=P(Z(),1);function Zw({currentKeyFrameIndex:e,keyframes:t,targetTime:i,currentTime:n}){if(n<=i){let r=t.findIndex(c=>c.time>i),o=r===-1?t.length:r,s={},a=t.slice(e,o);for(let c of a)c.type==="enter"&&(s[c.id]=c),c.type==="change"&&(s[c.id]=s[c.id]?.type==="enter"?{...s[c.id],isPrime:c.isPrime}:c),c.type==="exit"&&(s[c.id]?delete s[c.id]:s[c.id]=c);return[o,Object.values(s)]}return[e,[]]}function Qw({complexTimeline:e,startTime:t=0}){let i=Ai(),n=new Map,r=!1,o=null,s=null,a=null,c=null,u=()=>R.getState().complexTimeline.items.filter(v=>v.type==="Video"||v.type==="Sound");function l(){let v=!r&&u().every(T=>(n.get(T.annotationId)?.element.readyState||0)>=2),S=R.getState().isReady,C=u().filter(T=>{let I=n.get(T.annotationId)?.element;if(!I||I.readyState<2||!Number.isFinite(I.duration)||I.duration<=0)return!1;let E=I.seekable;return!E?.length||!Array.from({length:E.length},(V,Y)=>E.end(Y)>E.start(Y)).some(Boolean)}).map(T=>T.annotationId);R.setState({isReady:v,unseekableMedia:C}),v&&!S&&i.emit("complex-timeline.ready",{complexTimeline:R.getState().complexTimeline})}function d(v){R.setState({primeTime:v}),c&&(c.textContent=Cd(v)),a&&(a.style.width=`${R.getState().duration?v/R.getState().duration*100:0}%`)}function h(v,S){let C=u().find(T=>T.annotationId===v);return C?Math.max(0,S-(C.target.temporal?.startTime||0)+(C.selector?.temporal?.startTime||0)):S}function p(v,S){let C=T=>{r||n.get(v)?.element!==S||!R.getState().isPlaying||(R.getState().pause(),R.setState({playbackError:T}))};try{S.play()?.catch(C)}catch(T){C(T)}}function f(v=!1){let S=R.getState();for(let[T,{element:I}]of n)if(S.visibleElements[T]){if(!v&&I.seeking)continue;let E=h(T,S.primeTime),V=Math.abs(I.currentTime-E);I.readyState>0&&V>(v?.01:.3)&&(I.currentTime=E),S.isPlaying&&I.paused&&p(T,I)}else I.paused||I.pause();let C=Object.entries(S.bufferMap).some(([T,I])=>I&&S.visibleElements[T]);S.isBuffering!==C&&R.setState({isBuffering:C})}function m(v){o=null;let S=R.getState(),C=s===null?0:(v-s)/1e3;s=v;let T=[...n].some(([I,{element:E}])=>S.visibleElements[I]&&E.seeking);if(!r&&S.isPlaying&&S.isReady&&!S.isBuffering&&!T){let I=S.currentPrime&&n.get(S.currentPrime.id)?.element,E=u().find(O=>O.annotationId===S.currentPrime?.id),V=I&&E&&!I.paused&&!I.ended?I.currentTime+(E.target.temporal?.startTime||0)-(E.selector?.temporal?.startTime||0):S.primeTime+C,Y=Math.min(S.duration,Math.max(0,V));Y<S.primeTime&&S.setTime(Y);let[Q,z]=Zw({currentTime:R.getState().primeTime,targetTime:Y,currentKeyFrameIndex:R.getState().nextKeyframeIndex,keyframes:S.complexTimeline.keyframes});d(Y),Q!==S.nextKeyframeIndex&&S.applyKeyframes(Q,z),f(),Y>=S.duration&&(S.pause(),R.setState({isFinished:!0}))}!r&&R.getState().clockRunning&&(o=requestAnimationFrame(m))}function g(){o!==null&&cancelAnimationFrame(o),o=null,s=null}function y(v){let S=n.get(v);if(!S)return;n.delete(v),S.cleanup(),S.element.pause();let C={...R.getState().bufferMap};delete C[v],R.setState({bufferMap:C,isBuffering:Object.entries(C).some(([T,I])=>I&&R.getState().visibleElements[T])}),l()}function x(v,S){if(r)return()=>{};y(v);let C=O=>{if(n.get(v)?.element!==S)return;let G=R.getState(),ee={...G.bufferMap,[v]:O},K=Object.entries(ee).some(([ne,oe])=>oe&&G.visibleElements[ne]);R.setState({bufferMap:ee,isBuffering:K}),i.emit("complex-timeline.buffering",{id:v,isBuffering:O}),G.isBuffering&&!K&&i.emit("complex-timeline.finished-buffering",{})},T=()=>C(!0),I=()=>{C(!1),l()},Q=[["loadedmetadata",()=>{l(),f(!0)}],["loadeddata",l],["progress",l],["durationchange",l],["waiting",T],["stalled",T],["canplay",I],["playing",I],["pause",()=>{let O=R.getState();S.paused&&!S.ended&&O.isPlaying&&O.visibleElements[v]&&O.pause()}],["error",()=>{R.getState().visibleElements[v]&&(R.getState().pause(),R.setState({playbackError:S.error||new Error(`Media failed: ${v}`)}))}],["emptied",l]];for(let[O,G]of Q)S.addEventListener(O,G);let z={element:S,cleanup:()=>{for(let[O,G]of Q)S.removeEventListener(O,G)}};return n.set(v,z),S.volume=R.getState().volume/100,S.muted=R.getState().isMuted,l(),f(!0),()=>{n.get(v)===z&&y(v)}}function w(){if(!r){r=!0,R.getState().pause(),g();for(let v of n.keys())y(v);a=c=null,i.all.clear(),R.setState({isReady:!1,clockRunning:!1,clockStartRequests:0})}}let R=Ji((v,S)=>({complexTimeline:e,visibleElements:{},isReady:!1,unseekableMedia:[],isBuffering:!1,bufferMap:{},isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,volume:100,duration:e.duration,primeTime:0,clockRunning:!1,clockStartTime:0,currentPrime:null,clockStartRequests:0,nextKeyframeIndex:0,playbackError:null,attachMediaElement:x,dispose:w,setElement:(C,T)=>{x(C,T)},removeElement:y,updateTimeline(C){if(r)return;let T=S().complexTimeline;if(T.keyframes===C.keyframes&&T.duration===C.duration){v({complexTimeline:C});for(let I of n.keys())u().some(E=>E.annotationId===I)||y(I);l();return}v({complexTimeline:C,duration:C.duration,visibleElements:{},currentPrime:null,nextKeyframeIndex:0});for(let I of n.keys())u().some(E=>E.annotationId===I)||y(I);S().setTime(S().primeTime),l()},startClock(){r||(S().clockRunning||(s=null,o=requestAnimationFrame(m)),v({clockRunning:!0,clockStartRequests:S().clockStartRequests+1}))},stopClock(){let C=Math.max(0,S().clockStartRequests-1);v({clockStartRequests:C,clockRunning:C>0}),C||g()},applyKeyframes(C,T){let I={...S().visibleElements},E=S().currentPrime;for(let V of T)V.type==="enter"&&(I[V.id]=V,i.emit("complex-timeline.enter",{id:V.id})),V.type==="exit"&&(I[V.id]=null,E?.id===V.id&&(E=null),i.emit("complex-timeline.exit",{id:V.id})),V.isPrime&&V.type!=="exit"&&(E=I[V.id]||null);v({visibleElements:I,currentPrime:E,nextKeyframeIndex:C})},play(){if(!(r||S().isPlaying)){S().isFinished&&S().setTime(0),v({isPlaying:!0,playRequested:!0,isFinished:!1,playbackError:null}),s=null;for(let[C,{element:T}]of n)S().visibleElements[C]&&p(C,T);v({playRequested:!1})}},pause(){v({isPlaying:!1,playRequested:!1});for(let{element:C}of n.values())C.paused||C.pause()},playPause(){S().isPlaying?S().pause():S().play()},setDurationPercent(C){S().setTime(S().duration*C)},setTime(C){if(r)return;let T=S(),I=typeof C=="function"?C(T.primeTime):C;if(!Number.isFinite(I))return;let E=Math.max(0,Math.min(T.duration,I));for(let O of u()){let G=n.get(O.annotationId)?.element,ee=O.target.temporal?.startTime||0,K=O.target.temporal?.endTime??T.duration;if(!G||E<ee||E>=K)continue;let ne=h(O.annotationId,E),oe=G.seekable;if(oe?.length&&Math.abs(G.currentTime-ne)>.01&&!Array.from({length:oe.length},(we,ae)=>ne>=oe.start(ae)&&ne<=oe.end(ae)).some(Boolean)){v({playbackError:new Error(`Media cannot seek to ${ne.toFixed(1)}s: the source has not made that position seekable.`)});return}}v({playbackError:null});let V=T.nextKeyframeIndex,Y=T.primeTime;if(E<Y){for(let[O,G]of Object.entries(T.visibleElements))G&&i.emit("complex-timeline.exit",{id:O});v({visibleElements:{},currentPrime:null}),V=0,Y=0}let[Q,z]=Zw({currentTime:Y,targetTime:E,currentKeyFrameIndex:V,keyframes:T.complexTimeline.keyframes});d(E),T.applyKeyframes(Q,z),v({isFinished:E>=T.duration}),E>=T.duration&&S().pause(),f(!0),s=null},mute(){for(let{element:C}of n.values())C.muted=!0;v({isMuted:!0})},unmute(){for(let{element:C}of n.values())C.muted=!1;v({isMuted:!1})},toggleMute(){S().isMuted?S().unmute():S().mute()},setVolume(C){if(Number.isFinite(C)){C=Math.min(100,Math.max(0,C));for(let{element:T}of n.values())T.volume=C/100;v({volume:C})}},setProgressElement(C){a=C,d(S().primeTime)},setCurrentTimeElement(C){c=C,d(S().primeTime)},clearProgressElement(){a=null},clearCurrentTimeElement(){c=null}}));return l(),R.getState().setTime(t),{store:R,emitter:i,attachMediaElement:x,dispose:w,getSnapshot:R.getState,subscribe:R.subscribe}}var tr=P(Z(),1);var cn=P(Z(),1);var Vl=[.6,.02,0,.75],ng=16,zr={linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1],"ease-in-cubic":Vl,"ease-out-cubic":[.215,.61,.355,1]};function rg(e,t,i){let n=Math.max(0,Math.min(1,i));return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n,width:e.width+(t.width-e.width)*n,height:e.height+(t.height-e.height)*n}}function og(e,t){let i=[],n=e;for(let r of t)i.push({from:n,to:r}),n=r;return i}function ln([e,t,i,n]){let r=3*e,o=3*(i-e)-r,s=1-r-o,a=3*t,c=3*(n-t)-a,u=1-a-c;function l(f){return((s*f+o)*f+r)*f}function d(f){return((u*f+c)*f+a)*f}function h(f){return(3*s*f+2*o)*f+r}function p(f,m=1e-6){let g=f;for(let w=0;w<8;w++){let R=l(g)-f;if(Math.abs(R)<m)return g;let v=h(g);if(Math.abs(v)<1e-6)break;g=g-R/v}let y=0,x=1;for(g=f;y<x;){let w=l(g);if(Math.abs(w-f)<m)return g;f>w?y=g:x=g,g=(x-y)*.5+y}return g}return f=>{if(f<=0)return 0;if(f>=1)return 1;let m=p(f);return d(m)}}function sg(e,t){if(!t||t.length===0)return{index:-1,t:0};if(Number.isNaN(e)||!isFinite(e))return{index:-1,t:0};if(e<0)return{index:-1,t:0};if(e>=t.length)return{index:t.length,t:0};let i=Math.floor(e),n=e-i;return{index:i,t:n}}function Jw(e,{duration:t=300,easing:i}={}){let n=(0,cn.useRef)(ln(zr["ease-in-out"]));(0,cn.useEffect)(()=>{if(!i)n.current=ln(zr["ease-in-out"]);else if(typeof i=="function")n.current=i;else if(Array.isArray(i))n.current=ln(i);else{let l=zr[i];n.current=ln(l??zr["ease-in-out"])}},[i]);let[r,o]=(0,cn.useState)(e),s=(0,cn.useRef)(e??0),a=(0,cn.useRef)(null),c=(0,cn.useRef)(null),u=(0,cn.useRef)(e);return(0,cn.useEffect)(()=>{if(e===void 0){o(void 0);return}let l=u.current;if(u.current=e,l===void 0){s.current=e,o(e);return}if(l===e&&r===e)return;c.current!==null&&(cancelAnimationFrame(c.current),c.current=null),a.current=null;let d=s.current,h=(((e||0)-d)%360+540)%360-180,p=d+h;function f(m){a.current===null&&(a.current=m);let g=m-a.current,y=Math.min(g/t,1),x=n.current(y),w=d+(p-d)*x;s.current=w,o(w),y<1?c.current=requestAnimationFrame(f):(s.current=((e||0)%360+360)%360,o(s.current),c.current=null)}return c.current=requestAnimationFrame(f),()=>{c.current!==null&&(cancelAnimationFrame(c.current),c.current=null)}},[e,t]),r}var Ys=P(Z(),1),ag=P(D(),1),eS=(0,Ys.createContext)({});function Oo({presentation:e,children:t}){return(0,ag.jsx)(eS.Provider,{value:e,children:t})}var Lo=()=>(0,Ys.useContext)(eS);function Br(e){let{Unsupported:t}=Lo();return(0,Ys.useEffect)(()=>{t||console.warn(`[react-iiif-vault/scene] ${e.reason}`,e.strategy)},[t,e.reason,e.strategy]),t?(0,ag.jsx)(t,{...e}):null}var Gs=P(Z(),1);var tS=new WeakMap,iS=Gs.default.createContext(cm.store);iS.displayName="ImageServicesHelper";function zd(){return(0,Gs.useContext)(iS)}function nS(e){let t=zd();return be(t,({loaded:i})=>i[e])}function Bd(){let e=zd();return be(e,({loadServiceSync:t})=>t)}function rS(){let e=zd();return be(e,({loaded:t})=>t)}function Vd(){let e=zd(),t=be(e,i=>i.loadService);return(0,Gs.useCallback)((i,n)=>{let r=i.id||i["@id"];if(!r)return t(i,n);let o=tS.get(e);o||(o=new Map,tS.set(e,o));let s=o.get(r);if(s)return s;let a=t(i,n).finally(()=>o.delete(r));return o.set(r,a),a},[t,e])}var Wd=P(Z(),1),Vr=P(D(),1),lg=e=>{let t=e.format||"jpg",i=e.width/(e.crop?.width||e.tiles.width),n=e.tiles.imageService.sizes||[],r=e.enableThumbnail,o=e.enableSizes,s=(0,Wd.useMemo)(()=>{let u=e.tiles.imageService.id||e.tiles.imageService["@id"];return u?.endsWith("/info.json")?u.slice(0,-1*10):u},[e.tiles.imageService.id,e.tiles.imageService["@id"]]),a=(0,Wd.useMemo)(()=>{let u=e.tiles.imageService.tiles||[];if(!u.length){let l=e.width,d=[1],h=1;for(;2**h<l;)h=h*2,d.push(h);return(e.tiles.imageService.maxArea||e.tiles.imageService.maxWidth||e.tiles.imageService.maxHeight)&&Os(2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:d}]:Os(2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:d}]:[]}return u},[e.tiles.imageService,e.width]),c=(0,Wd.useMemo)(()=>{let u=e.tiles.imageService;return(u?u["@context"]?Array.isArray(u["@context"])?u["@context"]:[u["@context"]]:[]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1},[e.tiles.imageService.id,e.tiles.imageService]);return(0,Vr.jsx)("world-object",{rotation:e.rotation,scale:i,height:e.crop?.height||e.tiles.height,width:e.crop?.width||e.tiles.width,x:e.x,y:e.y,onClick:e.onClick,children:(0,Vr.jsxs)("composite-image",{id:e.tiles.imageService.id,width:e.crop?.width||e.tiles.width,height:e.crop?.height||e.tiles.height,crop:e.crop,renderOptions:e.renderOptions||(e.style?.opacity!==void 0&&e.style.opacity!==1?{renderLayers:1,renderSmallestFallback:!1}:e.isStatic?{renderLayers:1,renderSmallestFallback:!0}:void 0),children:[r&&e.tiles.thumbnail?(0,Vr.jsx)("world-image",{priority:!0,style:e.style,uri:e.tiles.thumbnail.id,target:{width:e.tiles.width,height:e.tiles.height},display:{width:e.tiles.thumbnail.width,height:e.tiles.thumbnail.height},crop:e.crop}):null,o&&n.map((u,l)=>(0,Vr.jsx)("world-image",{style:e.style,uri:`${s}/full/${u.width},${c?u.height:""}/0/default.${t}`,target:{width:e.tiles.width,height:e.tiles.height},display:{width:u.width,height:u.height},crop:e.crop},l)),e.imageCandidates?.map(u=>(0,Vr.jsx)("world-image",{priority:!0,style:e.style,uri:u.id,target:{width:e.tiles.width,height:e.tiles.height},display:{width:u.width,height:u.height},crop:e.crop},u.id)),e.children,a.map(u=>(u.scaleFactors||[]).map(l=>(0,Vr.jsx)("tiled-image",{uri:s,display:{width:e.tiles.width,height:e.tiles.height},style:e.style,useFloorCalc:e.useFloorCalc,format:t,tile:u,scaleFactor:l,crop:e.crop,version3:c},`${e.tiles.imageService.id}-tile-${l}`)))]},e.tiles.imageService.id)},e.tiles.imageService.id)};var Wl=P(D(),1);function cg({image:e,thumbnail:t,crop:i,enableSizes:n,enableThumbnail:r,renderOptions:o,rotation:s,manualRotation:a,...c}){let l=Lo().Auth||eM,d=Tp(),h=tt(e.service),p=nS(h),f=p?.service,m=f&&p?.status==="done",g=c.format||(f?.preferredFormats||[])[0],y=t&&t.type==="fixed"&&t.id&&!t.id.includes("/full/full/")&&!t.id.includes("/max/")?t:void 0;if(m===!1)return null;if(!d){let x=e.service,w=x.width||e.width||0,R=x.height||e.height||0,v=0,S=0,C=e.target?.spatial.width||w,T=e.target?.spatial.height||R,I=C,E=T;return(s===90||s===270)&&([C,T]=[T,C],a||(v=(I-C)/2,S=(E-T)/2)),(0,Wl.jsx)(lg,{...c,enableThumbnail:r,renderOptions:o,rotation:s,tiles:{id:x.id||x["@id"]||"unknown",height:R,width:w,imageService:x,thumbnail:y},enableSizes:n,x:v,y:S,format:g,width:C,height:T,crop:i})}return(0,Wl.jsx)(Pp,{resource:e.service,errorComponent:l,extra:e,children:x=>{let w=x.width||e.width||0,R=x.height||e.height||0,v=0,S=0,C=e.target?.spatial.width||w,T=e.target?.spatial.height||R,I=C,E=T;return(s===90||s===270)&&([C,T]=[T,C],a||(v=(I-C)/2,S=(E-T)/2)),(0,Wl.jsx)(lg,{...c,enableThumbnail:r,renderOptions:o,tiles:{id:x.id||x["@id"]||"unknown",height:R,width:w,imageService:x,thumbnail:y},rotation:s,format:g,enableSizes:n,x:v,y:S,width:C,height:T,crop:i})}},e.id)}function eM(){return(0,Wl.jsx)(Br,{reason:"Authentication requires an Auth presentation"})}var ji=P(D(),1);function oS({id:e,image:t,thumbnail:i,isStatic:n,x:r=0,y:o=0,children:s,selector:a,onClick:c,rotation:u,enableSizes:l,enableAnnotations:d,events:h,...p}){let f=Lo(),m={...t.style,...p.style},g=(0,tr.useMemo)(()=>{if(a)return a.spatial},[a]),y=(0,tr.useMemo)(()=>{if(typeof t.rotation<"u")return t.rotation;if(!t.annotation)return 0;let E=Array.isArray(t.annotation.body)?t.annotation.body?.[0]:t.annotation.body;if(E&&E.selector?.type==="ImageApiSelector")return Number(E.selector.rotation)},[t]),x=Jw(u),w=!!t.service,R=r+t.target.spatial.x,v=o+t.target.spatial.y,S=t.target.spatial.width,C=t.target.spatial.height,T=t.target.spatial.width,I=t.target.spatial.height;return(y===90||y===270)&&([T,I]=[I,T],w||([S,C]=[C,S],R+=(t.target.spatial.width-S)/2,v+=(t.target.spatial.height-C)/2)),(0,ji.jsxs)("world-object",{x:R,y:v,width:S,height:C,onClick:c,...h,rotation:t.service?void 0:typeof x<"u"?x:y,children:[t.service?(0,ji.jsxs)(tr.Fragment,{children:[(0,ji.jsx)(cg,{...p,isStatic:n,style:m,image:t,thumbnail:i,crop:g,enableSizes:l,rotation:typeof x<"u"?x:y,manualRotation:typeof u<"u"}),s]},"service"):(0,ji.jsxs)(tr.Fragment,{children:[(0,ji.jsx)("world-image",{style:m,onClick:c,uri:t.id,target:{x:0,y:0,width:T,height:I},display:T&&I?{width:T,height:I}:void 0,crop:g}),s]},"no-service"),d&&t.annotationPages?t.annotationPages.map(E=>f.AnnotationPage?(0,ji.jsx)(f.AnnotationPage,{page:E},E.id):(0,ji.jsx)(Br,{reason:"Image annotations require an AnnotationPage presentation"},E.id)):null]},e+(w?"server":"no-service"))}function Ks(e){let{vault:t}=(0,tr.useContext)(Xi);return t?(0,ji.jsx)(tM,{...e}):(0,ji.jsx)(oS,{...e})}function tM(e){let{image:t}=e,i=(0,tr.useContext)(Mn),n=$i(t.annotation,"atlas"),r=$i({id:t.id,type:"ContentResource"},"atlas"),o=An(t.annotation,["atlas"]),s=An({id:t.id,type:"ContentResource"},["atlas"]);return(0,ji.jsx)(oS,{...e,style:{...n,...r,...i?.imageStyles?.[t.annotationId],...i?.imageStyles?.[t.id],...e.style},events:{...o,...s,...e.events}})}var aS=P(D(),1);function sS({id:e}){let t=Zn({id:e}),i=$i(t,"atlas"),n=An(t,["atlas"]),r=t?.target?.selector;return r?.spatial?(0,aS.jsx)("box",{target:r.spatial,style:{outline:"3px solid red",...i},...n}):null}var ki=P(D(),1),cS=P(Z(),1);function lS({strategy:e,children:t,imageOptions:i}){let n=Ze(),[r,o]=(0,$l.useState)(null);return(0,$l.useEffect)(()=>{let s=Qw({complexTimeline:e});return o(s),s.store.getState().startClock(),s.dispose},[n?.id]),(0,$l.useEffect)(()=>{r?.store.getState().updateTimeline(e)},[r,e]),r?(0,ki.jsxs)(Bl,{store:r.store,children:[(0,ki.jsx)(iM,{controller:r,imageOptions:i}),t]}):null}function iM({controller:e,imageOptions:t}){let i=be(e.store,s=>s.complexTimeline),n=be(e.store,s=>s.visibleElements),r=Lo(),o=r.Highlight||sS;return(0,ki.jsxs)(ki.Fragment,{children:[i.items.map(s=>{let a=!!n[s.annotationId];switch(s.type){case"Image":return a?(0,cS.createElement)(Ks,{...t,key:s.annotationId,image:s,id:s.annotationId,selector:s.selector}):null;case"Text":return a?r.Text?(0,ki.jsx)(r.Text,{item:s},s.annotationId):(0,ki.jsx)(Br,{strategy:i,reason:"Timeline text requires a Text presentation"},s.annotationId):null;case"Video":case"Sound":return r.Media?(0,ki.jsx)(r.Media,{item:s,visible:a,controller:e},s.annotationId):(0,ki.jsx)(Br,{strategy:i,reason:"Timeline media requires a Media presentation"},s.annotationId);default:return(0,ki.jsx)(Br,{strategy:i,reason:`Unsupported timeline item: ${s.type}`},s.annotationId)}}),i.highlights.map(({annotation:s})=>n[s.id]?(0,ki.jsx)(o,{id:s.id},s.id):null)]})}var dn=P(Z(),1),un=P(D(),1),dS=dn.default.createContext("en"),hS=dn.default.createContext({}),fS=dn.default.createContext(null);function nM(e){return(0,un.jsx)(hS.Provider,{value:e.translations,children:e.children})}function rM(e){return(0,un.jsx)(dS.Provider,{value:e.language,children:e.children})}function oM(e){return(0,un.jsx)(fS.Provider,{value:e.convert,children:e.children})}function ug(){return dn.default.useContext(fS)}function $d(){return dn.default.useContext(dS)}function dg(){return dn.default.useContext(hS)}function uS(e){return e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):e}function pS({as:e,language:t,children:i,viewingDirection:n,...r}){let o=$d(),s=t!=="none"&&t!=="@none";return(0,dn.useMemo)(()=>uS(o)===uS(t),[o,t])||!s?e?(0,un.jsx)(e,{...r,children:i}):(0,un.jsx)("span",{...r,children:i}):e?(0,un.jsx)(e,{...r,lang:t,dir:n,children:i}):(0,un.jsx)("span",{...r,lang:t,dir:n,children:i})}function mS(e,t,i){if(t.length===0)return;if(t.length===1)return t[0];if(t.indexOf(e)!==-1)return e;let n=e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):null;if(n&&t.indexOf(n)!==-1)return n;for(let r of i)if(t.indexOf(r)!==-1)return r;return t.indexOf("none")!==-1?"none":t.indexOf("@none")!==-1?"@none":t[0]}var gS=(e,t=[])=>{let i=$d();return(0,dn.useMemo)(()=>{let n=e();return mS(i,n,[])},[i,...t])};function _o(e,t,i,n){return t?i?i(e[t]||t,n||"none"):e[t]||t:""}function yS(e,t,i=`
105
+ `,n={}){let r=ug(),o=gS(()=>typeof e=="string"?[]:Object.keys(e||{}),[e]);return[(0,dn.useMemo)(()=>{if(!e)return _o(n,t,r)||"";if(typeof e=="string")return _o(n,e,r);let s=o?e[o]:void 0;return s?typeof s=="string"?s:s.map(a=>_o(n,a,r,o)).join(i):""},[o,t,e]),o]}function sM(){let e=$d(),t=dg(),i=ug();return function(r,o="",s=`
106
+ `,a=t){let c=Object.keys(r||{}),u=mS(e,c,[]);if(!r)return _o(a,o,i)||"";if(typeof r=="string")return _o(a,r,i);let l=u?r[u]:void 0;return l?typeof l=="string"?_o(a,l,i,u):l.map(d=>_o(a,d,i,u)).join(typeof s<"u"?s:`
107
+ `):""}}function Oi({as:e,defaultText:t,enableDangerouslySetInnerHTML:i,children:n,separator:r,...o}){let s=dg(),[a,c]=yS(n,t,r,s);return c?(0,un.jsx)(pS,{...o,as:e,language:c,title:i?void 0:a,dangerouslySetInnerHTML:i?{__html:a}:void 0,children:i?void 0:a}):e?(0,un.jsx)(e,{...o,children:a}):(0,un.jsx)("span",{...o,title:i?void 0:a,dangerouslySetInnerHTML:i?{__html:a}:void 0,children:i?void 0:a})}var ir=P(D(),1);function jd({strategy:e,onClickPaintingAnnotation:t}){return(0,ir.jsx)(ir.Fragment,{children:e.items.map((i,n)=>(0,ir.jsx)(ir.Fragment,{children:(0,ir.jsx)(Ii,{onClick:t?r=>{r.stopPropagation(),t(i.annotationId,i,r)}:void 0,target:i.target?.spatial||void 0,children:(0,ir.jsx)("div",{"data-textual-content":!0,children:(0,ir.jsx)(Oi,{enableDangerouslySetInnerHTML:!0,children:i.text})})},n)}))})}var nr=P(D(),1);function Xs({resource:e,heading:t,note:i,extra:n}){return n?(0,nr.jsx)(Ii,{target:{x:0,y:0,width:n.target?.spatial.width,height:n.target?.spatial.height},backgroundColor:"#333",relative:!0,children:(0,nr.jsx)("div",{style:{display:"flex",alignContent:"center",justifyContent:"center",alignItems:"center",height:"100%",width:"100%",background:"#444",color:"#BBB"},children:(0,nr.jsxs)("div",{children:[(0,nr.jsx)(Oi,{children:t||"Not authorised"}),i&&(0,nr.jsx)("p",{children:(0,nr.jsx)(Oi,{children:i})}),(0,nr.jsx)("p",{children:e.id||e["@id"]||"unknown"})]})})}):null}var rr=P(D(),1);function aM({item:e,visible:t,controller:i}){let[n,r]=(0,Zs.useState)(null);return(0,Zs.useEffect)(()=>n&&i?i.attachMediaElement(e.annotationId,n):void 0,[i,e.annotationId,e.url,n]),(0,rr.jsx)(Ii,{target:"spatial"in e.target?e.target.spatial:void 0,children:e.type==="Video"?(0,rr.jsx)("video",{ref:r,src:e.url,style:{height:"100%",width:"100%",opacity:t?1:0,pointerEvents:t?void 0:"none"}}):(0,rr.jsx)("audio",{ref:r,src:e.url})})}var lM={Auth:Xs,Media:aM,Text:({item:e})=>(0,rr.jsx)(jd,{strategy:{type:"textual-content",items:[e]}}),Highlight:({id:e})=>(0,rr.jsx)(Po,{id:e,ignoreTargetId:!0,style:{outline:"3px solid red"},className:"image-service-annotation"})};function cM({children:e}){let t=Dd(),i=(0,Zs.useId)();return Ut("portal",`timeline-controls-${i}`,Bl,{store:t,children:e},[t,e]),null}function vS({strategy:e,children:t,imageOptions:i}){return(0,rr.jsx)(Oo,{presentation:lM,children:(0,rr.jsx)(lS,{strategy:e,imageOptions:i,children:(0,rr.jsx)(cM,{children:t})})})}var bS=P(D(),1);function hg({imageOptions:e}={}){let{strategy:t}=ht(),{renderComplexTimelineControls:i}=li();return t.type!=="complex-timeline"?null:(0,bS.jsx)(vS,{strategy:t,imageOptions:e,children:i?i(t):null})}var xS=P(D(),1);function Hd({style:e}){let t=dt();if(!t||!t.height||!t.width)return null;let i=Md(t);return(0,xS.jsx)("box",{interactive:!1,target:{x:0,y:0,width:Number(t.width),height:Number(t.height)},style:{...i?{backgroundColor:i}:{},...e}})}var wS=P(D(),1);function fg({backgroundStyle:e,alwaysShowBackground:t}){let{strategy:i}=ht(),n=Md(dt());return i.type!=="empty"&&!t&&!n?null:(0,wS.jsx)(Hd,{style:e})}var qd=P(Z(),1),hn=(0,qd.createContext)(null);function jl(){return(0,qd.useContext)(hn)}var Ud=P(D(),1),RS=P(Z(),1);function SS({isStatic:e=!1,enableSizes:t=!1,enableAnnotations:i=!0,onClickPaintingAnnotation:n,rotation:r,children:o,...s}){let{strategy:a}=ht(),c=er({maxWidth:256,maxHeight:256});if(a.type!=="images")return null;let u=a.images.length===1?r:0;return(0,Ud.jsxs)(Ud.Fragment,{children:[a.images.map((l,d)=>(0,RS.createElement)(Ks,{...s,isStatic:e,key:l.id+d,image:l,id:l.id,thumbnail:d===0?c:void 0,selector:l.selector,enableSizes:t,enableAnnotations:i,rotation:u,onClick:n?h=>{n(l.annotationId,l,h)}:void 0})),o]})}var Yd=P(D(),1),uM={Auth:Xs,AnnotationPage:({page:e})=>(0,Yd.jsx)(En,{page:e,className:"image-service-annotation",ignoreTargetId:!0})};function pg(e){let{strategy:t}=ht(),{renderViewerControls:i,viewControlsDeps:n}=li(),r=dt(),o=jl();return Ut(o&&t.type==="images"&&i?"overlay":"none",`canvas-portal-controls-${r?.id}`,hn.Provider,i?{value:o||null,children:i(t)}:{},[r,o,t,...n||[]]),(0,Yd.jsx)(Oo,{presentation:uM,children:(0,Yd.jsx)(SS,{...e})})}var Qs=P(D(),1);function mg({onClickPaintingAnnotation:e,children:t}){let{strategy:i}=ht(),{renderViewerControls:n,viewControlsDeps:r}=li(),o=jl(),s=dt();return Ut(o&&i.type==="textual-content"&&n?"overlay":"none",`canvas-portal-controls-${s?.id}`,hn.Provider,n?{value:o||null,children:n(i)}:{},[s,o,i,...r||[]]),i.type!=="textual-content"?null:(0,Qs.jsxs)(Qs.Fragment,{children:[(0,Qs.jsx)(jd,{strategy:i,onClickPaintingAnnotation:e}),t]})}var Hl=P(D(),1);function gg({element:e,media:t,startTime:i,playPause:n,poster:r}){let o="div",s=i?`${t.url}#t=${i}`:t.url;return(0,Hl.jsxs)(o,{className:"video-container",part:"video-container",onClick:n,children:[(0,Hl.jsx)("style",{children:`
111
108
  .video-container {
112
109
  position: absolute;
113
110
  top: 0;
@@ -120,7 +117,7 @@ Error generating stack: `+i.message+`
120
117
  justify-content: center;
121
118
  pointer-events: visible;
122
119
  }
123
- `}),(0,wp.jsx)("video",{poster:a,ref:t,src:l,style:{width:"100%",objectFit:"contain"}})]})}function b0({media:t,mediaControlsDeps:e,children:n,videoComponent:i=rE,captions:a}){let r=Wt(),l=yp(),u=r&&r.placeholderCanvas&&r.placeholderCanvas.id||void 0,f=jo({},!1,{canvasId:u}),[{element:h,currentTime:d,progress:m},y,g]=wu({duration:t.duration});return vi("overlay","video-element",i,{element:h,media:t,playPause:g.playPause,poster:f?.id,canvas:r,startTime:l?l.startTime:null,captions:a},[f]),vi("portal","custom-controls",gp,{state:y,actions:g,currentTime:d,progress:m,element:h,children:n},[d,y,t,...e||[]]),null}var S0=N(K(),1);function oE({as:t}){let{strategy:e}=fn(),{renderMediaControls:n,mediaControlsDeps:i}=Hi();return e.type!=="media"||e.media.type!=="Video"?null:(0,S0.jsxs)(b0,{captions:e.captions,media:e.media,mediaControlsDeps:i,videoComponent:t,children:[(0,S0.jsx)(Cu,{}),n?n(e):null]},e.media.url)}var TP=N(ct(),1);var Tp=N(K(),1);function i9({element:t,media:e,playPause:n}){let i=(0,TP.useRef)(null);return e.youTubeId?(0,Tp.jsxs)("div",{className:"video-container",part:"video-container",onClick:n,children:[(0,Tp.jsx)("style",{children:`
120
+ `}),(0,Hl.jsx)("video",{poster:r,ref:e,src:s,style:{width:"100%",objectFit:"contain"}})]})}function Gd({media:e,mediaControlsDeps:t,children:i,posterCanvasId:n,videoComponent:r=gg,captions:o}){let s=Ze(),a=Nl(),c=qs(s),u=n||(c?.type==="Canvas"?c.id:void 0),l=er({},!1,{canvasId:u}),[{element:d,currentTime:h,progress:p},f,m]=Ao({duration:e.duration});return Ut("overlay","video-element",r,{element:d,media:e,playPause:m.playPause,poster:l?.id,canvas:s,startTime:a?a.startTime:null,captions:o},[l,s,e,a,m.playPause,o]),Ut("portal","custom-controls",Fl,{state:f,actions:m,currentTime:h,progress:p,element:d,children:i},[h,f,e,...t||[]]),null}var Kd=P(D(),1);function yg({as:e}){let{strategy:t}=ht(),{renderMediaControls:i,mediaControlsDeps:n}=li();return t.type!=="media"||t.media.type!=="Video"?null:(0,Kd.jsxs)(Gd,{captions:t.captions,media:t.media,mediaControlsDeps:n,videoComponent:e,children:[(0,Kd.jsx)(ko,{}),i?i(t):null]},t.media.url)}var CS=P(Z(),1);var ql=P(D(),1);function dM({element:e,media:t,playPause:i}){let n=(0,CS.useRef)(null);return t.youTubeId?(0,ql.jsxs)("div",{className:"video-container",part:"video-container",onClick:i,children:[(0,ql.jsx)("style",{children:`
124
121
  .video-container {
125
122
  position: absolute;
126
123
  top: 0;
@@ -138,7 +135,7 @@ Error generating stack: `+i.message+`
138
135
  width: 100%;
139
136
  object-fit: contain;
140
137
  }
141
- `}),(0,Tp.jsx)("iframe",{title:`YouTube video: ${e.youTubeId}`,className:"video-yt",ref:i,src:`https://www.youtube.com/embed/${e.youTubeId}?enablejsapi=1&origin=${a9()}&modestbranding=1&rel=0`,referrerPolicy:"no-referrer compute-pressure",sandbox:"allow-scripts allow-same-origin allow-presentation"})]}):null}function a9(){return typeof window<"u"?window.location.host:""}function RP({media:t,mediaControlsDeps:e,children:n}){let[{element:i,currentTime:a,progress:r},l,u]=wu({duration:t.duration});return vi("overlay","video-element",i9,{element:i,media:t,playPause:u.playPause}),null}var x0=N(K(),1);function sE(){let{strategy:t}=fn(),{renderMediaControls:e,mediaControlsDeps:n}=Hi();return t.type!=="media"||t.media.type!=="VideoYouTube"?null:(0,x0.jsxs)(RP,{media:t.media,mediaControlsDeps:n,children:[(0,x0.jsx)(Cu,{}),e?e(t):null]})}var B0=N(ct(),1);var Qr=N(ct(),1);var ii=N(ct(),1);function lE(t){let e=$e(),n=zt(e,r=>r.polygons),i=zt(e,r=>r.polygonState),a=zt(e,r=>r.polygon);return vu("atlas.polygon-render",({state:r,slowState:l,dt:u})=>{t(r,l,u)}),{currentShape:a,state:i,helper:n}}var Ee=N(K(),1),Go=MD(),EP={shapeFill:"#ffffff33",shapeStroke:"#000",lineStroke:"#000",ghostLineStroke:"#0F0",activeLineStroke:"#4D7EEA",boundingBoxDottedStroke:"#0007",boundingBoxStroke:"#fffA",controlFill:"#fff"};function uE(t){let{image:e}=t,n={...EP,...t.theme||{}},i=`svg-editor-${(0,ii.useId)().replace(/:/g,"")}`,a={dot:`${i}-dot`,newdot:`${i}-newdot`,selected:`${i}-selected`,resizer:`${i}-resizer`},r=(0,ii.useRef)(),l=(0,ii.useRef)(),u=(0,ii.useRef)(),f=(0,ii.useRef)(),h=(0,ii.useRef)(),d=(0,ii.useRef)(),m=(0,ii.useRef)(),y=(0,ii.useRef)(),g=(0,ii.useRef)(),b=(0,ii.useRef)(),[T,C]=(0,ii.useState)(null),[x,w]=(0,ii.useState)(!1),{helper:R,state:E,currentShape:M}=lE((gt,it)=>{if(gt.closestLineIndex,Go.updateTransitionBoundingBox(u.current,gt,it),Go.updateBoundingBoxPolygon(r.current,gt,it),Go.updateBoundingBoxPolygon(l.current,gt,it),Go.updateTransitionShape(m.current,gt,it),Go.updateClosestLinePointTransform(h.current,gt,it),Go.updateSelectBox(f.current,gt,it),Go.updatePointLine(y.current,gt,it),Go.updateDrawPreview(d.current,gt,it,3),Go.updateLineBox(g.current,gt),C(gt.transitionDirection),w(gt.transitionRotate),gt.closestLineIndex!==-1&&b.current){let nt=gt.polygon,ut=nt.points[gt.closestLineIndex],wt=nt.points[(gt.closestLineIndex+1)%nt.points.length];ut&&wt&&b.current.setAttribute("points",`${ut[0]},${ut[1]} ${wt[0]},${wt[1]}`)}});(0,ii.useEffect)(()=>{let gt=()=>{R.modifiers.reset()};return document.addEventListener("mouseleave",gt),()=>{document.removeEventListener("mouseleave",gt)}},[]);let z=(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsxs)("marker",{id:a.dot,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:[(0,Ee.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.lineStroke,className:"marker"}),(0,Ee.jsx)("circle",{cx:"5",cy:"5",r:"3",fill:n.controlFill})]}),(0,Ee.jsx)("marker",{id:a.newdot,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:(0,Ee.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.activeLineStroke,className:"marker"})}),(0,Ee.jsxs)("marker",{id:a.selected,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:[(0,Ee.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.lineStroke}),(0,Ee.jsx)("circle",{cx:"5",cy:"5",r:"3",fill:n.activeLineStroke})]}),(0,Ee.jsxs)("marker",{id:a.resizer,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"6",markerHeight:"6",children:[(0,Ee.jsx)("rect",{width:"10",height:"10",fill:n.lineStroke}),(0,Ee.jsx)("rect",{x:"1",y:"1",width:"8",height:"8",fill:n.controlFill})]})]}),I=M?M.open?"polyline":"polygon":null,L=!E.showBoundingBox&&E.closestPoint!==null&&E.actionIntentType==="select-point",H=E.actionIntentType==="add-open-point",q=E.transitionIntentType==="split-line",st=E.transitioning&&E.selectedStamp&&E.transitionIntentType==="stamp-shape",et=M&&I?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)(I,{fill:(!E.transitioning||E.transitionIntentType==="select-multiple-points")&&!M.open?n.shapeFill:"none",strokeWidth:st||E.showBoundingBox&&E.boxMode||E.transitioning&&E.transitionIntentType==="split-line"||E.transitioning&&E.transitionIntentType==="move-point"?0:2,stroke:n.shapeStroke,points:M.points.map(gt=>gt.join(",")).join(" "),vectorEffect:"non-scaling-stroke",markerStart:E.showBoundingBox?void 0:`url(#${E.boxMode?a.resizer:a.dot})`,markerMid:E.showBoundingBox?void 0:`url(#${E.boxMode?a.resizer:a.dot})`,markerEnd:E.showBoundingBox?void 0:`url(#${E.boxMode?a.resizer:a.dot})`,style:{pointerEvents:"none"},opacity:E.transitioning&&E.transitionIntentType==="move-shape"?0:1}),E.currentTool==="lineBox"&&E.actionIntentType==="close-line-box"?(0,Ee.jsx)("polygon",{fill:n.shapeFill,ref:g,stroke:n.lineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,E.transitionIntentType==="draw-shape"&&E.transitioning?(0,Ee.jsx)("polyline",{ref:d,fill:"none",stroke:n.activeLineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,!(E.transitioning&&E.transitionIntentType==="move-point")&&!(E.transitioning&&E.transitionIntentType==="stamp-shape")&&!E.showBoundingBox&&E.selectedPoints&&E.selectedPoints.length?(0,Ee.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:`url(#${a.selected})`,markerMid:`url(#${a.selected})`,markerEnd:`url(#${a.selected})`,fill:"transparent",points:M.points.filter((gt,it)=>E.selectedPoints?.includes(it)).map(gt=>gt.join(",")).join(" "),opacity:E.transitioning&&E.transitionIntentType==="move-shape"?0:1}):null,L&&!E.transitioning&&E.closestPoint!==null&&M.points[E.closestPoint]?(0,Ee.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:`url(#${a.selected})`,markerMid:`url(#${a.selected})`,markerEnd:`url(#${a.selected})`,fill:n.activeLineStroke,points:`${M.points[E.closestPoint][0]},${M.points[E.closestPoint][1]}`,opacity:E.transitioning&&E.transitionIntentType==="move-shape"?0:1}):null,!E.transitioning&&(E.actionIntentType==="add-open-point"||E.actionIntentType==="close-shape"||E.actionIntentType==="close-shape-line")?(0,Ee.jsx)("polyline",{stroke:n.activeLineStroke,ref:y,strokeWidth:E.actionIntentType==="add-open-point"?1:2,vectorEffect:"non-scaling-stroke"}):null,E.hasClosestLine&&!E.showBoundingBox&&!E.transitioning&&E.currentTool!=="box"&&E.transitionIntentType==="split-line"?(0,Ee.jsx)("g",{children:(0,Ee.jsx)("polyline",{ref:b,vectorEffect:"non-scaling-stroke",fill:"transparent",stroke:n.activeLineStroke,strokeWidth:3})}):null,E.hasClosestLine&&!E.showBoundingBox&&!E.transitioning&&E.currentTool!=="box"&&E.transitionIntentType==="split-line"?(0,Ee.jsx)("g",{ref:h,children:(0,Ee.jsx)("polyline",{markerStart:`url(#${a.newdot})`,points:"0,0 1,1",vectorEffect:"non-scaling-stroke",stroke:"transparent",fill:"transparent",strokeWidth:2})}):null,E.transitioning?(0,Ee.jsx)(I,{ref:m,fill:M.open?"none":n.shapeFill,stroke:E.transitionIntentType==="stamp-shape"?n.activeLineStroke:n.shapeStroke,vectorEffect:"non-scaling-stroke",strokeWidth:(M.open,2)}):null,E.transitioning&&E.transitionIntentType==="select-multiple-points"?(0,Ee.jsx)("rect",{ref:f,fill:"rgba(255, 255, 255, .3)",strokeWidth:1,stroke:"rgba(0,0,0,.2)",vectorEffect:"non-scaling-stroke"}):null,E.showBoundingBox&&!st?(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("polygon",{ref:r,strokeWidth:2,stroke:n.boundingBoxStroke,fill:"none",markerStart:`url(#${a.resizer})`,markerMid:`url(#${a.resizer})`,markerEnd:`url(#${a.resizer})`,vectorEffect:"non-scaling-stroke"}),(0,Ee.jsx)("polygon",{ref:l,strokeWidth:2,stroke:n.boundingBoxDottedStroke,fill:"none",strokeDasharray:"4 4",markerStart:`url(#${a.resizer})`,markerMid:`url(#${a.resizer})`,markerEnd:`url(#${a.resizer})`,vectorEffect:"non-scaling-stroke"})]}):null]}):null;return{currentTool:R.state.slowState.currentTool,setCurrentTool:R.tools.setTool,helper:R,currentShape:M,state:E,isAddingPoint:H,isSplitting:q,isStamping:st,isHoveringPoint:L,transitionDirection:T,transitionRotate:x,defs:z,editor:et}}var ll=N(K(),1);function CP(t){let e=Qv(),n=(0,Qr.useRef)(null),{image:i}=t,{helper:a,defs:r,editor:l,state:u,transitionDirection:f,isSplitting:h,transitionRotate:d,isHoveringPoint:m,isAddingPoint:y}=uE({image:t.image,theme:t.theme}),g=(0,Qr.useCallback)(C=>{C.button!==2&&a.pointer([[~~C.atlas.x,~~C.atlas.y]])},[a]),b=(0,Qr.useCallback)(C=>{C.button!==2&&(n.current?.focus(),a.pointerDown())},[a]),T=(0,Qr.useCallback)(C=>{C.button!==2&&a.pointerUp()},[a]);return(0,Qr.useEffect)(()=>{let C=x=>{n.current?.contains(document.activeElement)&&a.key.up(x.key)};return document.addEventListener("keyup",C),()=>{document.removeEventListener("keyup",C)}},[a]),(0,Qr.useEffect)(()=>{let C=x=>{n.current?.contains(document.activeElement)&&(x.target&&["INPUT","TEXTAREA"].includes(x.target.tagName)||x.target?.isContentEditable||document.activeElement&&(document.activeElement instanceof HTMLInputElement||document.activeElement instanceof HTMLTextAreaElement||document.activeElement.isContentEditable)||a.key.down(x.key))};return document.addEventListener("keydown",C),()=>{document.removeEventListener("keydown",C)}},[a]),(0,Qr.useEffect)(()=>{let C=[];return f&&C.push(`atlas-cursor-${f}`),u.actionIntentType==="cut-line"&&u.modifiers?.Shift&&C.push("atlas-cursor-cut"),(m||u.transitionIntentType==="move-shape"||u.transitionIntentType==="move-point")&&C.push("atlas-cursor-move"),y&&C.push("atlas-cursor-crosshair"),h&&C.push("atlas-cursor-copy"),d&&C.push("atlas-cursor-rotate"),u.transitionIntentType==="draw-shape"&&C.push("atlas-cursor-draw"),e?.canvas&&e.canvas.classList.add(...C),()=>{e?.canvas&&e.canvas.classList.remove(...C)}},[e?.canvas,y,m,h,u.modifiers?.Shift,u.actionIntentType,u.transitionIntentType,f,d]),(0,ll.jsx)("world-object",{height:i.height,width:i.width,onMouseMove:g,onMouseDown:b,onMouseUp:T,onMouseLeave:a.blur,children:(0,ll.jsx)(na,{relative:!0,interactive:!1,children:(0,ll.jsx)("div",{className:"absolute top-0 right-0 left-0 bottom-0",children:(0,ll.jsxs)("svg",{ref:n,width:"100%",height:"100%",viewBox:`0 0 ${i.width} ${i.height}`,tabIndex:-1,children:[(0,ll.jsx)("title",{children:"Annotation Editor"}),(0,ll.jsx)("defs",{children:r}),l]})})})})}var A4=N(ct(),1);var ae=N(ct(),1);function w0(){return typeof window<"u"}function ul(t){return AP(t)?(t.nodeName||"").toLowerCase():"#document"}function Fi(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function Er(t){var e;return(e=(AP(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function AP(t){return w0()?t instanceof Node||t instanceof Fi(t).Node:!1}function hn(t){return w0()?t instanceof Element||t instanceof Fi(t).Element:!1}function ia(t){return w0()?t instanceof HTMLElement||t instanceof Fi(t).HTMLElement:!1}function Rp(t){return!w0()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Fi(t).ShadowRoot}var r9=new Set(["inline","contents"]);function Vd(t){let{overflow:e,overflowX:n,overflowY:i,display:a}=aa(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&!r9.has(a)}var o9=new Set(["table","td","th"]);function MP(t){return o9.has(ul(t))}var s9=[":popover-open",":modal"];function Ep(t){return s9.some(e=>{try{return t.matches(e)}catch{return!1}})}var l9=["transform","translate","scale","rotate","perspective"],u9=["transform","translate","scale","rotate","perspective","filter"],c9=["paint","layout","strict","content"];function T0(t){let e=Ud(),n=hn(t)?aa(t):t;return l9.some(i=>n[i]?n[i]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!e&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!e&&(n.filter?n.filter!=="none":!1)||u9.some(i=>(n.willChange||"").includes(i))||c9.some(i=>(n.contain||"").includes(i))}function OP(t){let e=Rr(t);for(;ia(e)&&!Cr(e);){if(T0(e))return e;if(Ep(e))return null;e=Rr(e)}return null}function Ud(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var d9=new Set(["html","body","#document"]);function Cr(t){return d9.has(ul(t))}function aa(t){return Fi(t).getComputedStyle(t)}function Cp(t){return hn(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Rr(t){if(ul(t)==="html")return t;let e=t.assignedSlot||t.parentNode||Rp(t)&&t.host||Er(t);return Rp(e)?e.host:e}function _P(t){let e=Rr(t);return Cr(e)?t.ownerDocument?t.ownerDocument.body:t.body:ia(e)&&Vd(e)?e:_P(e)}function Ia(t,e,n){var i;e===void 0&&(e=[]),n===void 0&&(n=!0);let a=_P(t),r=a===((i=t.ownerDocument)==null?void 0:i.body),l=Fi(a);if(r){let u=R0(l);return e.concat(l,l.visualViewport||[],Vd(a)?a:[],u&&n?Ia(u):[])}return e.concat(a,Ia(a,[],n))}function R0(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}var Ip=N(ct(),1),BP=N(ct(),1);var qd=Math.min,Yo=Math.max,Mp=Math.round,Op=Math.floor,Ar=t=>({x:t,y:t}),f9={left:"right",right:"left",bottom:"top",top:"bottom"},h9={start:"end",end:"start"};function cE(t,e,n){return Yo(t,qd(e,n))}function _p(t,e){return typeof t=="function"?t(e):t}function cl(t){return t.split("-")[0]}function zp(t){return t.split("-")[1]}function dE(t){return t==="x"?"y":"x"}function fE(t){return t==="y"?"height":"width"}var p9=new Set(["top","bottom"]);function Xo(t){return p9.has(cl(t))?"y":"x"}function hE(t){return dE(Xo(t))}function NP(t,e,n){n===void 0&&(n=!1);let i=zp(t),a=hE(t),r=fE(a),l=a==="x"?i===(n?"end":"start")?"right":"left":i==="start"?"bottom":"top";return e.reference[r]>e.floating[r]&&(l=Ap(l)),[l,Ap(l)]}function LP(t){let e=Ap(t);return[E0(t),e,E0(e)]}function E0(t){return t.replace(/start|end/g,e=>h9[e])}var zP=["left","right"],IP=["right","left"],m9=["top","bottom"],g9=["bottom","top"];function y9(t,e,n){switch(t){case"top":case"bottom":return n?e?IP:zP:e?zP:IP;case"left":case"right":return e?m9:g9;default:return[]}}function DP(t,e,n,i){let a=zp(t),r=y9(cl(t),n==="start",i);return a&&(r=r.map(l=>l+"-"+a),e&&(r=r.concat(r.map(E0)))),r}function Ap(t){return t.replace(/left|right|bottom|top/g,e=>f9[e])}function v9(t){return{top:0,right:0,bottom:0,left:0,...t}}function PP(t){return typeof t!="number"?v9(t):{top:t,right:t,bottom:t,left:t}}function Ou(t){let{x:e,y:n,width:i,height:a}=t;return{width:i,height:a,top:n,left:e,right:e+i,bottom:n+a,x:e,y:n}}function pE(t,e){if(!t||!e)return!1;let n=e.getRootNode==null?void 0:e.getRootNode();if(t.contains(e))return!0;if(n&&Rp(n)){let i=e;for(;i;){if(t===i)return!0;i=i.parentNode||i.host}}return!1}function jd(t){return"composedPath"in t?t.composedPath()[0]:t.target}function C0(t,e){if(e==null)return!1;if("composedPath"in t)return t.composedPath().includes(e);let n=t;return n.target!=null&&e.contains(n.target)}function HP(t){return t.matches("html,body")}function mE(t){return t?.ownerDocument||document}function Np(t,e,n){return n===void 0&&(n=!0),t.filter(a=>{var r;return a.parentId===e&&(!n||((r=a.context)==null?void 0:r.open))}).flatMap(a=>[a,...Np(t,a.id,n)])}function FP(t){return"nativeEvent"in t}var b9=typeof document<"u",S9=function(){},A0=b9?BP.useLayoutEffect:S9,x9={...Ip};var w9=x9.useInsertionEffect,T9=w9||(t=>t());function _u(t){let e=Ip.useRef(()=>{});return T9(()=>{e.current=t}),Ip.useCallback(function(){for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return e.current==null?void 0:e.current(...i)},[])}var RE=N(K(),1);var f4=N(Xl(),1);function VP(t,e,n){let{reference:i,floating:a}=t,r=Xo(e),l=hE(e),u=fE(l),f=cl(e),h=r==="y",d=i.x+i.width/2-a.width/2,m=i.y+i.height/2-a.height/2,y=i[u]/2-a[u]/2,g;switch(f){case"top":g={x:d,y:i.y-a.height};break;case"bottom":g={x:d,y:i.y+i.height};break;case"right":g={x:i.x+i.width,y:m};break;case"left":g={x:i.x-a.width,y:m};break;default:g={x:i.x,y:i.y}}switch(zp(e)){case"start":g[l]-=y*(n&&h?-1:1);break;case"end":g[l]+=y*(n&&h?-1:1);break}return g}var UP=async(t,e,n)=>{let{placement:i="bottom",strategy:a="absolute",middleware:r=[],platform:l}=n,u=r.filter(Boolean),f=await(l.isRTL==null?void 0:l.isRTL(e)),h=await l.getElementRects({reference:t,floating:e,strategy:a}),{x:d,y:m}=VP(h,i,f),y=i,g={},b=0;for(let T=0;T<u.length;T++){let{name:C,fn:x}=u[T],{x:w,y:R,data:E,reset:M}=await x({x:d,y:m,initialPlacement:i,placement:y,strategy:a,middlewareData:g,rects:h,platform:l,elements:{reference:t,floating:e}});d=w??d,m=R??m,g={...g,[C]:{...g[C],...E}},M&&b<=50&&(b++,typeof M=="object"&&(M.placement&&(y=M.placement),M.rects&&(h=M.rects===!0?await l.getElementRects({reference:t,floating:e,strategy:a}):M.rects),{x:d,y:m}=VP(h,y,f)),T=-1)}return{x:d,y:m,placement:y,strategy:a,middlewareData:g}};async function M0(t,e){var n;e===void 0&&(e={});let{x:i,y:a,platform:r,rects:l,elements:u,strategy:f}=t,{boundary:h="clippingAncestors",rootBoundary:d="viewport",elementContext:m="floating",altBoundary:y=!1,padding:g=0}=_p(e,t),b=PP(g),C=u[y?m==="floating"?"reference":"floating":m],x=Ou(await r.getClippingRect({element:(n=await(r.isElement==null?void 0:r.isElement(C)))==null||n?C:C.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(u.floating)),boundary:h,rootBoundary:d,strategy:f})),w=m==="floating"?{x:i,y:a,width:l.floating.width,height:l.floating.height}:l.reference,R=await(r.getOffsetParent==null?void 0:r.getOffsetParent(u.floating)),E=await(r.isElement==null?void 0:r.isElement(R))?await(r.getScale==null?void 0:r.getScale(R))||{x:1,y:1}:{x:1,y:1},M=Ou(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:u,rect:w,offsetParent:R,strategy:f}):w);return{top:(x.top-M.top+b.top)/E.y,bottom:(M.bottom-x.bottom+b.bottom)/E.y,left:(x.left-M.left+b.left)/E.x,right:(M.right-x.right+b.right)/E.x}}var qP=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,i;let{placement:a,middlewareData:r,rects:l,initialPlacement:u,platform:f,elements:h}=e,{mainAxis:d=!0,crossAxis:m=!0,fallbackPlacements:y,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:T=!0,...C}=_p(t,e);if((n=r.arrow)!=null&&n.alignmentOffset)return{};let x=cl(a),w=Xo(u),R=cl(u)===u,E=await(f.isRTL==null?void 0:f.isRTL(h.floating)),M=y||(R||!T?[Ap(u)]:LP(u)),z=b!=="none";!y&&z&&M.push(...DP(u,T,b,E));let I=[u,...M],L=await M0(e,C),H=[],q=((i=r.flip)==null?void 0:i.overflows)||[];if(d&&H.push(L[x]),m){let it=NP(a,l,E);H.push(L[it[0]],L[it[1]])}if(q=[...q,{placement:a,overflows:H}],!H.every(it=>it<=0)){var st,et;let it=(((st=r.flip)==null?void 0:st.index)||0)+1,nt=I[it];if(nt&&(!(m==="alignment"?w!==Xo(nt):!1)||q.every(Y=>Y.overflows[0]>0&&Xo(Y.placement)===w)))return{data:{index:it,overflows:q},reset:{placement:nt}};let ut=(et=q.filter(wt=>wt.overflows[0]<=0).sort((wt,Y)=>wt.overflows[1]-Y.overflows[1])[0])==null?void 0:et.placement;if(!ut)switch(g){case"bestFit":{var gt;let wt=(gt=q.filter(Y=>{if(z){let yt=Xo(Y.placement);return yt===w||yt==="y"}return!0}).map(Y=>[Y.placement,Y.overflows.filter(yt=>yt>0).reduce((yt,Mt)=>yt+Mt,0)]).sort((Y,yt)=>Y[1]-yt[1])[0])==null?void 0:gt[0];wt&&(ut=wt);break}case"initialPlacement":ut=u;break}if(a!==ut)return{reset:{placement:ut}}}return{}}}};var R9=new Set(["left","top"]);async function E9(t,e){let{placement:n,platform:i,elements:a}=t,r=await(i.isRTL==null?void 0:i.isRTL(a.floating)),l=cl(n),u=zp(n),f=Xo(n)==="y",h=R9.has(l)?-1:1,d=r&&f?-1:1,m=_p(e,t),{mainAxis:y,crossAxis:g,alignmentAxis:b}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return u&&typeof b=="number"&&(g=u==="end"?b*-1:b),f?{x:g*d,y:y*h}:{x:y*h,y:g*d}}var jP=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var n,i;let{x:a,y:r,placement:l,middlewareData:u}=e,f=await E9(e,t);return l===((n=u.offset)==null?void 0:n.placement)&&(i=u.arrow)!=null&&i.alignmentOffset?{}:{x:a+f.x,y:r+f.y,data:{...f,placement:l}}}}},kP=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){let{x:n,y:i,placement:a}=e,{mainAxis:r=!0,crossAxis:l=!1,limiter:u={fn:C=>{let{x,y:w}=C;return{x,y:w}}},...f}=_p(t,e),h={x:n,y:i},d=await M0(e,f),m=Xo(cl(a)),y=dE(m),g=h[y],b=h[m];if(r){let C=y==="y"?"top":"left",x=y==="y"?"bottom":"right",w=g+d[C],R=g-d[x];g=cE(w,g,R)}if(l){let C=m==="y"?"top":"left",x=m==="y"?"bottom":"right",w=b+d[C],R=b-d[x];b=cE(w,b,R)}let T=u.fn({...e,[y]:g,[m]:b});return{...T,data:{x:T.x-n,y:T.y-i,enabled:{[y]:r,[m]:l}}}}}};function XP(t){let e=aa(t),n=parseFloat(e.width)||0,i=parseFloat(e.height)||0,a=ia(t),r=a?t.offsetWidth:n,l=a?t.offsetHeight:i,u=Mp(n)!==r||Mp(i)!==l;return u&&(n=r,i=l),{width:n,height:i,$:u}}function yE(t){return hn(t)?t:t.contextElement}function kd(t){let e=yE(t);if(!ia(e))return Ar(1);let n=e.getBoundingClientRect(),{width:i,height:a,$:r}=XP(e),l=(r?Mp(n.width):n.width)/i,u=(r?Mp(n.height):n.height)/a;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}var C9=Ar(0);function QP(t){let e=Fi(t);return!Ud()||!e.visualViewport?C9:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function A9(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==Fi(t)?!1:e}function zu(t,e,n,i){e===void 0&&(e=!1),n===void 0&&(n=!1);let a=t.getBoundingClientRect(),r=yE(t),l=Ar(1);e&&(i?hn(i)&&(l=kd(i)):l=kd(t));let u=A9(r,n,i)?QP(r):Ar(0),f=(a.left+u.x)/l.x,h=(a.top+u.y)/l.y,d=a.width/l.x,m=a.height/l.y;if(r){let y=Fi(r),g=i&&hn(i)?Fi(i):i,b=y,T=R0(b);for(;T&&i&&g!==b;){let C=kd(T),x=T.getBoundingClientRect(),w=aa(T),R=x.left+(T.clientLeft+parseFloat(w.paddingLeft))*C.x,E=x.top+(T.clientTop+parseFloat(w.paddingTop))*C.y;f*=C.x,h*=C.y,d*=C.x,m*=C.y,f+=R,h+=E,b=Fi(T),T=R0(b)}}return Ou({width:d,height:m,x:f,y:h})}function vE(t,e){let n=Cp(t).scrollLeft;return e?e.left+n:zu(Er(t)).left+n}function KP(t,e,n){n===void 0&&(n=!1);let i=t.getBoundingClientRect(),a=i.left+e.scrollLeft-(n?0:vE(t,i)),r=i.top+e.scrollTop;return{x:a,y:r}}function M9(t){let{elements:e,rect:n,offsetParent:i,strategy:a}=t,r=a==="fixed",l=Er(i),u=e?Ep(e.floating):!1;if(i===l||u&&r)return n;let f={scrollLeft:0,scrollTop:0},h=Ar(1),d=Ar(0),m=ia(i);if((m||!m&&!r)&&((ul(i)!=="body"||Vd(l))&&(f=Cp(i)),ia(i))){let g=zu(i);h=kd(i),d.x=g.x+i.clientLeft,d.y=g.y+i.clientTop}let y=l&&!m&&!r?KP(l,f,!0):Ar(0);return{width:n.width*h.x,height:n.height*h.y,x:n.x*h.x-f.scrollLeft*h.x+d.x+y.x,y:n.y*h.y-f.scrollTop*h.y+d.y+y.y}}function O9(t){return Array.from(t.getClientRects())}function _9(t){let e=Er(t),n=Cp(t),i=t.ownerDocument.body,a=Yo(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),r=Yo(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight),l=-n.scrollLeft+vE(t),u=-n.scrollTop;return aa(i).direction==="rtl"&&(l+=Yo(e.clientWidth,i.clientWidth)-a),{width:a,height:r,x:l,y:u}}function z9(t,e){let n=Fi(t),i=Er(t),a=n.visualViewport,r=i.clientWidth,l=i.clientHeight,u=0,f=0;if(a){r=a.width,l=a.height;let h=Ud();(!h||h&&e==="fixed")&&(u=a.offsetLeft,f=a.offsetTop)}return{width:r,height:l,x:u,y:f}}var I9=new Set(["absolute","fixed"]);function N9(t,e){let n=zu(t,!0,e==="fixed"),i=n.top+t.clientTop,a=n.left+t.clientLeft,r=ia(t)?kd(t):Ar(1),l=t.clientWidth*r.x,u=t.clientHeight*r.y,f=a*r.x,h=i*r.y;return{width:l,height:u,x:f,y:h}}function GP(t,e,n){let i;if(e==="viewport")i=z9(t,n);else if(e==="document")i=_9(Er(t));else if(hn(e))i=N9(e,n);else{let a=QP(t);i={x:e.x-a.x,y:e.y-a.y,width:e.width,height:e.height}}return Ou(i)}function ZP(t,e){let n=Rr(t);return n===e||!hn(n)||Cr(n)?!1:aa(n).position==="fixed"||ZP(n,e)}function L9(t,e){let n=e.get(t);if(n)return n;let i=Ia(t,[],!1).filter(u=>hn(u)&&ul(u)!=="body"),a=null,r=aa(t).position==="fixed",l=r?Rr(t):t;for(;hn(l)&&!Cr(l);){let u=aa(l),f=T0(l);!f&&u.position==="fixed"&&(a=null),(r?!f&&!a:!f&&u.position==="static"&&!!a&&I9.has(a.position)||Vd(l)&&!f&&ZP(t,l))?i=i.filter(d=>d!==l):a=u,l=Rr(l)}return e.set(t,i),i}function D9(t){let{element:e,boundary:n,rootBoundary:i,strategy:a}=t,l=[...n==="clippingAncestors"?Ep(e)?[]:L9(e,this._c):[].concat(n),i],u=l[0],f=l.reduce((h,d)=>{let m=GP(e,d,a);return h.top=Yo(m.top,h.top),h.right=qd(m.right,h.right),h.bottom=qd(m.bottom,h.bottom),h.left=Yo(m.left,h.left),h},GP(e,u,a));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function P9(t){let{width:e,height:n}=XP(t);return{width:e,height:n}}function B9(t,e,n){let i=ia(e),a=Er(e),r=n==="fixed",l=zu(t,!0,r,e),u={scrollLeft:0,scrollTop:0},f=Ar(0);function h(){f.x=vE(a)}if(i||!i&&!r)if((ul(e)!=="body"||Vd(a))&&(u=Cp(e)),i){let g=zu(e,!0,r,e);f.x=g.x+e.clientLeft,f.y=g.y+e.clientTop}else a&&h();r&&!i&&a&&h();let d=a&&!i&&!r?KP(a,u):Ar(0),m=l.left+u.scrollLeft-f.x-d.x,y=l.top+u.scrollTop-f.y-d.y;return{x:m,y,width:l.width,height:l.height}}function gE(t){return aa(t).position==="static"}function YP(t,e){if(!ia(t)||aa(t).position==="fixed")return null;if(e)return e(t);let n=t.offsetParent;return Er(t)===n&&(n=n.ownerDocument.body),n}function WP(t,e){let n=Fi(t);if(Ep(t))return n;if(!ia(t)){let a=Rr(t);for(;a&&!Cr(a);){if(hn(a)&&!gE(a))return a;a=Rr(a)}return n}let i=YP(t,e);for(;i&&MP(i)&&gE(i);)i=YP(i,e);return i&&Cr(i)&&gE(i)&&!T0(i)?n:i||OP(t)||n}var H9=async function(t){let e=this.getOffsetParent||WP,n=this.getDimensions,i=await n(t.floating);return{reference:B9(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function F9(t){return aa(t).direction==="rtl"}var bE={convertOffsetParentRelativeRectToViewportRelativeRect:M9,getDocumentElement:Er,getClippingRect:D9,getOffsetParent:WP,getElementRects:H9,getClientRects:O9,getDimensions:P9,getScale:kd,isElement:hn,isRTL:F9};function JP(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function V9(t,e){let n=null,i,a=Er(t);function r(){var u;clearTimeout(i),(u=n)==null||u.disconnect(),n=null}function l(u,f){u===void 0&&(u=!1),f===void 0&&(f=1),r();let h=t.getBoundingClientRect(),{left:d,top:m,width:y,height:g}=h;if(u||e(),!y||!g)return;let b=Op(m),T=Op(a.clientWidth-(d+y)),C=Op(a.clientHeight-(m+g)),x=Op(d),R={rootMargin:-b+"px "+-T+"px "+-C+"px "+-x+"px",threshold:Yo(0,qd(1,f))||1},E=!0;function M(z){let I=z[0].intersectionRatio;if(I!==f){if(!E)return l();I?l(!1,I):i=setTimeout(()=>{l(!1,1e-7)},1e3)}I===1&&!JP(h,t.getBoundingClientRect())&&l(),E=!1}try{n=new IntersectionObserver(M,{...R,root:a.ownerDocument})}catch{n=new IntersectionObserver(M,R)}n.observe(t)}return l(!0),r}function O0(t,e,n,i){i===void 0&&(i={});let{ancestorScroll:a=!0,ancestorResize:r=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:f=!1}=i,h=yE(t),d=a||r?[...h?Ia(h):[],...Ia(e)]:[];d.forEach(x=>{a&&x.addEventListener("scroll",n,{passive:!0}),r&&x.addEventListener("resize",n)});let m=h&&u?V9(h,n):null,y=-1,g=null;l&&(g=new ResizeObserver(x=>{let[w]=x;w&&w.target===h&&g&&(g.unobserve(e),cancelAnimationFrame(y),y=requestAnimationFrame(()=>{var R;(R=g)==null||R.observe(e)})),n()}),h&&!f&&g.observe(h),g.observe(e));let b,T=f?zu(t):null;f&&C();function C(){let x=zu(t);T&&!JP(T,x)&&n(),T=x,b=requestAnimationFrame(C)}return n(),()=>{var x;d.forEach(w=>{a&&w.removeEventListener("scroll",n),r&&w.removeEventListener("resize",n)}),m?.(),(x=g)==null||x.disconnect(),g=null,f&&cancelAnimationFrame(b)}}var Lp=M0,$P=jP;var t4=kP,e4=qP;var _0=(t,e,n)=>{let i=new Map,a={platform:bE,...n},r={...a.platform,_c:i};return UP(t,e,{...a,platform:r})};var Hn=N(ct(),1),i4=N(ct(),1),a4=N(Xl(),1),U9=typeof document<"u",q9=function(){},z0=U9?i4.useLayoutEffect:q9;function I0(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;if(typeof t=="function"&&t.toString()===e.toString())return!0;let n,i,a;if(t&&e&&typeof t=="object"){if(Array.isArray(t)){if(n=t.length,n!==e.length)return!1;for(i=n;i--!==0;)if(!I0(t[i],e[i]))return!1;return!0}if(a=Object.keys(t),n=a.length,n!==Object.keys(e).length)return!1;for(i=n;i--!==0;)if(!{}.hasOwnProperty.call(e,a[i]))return!1;for(i=n;i--!==0;){let r=a[i];if(!(r==="_owner"&&t.$$typeof)&&!I0(t[r],e[r]))return!1}return!0}return t!==t&&e!==e}function r4(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function n4(t,e){let n=r4(t);return Math.round(e*n)/n}function SE(t){let e=Hn.useRef(t);return z0(()=>{e.current=t}),e}function o4(t){t===void 0&&(t={});let{placement:e="bottom",strategy:n="absolute",middleware:i=[],platform:a,elements:{reference:r,floating:l}={},transform:u=!0,whileElementsMounted:f,open:h}=t,[d,m]=Hn.useState({x:0,y:0,strategy:n,placement:e,middlewareData:{},isPositioned:!1}),[y,g]=Hn.useState(i);I0(y,i)||g(i);let[b,T]=Hn.useState(null),[C,x]=Hn.useState(null),w=Hn.useCallback(Y=>{Y!==z.current&&(z.current=Y,T(Y))},[]),R=Hn.useCallback(Y=>{Y!==I.current&&(I.current=Y,x(Y))},[]),E=r||b,M=l||C,z=Hn.useRef(null),I=Hn.useRef(null),L=Hn.useRef(d),H=f!=null,q=SE(f),st=SE(a),et=SE(h),gt=Hn.useCallback(()=>{if(!z.current||!I.current)return;let Y={placement:e,strategy:n,middleware:y};st.current&&(Y.platform=st.current),_0(z.current,I.current,Y).then(yt=>{let Mt={...yt,isPositioned:et.current!==!1};it.current&&!I0(L.current,Mt)&&(L.current=Mt,a4.flushSync(()=>{m(Mt)}))})},[y,e,n,st,et]);z0(()=>{h===!1&&L.current.isPositioned&&(L.current.isPositioned=!1,m(Y=>({...Y,isPositioned:!1})))},[h]);let it=Hn.useRef(!1);z0(()=>(it.current=!0,()=>{it.current=!1}),[]),z0(()=>{if(E&&(z.current=E),M&&(I.current=M),E&&M){if(q.current)return q.current(E,M,gt);gt()}},[E,M,gt,q,H]);let nt=Hn.useMemo(()=>({reference:z,floating:I,setReference:w,setFloating:R}),[w,R]),ut=Hn.useMemo(()=>({reference:E,floating:M}),[E,M]),wt=Hn.useMemo(()=>{let Y={position:n,left:0,top:0};if(!ut.floating)return Y;let yt=n4(ut.floating,d.x),Mt=n4(ut.floating,d.y);return u?{...Y,transform:"translate("+yt+"px, "+Mt+"px)",...r4(ut.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:yt,top:Mt}},[n,u,ut.floating,d.x,d.y]);return Hn.useMemo(()=>({...d,update:gt,refs:nt,elements:ut,floatingStyles:wt}),[d,gt,nt,ut,wt])}var N0=(t,e)=>({...$P(t),options:[t,e]}),xE=(t,e)=>({...t4(t),options:[t,e]});var wE=(t,e)=>({...e4(t),options:[t,e]});var j9="data-floating-ui-focusable",s4="active",l4="selected",k9="ArrowLeft",G9="ArrowRight",Y9="ArrowUp",X9="ArrowDown";var Q9=[k9,G9],K9=[Y9,X9],net=[...Q9,...K9];var Z9={...ae},u4=!1,W9=0,c4=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+W9++;function J9(){let[t,e]=ae.useState(()=>u4?c4():void 0);return A0(()=>{t==null&&e(c4())},[]),ae.useEffect(()=>{u4=!0},[]),t}var $9=Z9.useId,tk=$9||J9;function ek(){let t=new Map;return{emit(e,n){var i;(i=t.get(e))==null||i.forEach(a=>a(n))},on(e,n){t.has(e)||t.set(e,new Set),t.get(e).add(n)},off(e,n){var i;(i=t.get(e))==null||i.delete(n)}}}var nk=ae.createContext(null),ik=ae.createContext(null),ak=()=>{var t;return((t=ae.useContext(nk))==null?void 0:t.id)||null},h4=()=>ae.useContext(ik);function rk(t){return"data-floating-ui-"+t}function ok(t){t.current!==-1&&(clearTimeout(t.current),t.current=-1)}var sk={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},lk={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},d4=t=>{var e,n;return{escapeKey:typeof t=="boolean"?t:(e=t?.escapeKey)!=null?e:!1,outsidePress:typeof t=="boolean"?t:(n=t?.outsidePress)!=null?n:!0}};function p4(t,e){e===void 0&&(e={});let{open:n,onOpenChange:i,elements:a,dataRef:r}=t,{enabled:l=!0,escapeKey:u=!0,outsidePress:f=!0,outsidePressEvent:h="pointerdown",referencePress:d=!1,referencePressEvent:m="pointerdown",ancestorScroll:y=!1,bubbles:g,capture:b}=e,T=h4(),C=_u(typeof f=="function"?f:()=>!1),x=typeof f=="function"?C:f,w=ae.useRef(!1),{escapeKey:R,outsidePress:E}=d4(g),{escapeKey:M,outsidePress:z}=d4(b),I=ae.useRef(!1),L=ae.useRef(-1),H=_u(nt=>{var ut;if(!n||!l||!u||nt.key!=="Escape"||I.current)return;let wt=(ut=r.current.floatingContext)==null?void 0:ut.nodeId,Y=T?Np(T.nodesRef.current,wt):[];if(!R&&(nt.stopPropagation(),Y.length>0)){let yt=!0;if(Y.forEach(Mt=>{var qt;if((qt=Mt.context)!=null&&qt.open&&!Mt.context.dataRef.current.__escapeKeyBubbles){yt=!1;return}}),!yt)return}i(!1,FP(nt)?nt.nativeEvent:nt,"escape-key")}),q=_u(nt=>{var ut;let wt=()=>{var Y;H(nt),(Y=jd(nt))==null||Y.removeEventListener("keydown",wt)};(ut=jd(nt))==null||ut.addEventListener("keydown",wt)}),st=_u(nt=>{var ut;let wt=r.current.insideReactTree;r.current.insideReactTree=!1;let Y=w.current;if(w.current=!1,h==="click"&&Y||wt||typeof x=="function"&&!x(nt))return;let yt=jd(nt),Mt="["+rk("inert")+"]",qt=mE(a.floating).querySelectorAll(Mt),Kt=hn(yt)?yt:null;for(;Kt&&!Cr(Kt);){let Ht=Rr(Kt);if(Cr(Ht)||!hn(Ht))break;Kt=Ht}if(qt.length&&hn(yt)&&!HP(yt)&&!pE(yt,a.floating)&&Array.from(qt).every(Ht=>!pE(Kt,Ht)))return;if(ia(yt)&&it){let Ht=Cr(yt),ee=aa(yt),Gt=/auto|scroll/,re=Ht||Gt.test(ee.overflowX),Ce=Ht||Gt.test(ee.overflowY),Zt=re&&yt.clientWidth>0&&yt.scrollWidth>yt.clientWidth,fe=Ce&&yt.clientHeight>0&&yt.scrollHeight>yt.clientHeight,Ft=ee.direction==="rtl",tn=fe&&(Ft?nt.offsetX<=yt.offsetWidth-yt.clientWidth:nt.offsetX>yt.clientWidth),Jt=Zt&&nt.offsetY>yt.clientHeight;if(tn||Jt)return}let te=(ut=r.current.floatingContext)==null?void 0:ut.nodeId,ue=T&&Np(T.nodesRef.current,te).some(Ht=>{var ee;return C0(nt,(ee=Ht.context)==null?void 0:ee.elements.floating)});if(C0(nt,a.floating)||C0(nt,a.domReference)||ue)return;let ft=T?Np(T.nodesRef.current,te):[];if(ft.length>0){let Ht=!0;if(ft.forEach(ee=>{var Gt;if((Gt=ee.context)!=null&&Gt.open&&!ee.context.dataRef.current.__outsidePressBubbles){Ht=!1;return}}),!Ht)return}i(!1,nt,"outside-press")}),et=_u(nt=>{var ut;let wt=()=>{var Y;st(nt),(Y=jd(nt))==null||Y.removeEventListener(h,wt)};(ut=jd(nt))==null||ut.addEventListener(h,wt)});ae.useEffect(()=>{if(!n||!l)return;r.current.__escapeKeyBubbles=R,r.current.__outsidePressBubbles=E;let nt=-1;function ut(qt){i(!1,qt,"ancestor-scroll")}function wt(){window.clearTimeout(nt),I.current=!0}function Y(){nt=window.setTimeout(()=>{I.current=!1},Ud()?5:0)}let yt=mE(a.floating);u&&(yt.addEventListener("keydown",M?q:H,M),yt.addEventListener("compositionstart",wt),yt.addEventListener("compositionend",Y)),x&&yt.addEventListener(h,z?et:st,z);let Mt=[];return y&&(hn(a.domReference)&&(Mt=Ia(a.domReference)),hn(a.floating)&&(Mt=Mt.concat(Ia(a.floating))),!hn(a.reference)&&a.reference&&a.reference.contextElement&&(Mt=Mt.concat(Ia(a.reference.contextElement)))),Mt=Mt.filter(qt=>{var Kt;return qt!==((Kt=yt.defaultView)==null?void 0:Kt.visualViewport)}),Mt.forEach(qt=>{qt.addEventListener("scroll",ut,{passive:!0})}),()=>{u&&(yt.removeEventListener("keydown",M?q:H,M),yt.removeEventListener("compositionstart",wt),yt.removeEventListener("compositionend",Y)),x&&yt.removeEventListener(h,z?et:st,z),Mt.forEach(qt=>{qt.removeEventListener("scroll",ut)}),window.clearTimeout(nt)}},[r,a,u,x,h,n,i,y,l,R,E,H,M,q,st,z,et]),ae.useEffect(()=>{r.current.insideReactTree=!1},[r,x,h]);let gt=ae.useMemo(()=>({onKeyDown:H,...d&&{[sk[m]]:nt=>{i(!1,nt.nativeEvent,"reference-press")},...m!=="click"&&{onClick(nt){i(!1,nt.nativeEvent,"reference-press")}}}}),[H,i,d,m]),it=ae.useMemo(()=>({onKeyDown:H,onMouseDown(){w.current=!0},onMouseUp(){w.current=!0},[lk[h]]:()=>{r.current.insideReactTree=!0},onBlurCapture(){T||(ok(L),r.current.insideReactTree=!0,L.current=window.setTimeout(()=>{r.current.insideReactTree=!1}))}}),[H,h,r,T]);return ae.useMemo(()=>l?{reference:gt,floating:it}:{},[l,gt,it])}function uk(t){let{open:e=!1,onOpenChange:n,elements:i}=t,a=tk(),r=ae.useRef({}),[l]=ae.useState(()=>ek()),u=ak()!=null,[f,h]=ae.useState(i.reference),d=_u((g,b,T)=>{r.current.openEvent=g?b:void 0,l.emit("openchange",{open:g,event:b,reason:T,nested:u}),n?.(g,b,T)}),m=ae.useMemo(()=>({setPositionReference:h}),[]),y=ae.useMemo(()=>({reference:f||i.reference||null,floating:i.floating||null,domReference:i.reference}),[f,i.reference,i.floating]);return ae.useMemo(()=>({dataRef:r,open:e,onOpenChange:d,elements:y,events:l,floatingId:a,refs:m}),[e,d,y,l,a,m])}function m4(t){t===void 0&&(t={});let{nodeId:e}=t,n=uk({...t,elements:{reference:null,floating:null,...t.elements}}),i=t.rootContext||n,a=i.elements,[r,l]=ae.useState(null),[u,f]=ae.useState(null),d=a?.domReference||r,m=ae.useRef(null),y=h4();A0(()=>{d&&(m.current=d)},[d]);let g=o4({...t,elements:{...a,...u&&{reference:u}}}),b=ae.useCallback(R=>{let E=hn(R)?{getBoundingClientRect:()=>R.getBoundingClientRect(),getClientRects:()=>R.getClientRects(),contextElement:R}:R;f(E),g.refs.setReference(E)},[g.refs]),T=ae.useCallback(R=>{(hn(R)||R===null)&&(m.current=R,l(R)),(hn(g.refs.reference.current)||g.refs.reference.current===null||R!==null&&!hn(R))&&g.refs.setReference(R)},[g.refs]),C=ae.useMemo(()=>({...g.refs,setReference:T,setPositionReference:b,domReference:m}),[g.refs,T,b]),x=ae.useMemo(()=>({...g.elements,domReference:d}),[g.elements,d]),w=ae.useMemo(()=>({...g,...i,refs:C,elements:x,nodeId:e}),[g,C,x,e,i]);return A0(()=>{i.dataRef.current.floatingContext=w;let R=y?.nodesRef.current.find(E=>E.id===e);R&&(R.context=w)}),ae.useMemo(()=>({...g,context:w,refs:C,elements:x}),[g,C,x,w])}function TE(t,e,n){let i=new Map,a=n==="item",r=t;if(a&&t){let{[s4]:l,[l4]:u,...f}=t;r=f}return{...n==="floating"&&{tabIndex:-1,[j9]:""},...r,...e.map(l=>{let u=l?l[n]:null;return typeof u=="function"?t?u(t):null:u}).concat(t).reduce((l,u)=>(u&&Object.entries(u).forEach(f=>{let[h,d]=f;if(!(a&&[s4,l4].includes(h)))if(h.indexOf("on")===0){if(i.has(h)||i.set(h,[]),typeof d=="function"){var m;(m=i.get(h))==null||m.push(d),l[h]=function(){for(var y,g=arguments.length,b=new Array(g),T=0;T<g;T++)b[T]=arguments[T];return(y=i.get(h))==null?void 0:y.map(C=>C(...b)).find(C=>C!==void 0)}}}else l[h]=d}),l),{})}}function g4(t){t===void 0&&(t=[]);let e=t.map(u=>u?.reference),n=t.map(u=>u?.floating),i=t.map(u=>u?.item),a=ae.useCallback(u=>TE(u,t,"reference"),e),r=ae.useCallback(u=>TE(u,t,"floating"),n),l=ae.useCallback(u=>TE(u,t,"item"),i);return ae.useMemo(()=>({getReferenceProps:a,getFloatingProps:r,getItemProps:l}),[a,r,l])}var E4=N(Xl(),1);var Fn=N(ct(),1);var y4=N(ct(),1),L0=N(ct(),1);var b4=N(K(),1),v4=vr(),Iu=(0,L0.createContext)({emitter:v4});Iu.displayName="Events";function Dp(){return y4.default.useContext(Iu).emitter}function ck({emitter:t,children:e}){return(0,b4.jsx)(Iu.Provider,{value:(0,L0.useMemo)(()=>({emitter:t}),[t]),children:e})}var Gd=N(ct(),1),x4=N(K(),1),Pp=(0,Gd.createContext)("");function S4({children:t,identifier:e}){let n=(0,Gd.useMemo)(()=>e??Math.random().toString(36).substring(2,9),[e]);return(0,x4.jsx)(Pp.Provider,{value:n,children:t})}function D0(){return(0,Gd.useContext)(Pp)}var Vi=N(K(),1),Bp=Fn.default.createContext({});function Hp(){let t=(0,Fn.useContext)(Bp),e=Object.keys(t),n={};for(let i of e)t[i].Provider&&(n[i]={value:(0,Fn.useContext)(t[i]),Provider:t[i].Provider});return n}function w4(t){let e=Object.keys(t),n=t.children;for(let i of e){if(i==="children")continue;let{value:a,Provider:r}=t[i];n=(0,Vi.jsx)(r,{value:a,children:n})}return n}function dk(t){let e=(0,Fn.useContext)(Bp),n=(0,Fn.useMemo)(()=>({...e,...t.providers}),[t.providers]);return(0,Vi.jsx)(Bp.Provider,{value:n,children:t.children})}function Fp(){return{VaultContext:(0,Fn.useContext)(gs),ResourceContext:(0,Fn.useContext)(Cf),SimpleViewerReactContext:(0,Fn.useContext)(Oc),VisibleCanvasReactContext:(0,Fn.useContext)(Vl),AuthRContext:(0,Fn.useContext)(ql),SearchReactContext:(0,Fn.useContext)(Mc),ReactEventContext:(0,Fn.useContext)(Iu),ReactEmitterContext:(0,Fn.useContext)(yu),ContextBridgeReactContext:(0,Fn.useContext)(Bp),StrategyReactContext:(0,Fn.useContext)(nl),AtlasStoreReactContext:(0,Fn.useContext)(bu),ViewerIdentifierContext:(0,Fn.useContext)(Pp)}}function Vp(t){return(0,Vi.jsx)(po,{vault:t.bridge.VaultContext.vault||void 0,resources:t.bridge.ResourceContext,children:(0,Vi.jsx)(Vl.Provider,{value:t.bridge.VisibleCanvasReactContext,children:(0,Vi.jsx)(Oc.Provider,{value:t.bridge.SimpleViewerReactContext,children:(0,Vi.jsx)(Iu.Provider,{value:t.bridge.ReactEventContext,children:(0,Vi.jsx)(yu.Provider,{value:t.bridge.ReactEmitterContext,children:(0,Vi.jsx)(bu.Provider,{value:t.bridge.AtlasStoreReactContext,children:(0,Vi.jsx)(ql.Provider,{value:t.bridge.AuthRContext,children:(0,Vi.jsx)(Mc.Provider,{value:t.bridge.SearchReactContext,children:(0,Vi.jsx)(Pp.Provider,{value:t.bridge.ViewerIdentifierContext,children:(0,Vi.jsx)(Bp.Provider,{value:t.bridge.ContextBridgeReactContext,children:(0,Vi.jsx)(nl.Provider,{value:t.bridge.StrategyReactContext,children:t.custom?(0,Vi.jsx)(w4,{...t.custom,children:t.children}):t.children})})})})})})})})})})})}var Yd=N(K(),1),C4=10,T4=1;function fk(t){let[e,n]=t.split("-");return[e,n]}function R4(t,e,n){return e>n?t:Math.min(Math.max(t,e),n)}function hk(t){return t.top>0||t.right>0||t.bottom>0||t.left>0}function pk(t){return{name:"insideHighlightFallback",options:t,async fn(e){if(t.width<=T4||t.height<=T4)return{};let n=await Lp(e,{altBoundary:!0});if(!hk(n))return{};let{reference:i,floating:a}=e.rects,[r,l]=fk(e.initialPlacement),u=Math.min(C4,i.width/2,i.height/2),f=i.x+(i.width-a.width)/2,h=i.y+(i.height-a.height)/2,d=e.x,m=e.y;return r==="top"||r==="bottom"?(m=r==="top"?i.y+u:i.y+i.height-a.height-u,l==="start"?d=i.x+u:l==="end"?d=i.x+i.width-a.width-u:d=f,d=R4(d,i.x+u,i.x+i.width-a.width-u)):(d=r==="left"?i.x+u:i.x+i.width-a.width-u,l==="start"?m=i.y+u:l==="end"?m=i.y+i.height-a.height-u:m=h,m=R4(m,i.y+u,i.y+i.height-a.height-u)),{x:d,y:m}}}}function P0({annotation:t,target:e,children:n,dismissable:i,isOpen:a,onOpenChange:r,placement:l}){let u=D0(),f=Fp(),h=Hp(),{refs:d,floatingStyles:m,context:y}=m4({open:a,onOpenChange:r,nodeId:t.id,placement:l||"bottom",middleware:[N0(C4),wE({mainAxis:!0,fallbackStrategy:"bestFit",altBoundary:!0}),xE({altBoundary:!0}),pk(e)],whileElementsMounted:O0}),g=p4(y),{getReferenceProps:b,getFloatingProps:T}=g4([i?g:null].filter(C=>C!==null));return(0,Yd.jsxs)(na,{relative:!0,target:e,interactive:!1,children:[(0,Yd.jsx)("div",{ref:d.setReference,...b(),style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"}}),(0,E4.createPortal)((0,Yd.jsx)(Vp,{bridge:f,custom:h,children:(0,Yd.jsx)("div",{ref:d.setFloating,style:m,...T(),children:n})}),document.getElementById(`atlas-floating-ui-${u}`))]})}var Up=N(K(),1),M4=Ig()(t=>({isMenuOpen:!1,menuPosition:{x:0,y:0},setMenuPosition(e){t({menuPosition:e})},toggle(e){t(n=>({isMenuOpen:!n.isMenuOpen,menuPosition:e}))},open(e){t({isMenuOpen:!0,menuPosition:e})},setIsMenuOpen(e){t(typeof e=="function"?n=>({isMenuOpen:e(n.isMenuOpen)}):{isMenuOpen:e})},close(){t({isMenuOpen:!1})}}));function qp(t,e,n){let{isMenuOpen:i,setIsMenuOpen:a,close:r,open:l,menuPosition:u,setMenuPosition:f,toggle:h}=M4(),d=(0,A4.useCallback)(g=>{n&&(g.preventDefault(),g.stopPropagation(),h(g.atlas))},[h,n]);return[(0,Up.jsx)(Up.Fragment,{children:n&&i&&(0,Up.jsx)(P0,{dismissable:!0,placement:"bottom-start",isOpen:i,onOpenChange:a,annotation:{id:t},target:{x:u.x,y:u.y,height:1,width:1},children:i&&n({canvasId:e,position:u,close:()=>a(!1)})})}),{onContextMenu:d},{open:l,close:r,toggle:h,isMenuOpen:i,setIsMenuOpen:a,menuPosition:u,setMenuPosition:f}]}function EE(){let t=$e();return zt(t,e=>e.tool.requestId&&e.requests[e.tool.requestId]||null)}var Ci=N(K(),1);function CE({theme:t,renderContextMenu:e,children:n}){let i=$e(),a=Wt(),r=zt(i,M=>M.polygon),l=zt(i,M=>M.polygonState.currentTool),u=zt(i,M=>M.mode),f=zt(i,M=>M.changeMode),h=zt(i,M=>M.polygonState.transitioning),{enabled:d,requestId:m}=zt(i,M=>M.tool),y=(0,B0.useMemo)(()=>Js(r),[r]),g=EE(),[b,T]=qp("editing-annotation",a?.id,e),C=g?.annotationPopup||n||(0,Ci.jsx)(O4,{}),x=g?.svgTheme||t,w=()=>{f("sketch")};if(!d||!a||!m||!r)return null;let R=y&&r.id&&!h&&(l==="pointer"||l==="hand"||!r.open)?(0,Ci.jsx)(P0,{annotation:r,target:y,children:C}):null,E="shape";return u==="explore"?(0,Ci.jsxs)(Ci.Fragment,{children:[(0,Ci.jsx)(E,{id:`shape-${r.id}`,points:r.points,open:r.open,onClick:w,relativeStyle:!0,target:{x:0,y:0,width:a.width,height:a.height},style:{":hover":{backgroundColor:"rgba(0,0,0,0.2)"},backgroundColor:"rgba(0,0,0,0)",borderWidth:"4px",borderColor:"rgba(255, 255, 255, .4)"},...T}),(0,Ci.jsx)(E,{id:`shape-${r.id}`,points:r.points,open:r.open,onClick:w,relativeStyle:!0,target:{x:0,y:0,width:a.width,height:a.height},style:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(0, 0, 0, .4)"}}),R]}):(0,Ci.jsxs)(Ci.Fragment,{children:[e?(0,Ci.jsx)(E,{id:`shape-${r.id}`,points:r.points,open:r.open,target:{x:0,y:0,width:a.width,height:a.height},...T}):null,(0,Ci.jsx)(CP,{image:a,theme:x}),R,b]})}function O4(){let t=$e(),e=zt(t,l=>l.changeMode),n=zt(t,l=>l.mode),i=zt(t,l=>l.completeRequest),a=zt(t,l=>l.tool),r=()=>{(0,B0.startTransition)(()=>{i()})};return a.enabled?(0,Ci.jsxs)("div",{className:"svg-tools-container animate-fadeIn",children:[n!=="sketch"&&(0,Ci.jsx)("button",{className:"svg-tools-button",onClick:()=>{e("sketch")},children:"Edit"}),(0,Ci.jsx)("button",{className:"svg-tools-button",onClick:r,children:"Save"})]}):null}var dl=N(ct(),1);var Xd=N(ct(),1);function mk(t){return t.type==="SpecificResource"?[t.source,{selector:t.selector}]:[t,{selector:null}]}function jp(t,e){let{selector:n,source:i}=wn(e);if(i.id!==t.id)return[null,i];let a={type:"BoxSelector",spatial:{x:0,y:0,width:Number(t.width),height:Number(t.height)}};return[n?n.type==="TemporalSelector"?{type:"TemporalBoxSelector",temporal:n.temporal,spatial:a.spatial}:n:null,i]}var AE={makeChoice:()=>{}},kp={type:"unknown"},on=t=>({type:"unknown",reason:t,annotations:{pages:[]}}),ME=(t,e)=>({type:"empty",width:t,height:e,annotations:{pages:[]},image:null,images:[]});var Gp=N(ct(),1);function gk(t,e){let n=t?.iiif?.meta[e];return n?n.annotationPageManager:null}function _4(t,e){return _e(n=>{let i=[];if(!t)return i;let a=Object.keys(n.iiif.entities.AnnotationPage);for(let r of a)if(!e||e.indexOf(r)!==-1){let l=gk(n,r);l&&l.views&&l.views[t]&&i.push(r)}return i},[t,e])}function OE({canvas:t,manifest:e,all:n,canvases:i}){let a=[];if(e)for(let r of e.annotations)a.indexOf(r.id)===-1&&a.push(r.id);if(n){if(i&&i.length)for(let r of i)for(let l of r.annotations)a.indexOf(l.id)===-1&&a.push(l.id)}else if(t)for(let r of t.annotations)a.indexOf(r.id)===-1&&a.push(r.id);return a}function yk(t,e){let n=t?.iiif?.meta[e];return n?n.annotationPageManager:null}function Yp(t,e={}){let n=ce(),i=Tn(),a=Wt(),r=Ul(),l=(0,Gp.useMemo)(()=>OE({all:e.all,manifest:i,canvas:a,canvases:r}),[e.all,a,r,i]),u=_4(t,e.all?void 0:l),f=(0,Gp.useCallback)(d=>{t&&n.setMetaValue([d,"annotationPageManager","views"],m=>m&&!m[t]?m:{...m||{},[t]:!1})},[t,n]),h=(0,Gp.useCallback)((d,m={})=>{if(!t)return;let y=n.getState(),g=[];if(m?.deselectOthers){let b=Object.keys(y.iiif.entities.AnnotationPage);for(let T of b){let C=yk(y,T);C&&C.views&&C.views[t]&&g.push(T)}}for(let b of g)f(b);n.setMetaValue([d,"annotationPageManager","views"],b=>b&&b[t]?b:{...b||{},[t]:!0})},[t,f,n]);return{availablePageIds:l,enabledPageIds:u,setPageEnabled:h,setPageDisabled:f}}function _E(t,e){return _e((n,i)=>i.get(t.map(a=>({id:a,type:e}))),[t,e])}var z4=N(ct(),1);var vk=va((t,e)=>({loaded:{},setLoaded:(n,i="done")=>{t(a=>({loaded:{...a.loaded,[n]:i}}))}})),bk=vr();bk.on("loaded",t=>{vk.getState().setLoaded(t.imageServiceId)});function Xp(){let t=Pd(),e=lP();return[(0,z4.useCallback)((i,{height:a,width:r})=>i&&t(i,{height:a,width:r},!0),[t]),e]}var Nu=N(ct(),1);function Qo(t={}){let e=hp(),n=Wt(t.canvasId?{id:t.canvasId}:void 0);return _e((i,a)=>{if(!n)return[];if(e&&t.enableSingleAnnotation)return[e];let r=a.get(n.items),l=[];for(let u of r)l.push(...a.get(u.items));return l},[n])}function zE(t,e=[]){let n=ce(),i=(0,Nu.useMemo)(()=>Ld(n),[]),a=Qo({enableSingleAnnotation:t?.enableSingleAnnotation}),[r,l]=(0,Nu.useState)(t?.defaultChoices||[]),u=(0,Nu.useMemo)(()=>i.getPaintables(a,r),[n,a,r,...e]),h={makeChoice:(0,Nu.useCallback)((d,{deselectOthers:m=!0,deselect:y=!1}={})=>{u.choice&&l(g=>{if(y){let T=g.filter(C=>C!==d);if(T.length===0){let C=u.items[0].resource.id;return C?[C]:[]}return T}if(m)return[d];let b=[...g];if(b.length===0&&u.items.length){let T=u.items[0].resource.id;T&&b.push(T)}return g.indexOf(d)!==-1?g:[...g,d]})},[u.choice])};return[u,h]}var Sk=["model/gltf-binary"];function IE(t,e){let n=e.items[0],i=n.resource;return i.format?Sk.indexOf(i.format)===-1?on(`3D format: ${i.format} is unsupported`):{type:"3d-model",model:i,annotationId:n.annotationId,annotation:n.annotation}:on("Unknown format")}function H0(t,e){let n=e.items,i=n[0];if(n.length===0||!i)return on("No audio");if(!t.duration)return on("No duration on canvas");if(n.length>1)return on("Only one audio source supported");let a=i.resource;return a?("format"in a||(a.format="audio/mpeg"),{type:"media",media:{annotationId:i.annotationId,annotation:i.annotation,duration:t.duration,url:a.id,type:"Sound",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:t.duration}},format:a.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:t.duration}}},annotations:{pages:[]}}):on("Unknown audio")}function Ko(t){return t.replace(/^http:/,"https:")}function I4(t){if(!(t?.type!=="ImageApiSelector"||typeof t.rotation>"u"))return NE(t.rotation)}function NE(t){if(t===null||typeof t>"u"||t==="")return;let e=Number(t);return Number.isFinite(e)?e:void 0}function xk(t){let e=t.selector||{};return{...t.rotationOrigin||e.rotationOrigin?{rotationOrigin:t.rotationOrigin||e.rotationOrigin}:{},...t.translate||e.translate?{translate:t.translate||e.translate}:{},...t.transform||e.transform?{transform:t.transform||e.transform}:{},...t.style||e.boxStyle?{style:t.style||e.boxStyle}:{},...t.styleClass?{styleClass:t.styleClass}:{}}}function Qp(t,e,n){let i=[],a=[];for(let r of e.items){let l=r.resource&&r.resource.type==="SpecificResource"?r.resource.source:r.resource;if(!l.id)return on("No resource Identifier");let f=(r.resource.type==="SpecificResource"?I4(r.resource.selector):void 0)??I4(r.selector)??NE(r.rotation)??NE(r.selector?.rotation),h=typeof f<"u",d;if(l.service){let R=bs(l);R[0]&&(d=n(R[0],h?{width:Number(l.width||t.width),height:Number(l.height||t.height)}:t))}let m={type:"BoxSelector",spatial:{x:0,y:0,width:Number(t.width),height:Number(t.height)}},[y,g]=jp(t,r.target),b=t.id?.split("?")[0]||"";if(!(Ko(g.id||"")===Ko(t.id)||Ko(decodeURIComponent(g.id||""))===Ko(t.id||"")||Ko(g.id||"")===Ko(b)||Ko(decodeURIComponent(g.id||""))===Ko(b)))continue;let T=r.resource.width&&r.resource.height?{type:"BoxSelector",spatial:{x:0,y:0,width:r.resource.width,height:r.resource.height}}:void 0,C=r.resource.type==="SpecificResource"?wn(r.resource):null;if(r.selector){let R=wn({type:"SpecificResource",source:r.resource,selector:r.selector});R&&(C=R)}let x=C&&C.selector&&(C.selector.type==="BoxSelector"||C.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:C.selector.spatial.x,y:C.selector.spatial.y,width:C.selector.spatial.width,height:C.selector.spatial.height},...typeof C.selector.rotation<"u"?{rotation:C.selector.rotation}:{},...C.selector.rotationOrigin?{rotationOrigin:C.selector.rotationOrigin}:{},...C.selector.translate?{translate:C.selector.translate}:{},...C.selector.transform?{transform:C.selector.transform}:{},...C.selector.boxStyle?{boxStyle:C.selector.boxStyle}:{}}:void 0;d&&!d.id&&(d.id=d["@id"]);let w={id:l.id,type:"Image",annotationId:r.annotationId,annotation:r.annotation,width:Number(h||y||x?l.width:t.width),height:Number(h||y||x?l.height:t.height),...typeof f<"u"?{rotation:f}:{},...xk(r),service:d,sizes:d&&d.sizes?d.sizes:l.width&&l.height?[{width:l.width,height:l.height}]:[],target:y&&y.type!=="PointSelector"?y:m,selector:x||{type:"BoxSelector",spatial:{x:0,y:0,width:Number(t.width),height:Number(t.height)}},annotationPages:r.resource.annotations||[]};i.push(w)}return{type:"images",image:i[0],images:i,choice:e.choice}}function N4(t,e={},n){let i=t.language||n||"none";switch(t.type){case"TextualBody":{typeof t.value<"u"&&(e[i]=[t.value]);break}case"List":case"Composite":case"Choice":t.items&&t.items.forEach(a=>N4(a,e,i))}return e}function Kp(t,e){let n=[];return e.items.forEach(i=>{if(i.resource){let[a]=jp(t,i.target);n.push({type:"Text",annotationId:i.annotationId,annotation:i.annotation,text:N4(i.resource),target:a})}}),{type:"textual-content",items:n}}var wk=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function Zp(t,e,n,i=!1){let a=e.items.filter(T=>T.type==="video"),r=a[0],l=!1,u=!1;if(t.duration||(u=!0),a.length>1||!r)return on("Only one video source supported");let f=a[0]?.resource,h=!!(f.service||[]).find(T=>(T.profile||"").includes("youtube.com"));if(!h&&u)return on("Video does not have duration");if(!f)return on("Unknown video");if((!f.format||f.format==="text/html")&&!h)return on("Video does not have format");let d=[],m=n.get(t.annotations||[]);for(let T of m){let C=n.get(T.items||[]);for(let x of C)if((x.motivation?Array.isArray(x.motivation||"")?x.motivation:[x.motivation]:[]).includes("supplementing")){let R=n.get(x.body||[]);for(let E of R){let M=E;if(M.type==="Choice")for(let z of M.items){let I=n.get(z);I.format==="text/vtt"&&d.push({id:I.id,type:"Text",format:"text/vtt",label:I.label,language:I.language})}else M.format==="text/vtt"&&d.push({id:M.id,type:"Text",format:"text/vtt",label:M.label,language:M.language})}}}let y={annotationId:r.annotationId,annotation:r.annotation,duration:t.duration,url:f.id,type:"Video",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:t.duration}},format:f.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:t.duration}}},g=wn(r.target);g.selector&&g.selector.type==="TemporalBoxSelector"&&(y.target=g.selector);let{selector:b}=co(r.selector);if(b===null){let T=y.target.temporal.startTime,x=(y.target.temporal.endTime||t.duration)-T;y.selector={type:"TemporalSelector",temporal:{startTime:0,endTime:x}}}else b.type==="TemporalSelector"&&(y.selector=b);if(i&&!y.target.spatial&&(l=!0,y.target={type:"TemporalBoxSelector",temporal:y.target.temporal,spatial:{x:t.width/2,y:t.height/2,width:t.width/2,height:t.height/2}}),h){y.type="VideoYouTube";let T=f.id.match(wk);if(!T[1])return on("Video is not known youtube video");y.youTubeId=T[1]}return{type:"media",media:y,annotations:{pages:[]},noSpatial:l,captions:d}}function LE(t,e,n,i){let a={type:"complex-timeline",items:[],keyframes:[],highlights:[],duration:t.duration||0},r={type:"complex-choice",items:[]},l=i.get(t.annotations);function u(d){d.choice&&(d.choice.type==="complex-choice"?r.items.push(...d.choice.items):r.items.push(d.choice))}for(let d of e.items){if(d.type==="image"){let m=Qp(t,{choice:null,allChoices:null,types:["image"],items:[d]},n);if(m.type==="images"){if(!m.image)continue;u(m),a.items.push(m.image);let y={id:m.image.annotationId,type:"enter",resourceType:"image",time:m.image.target?.temporal?.startTime||0};a.keyframes.push(y);let g={id:m.image.annotationId,type:"exit",resourceType:"image",time:m.image.target?.temporal?.endTime||t.duration||0};a.keyframes.push(g)}}if(d.type==="textualbody"){let m=Kp(t,{choice:null,allChoices:null,types:["textualbody"],items:[d]});if(m.type==="textual-content"){u(m);let y=m.items[0];a.items.push(y);let g=y.target,b={id:y.annotationId,type:"enter",resourceType:"text",time:g.temporal?.startTime||0};a.keyframes.push(b);let T={id:y.annotationId,type:"exit",resourceType:"text",time:g.temporal?.endTime||t.duration||0};a.keyframes.push(T)}}if(d.type==="video"){let m=Zp(t,{choice:null,allChoices:null,types:["video"],items:[d]},i,!0);if(m.type==="media"){u(m);let y=m.media;a.items.push(y);let g={id:y.annotationId,type:"enter",resourceType:"video",time:y.target?.temporal?.startTime||0};a.keyframes.push(g);let b={id:y.annotationId,type:"exit",resourceType:"video",time:y.target?.temporal?.endTime||t.duration||0};a.keyframes.push(b)}}if(d.type==="audio"||d.type==="sound"){let m=H0(t,{choice:null,allChoices:null,types:["audio"],items:[d]});if(m.type==="media"){u(m);let y=m.media;a.items.push(y);let g={id:y.annotationId,type:"enter",resourceType:"audio",time:y.target?.temporal?.startTime||0};a.keyframes.push(g);let b={id:y.annotationId,type:"exit",resourceType:"audio",time:y.target?.temporal?.endTime||t.duration||0};a.keyframes.push(b)}}}for(let d of l)for(let m of d.items){let y=i.get(m),g=wn(y.target,{typeMap:i.getState?.().iiif.mapping});if(g.selector?.temporal){let b={id:y.id,type:"enter",resourceType:"highlight",time:g.selector.temporal.startTime||0};a.keyframes.push(b);let T={id:y.id,type:"exit",resourceType:"highlight",time:g.selector.temporal.endTime||t.duration||0};a.keyframes.push(T)}a.highlights.push({annotation:y,target:g})}a.keyframes.sort((d,m)=>d.time-m.time);let f=[],h=[];for(let d of a.keyframes){if(d.resourceType==="image"||d.resourceType==="text"||d.resourceType==="highlight"){h.push(d);continue}if(d.type==="enter"){f.length===0&&(d.isPrime=!0),f.push(d),h.push(d);continue}if(d.type==="exit"&&(h.push(d),f=f.filter(m=>m.id!==d.id),f.length!==0)){let m=f[0],y={id:m.id,type:"change",isPrime:!0,resourceType:m.resourceType,time:d.time};h.push(y)}}return a.keyframes=h,r.items.length&&(a.choice=r),a}var F0={},DE={get(t){return t},setMetaValue([t,e,n],i){let a=DE.getResourceMeta(t,e),r=a?a[n]:void 0,l=typeof i=="function"?i(r):i;F0[t]={...F0[t]||{},[e]:{...(F0[t]||{})[e]||{},[n]:l}}},getResourceMeta:(t,e)=>{let n=F0[t];if(n)return e?n[e]:n},async load(t){let e=typeof t=="string"?t:t.id;return fetch(e).then(n=>n.json())},requestStatus(t){}};function Wp({canvas:t,paintables:e,supports:n,loadImageService:i,vault:a=DE}){if(!t)return kp;if(e.types.length===0)return n.indexOf("empty")!==-1?ME(t.width,t.height):kp;if(e.types.length!==1)if(e.types.length===2&&e.types.indexOf("text")!==-1)e.types=e.types.filter(l=>l!=="text");else return n.indexOf("complex-timeline")===-1?on("Complex timeline not supported"):LE(t,e,i,a);let r=e.types[0];return r==="image"?n.indexOf("images")===-1?on("Image not supported"):Qp(t,e,i):r==="Model"||r==="model"?n.indexOf("3d-model")===-1?on("3D not supported"):IE(t,e):r==="textualbody"?n.indexOf("textual-content")===-1?on("Textual content not supported"):Kp(t,e):r==="sound"||r==="audio"?n.indexOf("media")===-1?on("Media not supported"):H0(t,e):r==="video"?n.indexOf("media")===-1?on("Media not supported"):Zp(t,e,a):kp}function PE(t){let e=Tn(),n=Wt(),i=ce(),a=Dp(),r=t?.emitter||a,[l,u]=Xp(),{enabledPageIds:f}=Yp(t?.annotationPageManagerId||e?.id||n?.id,{all:!1}),h=_E(f,"AnnotationPage"),d=t?.strategies||["empty","images","media","textual-content","complex-timeline"],[m,y]=zE(t,[u]);(0,Xd.useEffect)(()=>{let b=T=>{y.makeChoice(T.choiceId,{deselectOthers:T.deselectOthers,deselect:T.deselect})};return r.on("make-choice",b),()=>{r.off("make-choice",b)}},[]);let g=(0,Xd.useMemo)(()=>Wp({canvas:n,paintables:m,supports:d,loadImageService:l,vault:i}),[n,m,i,y.makeChoice]);return(0,Xd.useEffect)(()=>{let b=m.allChoices,T={canvasId:n?.id,manifestId:e?.id};b&&r.emit("choice-change",{choice:b,partOf:T})},[n?.id,m.allChoices]),(0,Xd.useMemo)(()=>g.type==="unknown"?[g,AE]:[{...g,annotations:{pages:h}},y],[g,h])}var BE=N(K(),1);function HE({strategies:t,registerActions:e,defaultChoices:n,onChoiceChange:i,mediaControlsDeps:a,renderMediaControls:r,renderViewerControls:l,viewControlsDeps:u,renderComplexTimelineControls:f,complexTimelineControlsDeps:h,throwOnUnknown:d,children:m}){let y=Wt(),g=ce(),b=(0,dl.useMemo)(()=>$s(g),[g]),[T,C]=PE({strategies:t||["images"],defaultChoices:n?.map(({id:E})=>E)}),x="choice"in T?T.choice:void 0;if((0,dl.useEffect)(()=>{e&&e(C)},[T.annotations]),(0,dl.useEffect)(()=>{i&&i(x)},[x]),(0,dl.useEffect)(()=>{if(n)for(let E of n)typeof E.opacity<"u"&&b.applyStyles({id:E.id},"atlas",{opacity:E.opacity})},[n]),T.type==="unknown"&&d)throw new Error(T.reason||"Unknown strategy");let w=(0,dl.useMemo)(()=>({renderMediaControls:r,mediaControlsDeps:a||[],renderViewerControls:l,viewControlsDeps:u||[],renderComplexTimelineControls:f,complexTimelineControlsDeps:h||[]}),[a,r,l,u,f,h]),R=(0,dl.useMemo)(()=>({strategy:T,actions:C,choices:"choice"in T?T.choice:[]}),[T,y]);return(0,BE.jsx)(vp.Provider,{value:w,children:(0,BE.jsx)(nl.Provider,{value:R,children:m})})}var Jp=N(ct(),1);var Qd=N(ct(),1);var FE=(0,Qd.createContext)(()=>{});function L4(t){let e=Wt(),n=(0,Qd.useContext)(FE);(0,Qd.useEffect)(()=>e&&e.id?(n(e.id,t),()=>n(e.id,-1)):()=>{},[e,t])}var D4=N(K(),1);function VE({x:t=0,y:e=0,keepCanvasScale:n=!0,renderContextMenu:i,children:a}){let{strategy:r}=fn(),l=Wt(),u=$e(),f=mp(l,["deep-zoom"]),h=zt(u,T=>T.setCanvasRelativePosition),d=zt(u,T=>T.clearCanvasRelativePosition),[m,y]=qp(`context-menu/${l?.id}`,l?.id,i),g=(0,Jp.useMemo)(()=>n?1:Math.max(1,...r.type==="images"?r.images.map(T=>(T.width||0)/T.target?.spatial.width):[]),[n,r]);(0,Jp.useEffect)(()=>{if(l)return h(l.id,{x:t,y:e,width:l.width,height:l.height}),()=>{d(l.id)}},[t,e,l,d,h]),(0,Jp.useEffect)(()=>{l&&u.getState().reset()},[u,l]),L4(g);let b=r.type==="images"?r.images.length:0;return l?(0,D4.jsxs)("world-object",{height:l.height,width:l.width,x:t,y:e,...y,...f,children:[m,a]},`${l.id}/${r.type}/${b}`):null}var Ui=N(K(),1);function Ru({x:t,y:e,onChoiceChange:n,registerActions:i,defaultChoices:a,isStatic:r,renderViewerControls:l,renderMediaControls:u,renderComplexTimelineControls:f,complexTimelineControlsDeps:h,viewControlsDeps:d,mediaControlsDeps:m,strategies:y,throwOnUnknown:g,rotation:b,backgroundStyle:T,alwaysShowBackground:C,keepCanvasScale:x=!1,enableSizes:w=!1,enableYouTube:R=!0,onClickPaintingAnnotation:E,components:M={},children:z,annotationPopup:I,svgTheme:L,renderContextMenu:H,renderAnnotationContextMenu:q}){return(0,Ui.jsxs)(HE,{throwOnUnknown:g,onChoiceChange:n,registerActions:i,strategies:y,defaultChoices:a,mediaControlsDeps:m,renderMediaControls:u,renderViewerControls:l,renderComplexTimelineControls:f,complexTimelineControlsDeps:h,viewControlsDeps:d,children:[(0,Ui.jsxs)(VE,{keepCanvasScale:x,x:t,y:e,renderContextMenu:H,children:[(0,Ui.jsx)(nE,{alwaysShowBackground:C,backgroundStyle:T}),(0,Ui.jsx)(eE,{}),(0,Ui.jsx)(aE,{}),(0,Ui.jsx)(iE,{isStatic:r,enableSizes:w,onClickPaintingAnnotation:E,rotation:b}),(0,Ui.jsx)(qR,{}),(0,Ui.jsx)(PR,{}),(0,Ui.jsx)(GR,{as:M.Audio}),(0,Ui.jsx)(oE,{as:M.Video}),R?(0,Ui.jsx)(sE,{}):null,(0,Ui.jsx)(CE,{theme:L,renderContextMenu:q,children:I}),z]}),(0,Ui.jsx)(BR,{})]})}var UE=N(K(),1);function P4(t){let e=Wt();return!e||!e.placeholderCanvas?null:(0,UE.jsx)(Va,{canvas:e.placeholderCanvas.id,children:(0,UE.jsx)(Ru,{renderViewerControls:t.renderViewerControls})})}var Ai=N(ct(),1);var Na=N(ct()),Tk=(0,Na.createContext)(null),qE={didCatch:!1,error:null},Kd=class extends Na.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=qE}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(e!==null){for(var n,i,a=arguments.length,r=new Array(a),l=0;l<a;l++)r[l]=arguments[l];(n=(i=this.props).onReset)===null||n===void 0||n.call(i,{args:r,reason:"imperative-api"}),this.setState(qE)}}componentDidCatch(e,n){var i,a;(i=(a=this.props).onError)===null||i===void 0||i.call(a,e,n)}componentDidUpdate(e,n){let{didCatch:i}=this.state,{resetKeys:a}=this.props;if(i&&n.error!==null&&Rk(e.resetKeys,a)){var r,l;(r=(l=this.props).onReset)===null||r===void 0||r.call(l,{next:a,prev:e.resetKeys,reason:"keys"}),this.setState(qE)}}render(){let{children:e,fallbackRender:n,FallbackComponent:i,fallback:a}=this.props,{didCatch:r,error:l}=this.state,u=e;if(r){let f={error:l,resetErrorBoundary:this.resetErrorBoundary};if(typeof n=="function")u=n(f);else if(i)u=(0,Na.createElement)(i,f);else if(a===null||(0,Na.isValidElement)(a))u=a;else throw l}return(0,Na.createElement)(Tk.Provider,{value:{didCatch:r,error:l,resetErrorBoundary:this.resetErrorBoundary}},u)}};function Rk(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return t.length!==e.length||t.some((n,i)=>!Object.is(n,e[i]))}var V0=N(ct(),1);function B4(t,e=2e3){let{currentSequenceIndex:n,sequence:i,items:a}=jl(),r=Wt(),l=(0,V0.useMemo)(()=>{let f=i[n]||[];return f.length===0&&r?[{id:r.id,type:"Canvas"}]:f.map(h=>a[h])},[i,n,r,a]),u=$e();(0,V0.useEffect)(()=>{let h=setInterval(()=>{if(t&&e!==-1){let d={x:t.x,y:t.y,width:t.width,height:t.height},m=u.getState().canvasRelativePositions,y={};for(let g of l){let b=m[g.id];if(b){let T=b.x,C=b.y,x=b.width,w=b.height,R={x:Math.max(T,d.x),y:Math.max(C,d.y),width:Math.min(T+x,d.x+d.width)-Math.max(T,d.x),height:Math.min(C+w,d.y+d.height)-Math.max(C,d.y)};R.width<=0||R.height<=0||(y[g.id]={x:R.x-b.x,y:R.y-b.y,width:R.width,height:R.height}),u.setState({canvasViewports:y})}}}},e);return()=>{clearTimeout(h)}},[l,t,u,e])}var Zd=N(K(),1);function U0({width:t,style:e,height:n,error:i,resetErrorBoundary:a}){return(0,Zd.jsxs)("div",{style:{width:t,height:n,minHeight:500,...e||{},background:"#f9f9f9"},children:[(0,Zd.jsx)("h3",{children:"Error occurred"}),(0,Zd.jsx)("p",{children:i.message}),(0,Zd.jsx)("button",{type:"button",onClick:a,children:"Reset"})]})}var sn=N(K(),1);function q0(t){let e=$e(),n=(0,Ai.useMemo)(()=>t.name||Math.random().toString(36).substring(2,9),[t.name]);return(0,sn.jsx)(S4,{identifier:n,children:(0,sn.jsx)(zd,{name:t.name,existing:e,children:(0,sn.jsx)(Ek,{...t})})})}function Ek({name:t,children:e,errorFallback:n,outerContainerProps:i={},worldScale:a,updateViewportTimeout:r,...l}){let u=$e(),f=D0(),h=zt(u,it=>it.mode),d=zt(u,it=>it.setAtlasRuntime),[m,y]=(0,Ai.useState)(),g=Hp(),b=Fp(),T=n||U0,[C,x]=(0,Ai.useState)({}),w=Object.entries(C),[R,E]=(0,Ai.useState)({}),M=Object.entries(R),[z,I]=(0,Ai.useState)({}),{worldScale:L,runtimeOptions:H}=(0,Ai.useMemo)(()=>{if(Object.values(z).length===0)return{worldScale:1,runtimeOptions:l.runtimeOptions||{maxOverZoom:1}};let nt=Math.max(...Object.values(z));return{worldScale:nt,runtimeOptions:{maxOverZoom:nt||1,...l.runtimeOptions||{}}}},[z,l.runtimeOptions]);B4(m?.runtime,r);let q=(0,Ai.useCallback)((it,nt)=>{I(ut=>{if(nt===-1){let{[it]:wt,...Y}=ut;return Y}return{...ut,[it]:nt}})},[]),st=(0,Ai.useCallback)((it,nt,ut)=>{x(({[it]:wt,...Y})=>nt?{...Y,[it]:{element:nt,props:ut}}:Y)},[]),et=(0,Ai.useCallback)((it,nt,ut)=>{E(({[it]:wt,...Y})=>nt?{...Y,[it]:{element:nt,props:ut}}:Y)},[]),gt=(0,Ai.useCallback)(it=>{y(it),d(it.runtime),l.onCreated&&l.onCreated(it)},[l.onCreated,d]);return(0,sn.jsxs)(Kd,{resetKeys:[],fallbackRender:it=>(0,sn.jsx)(T,{...l,...it}),children:[(0,sn.jsx)(cD,{...l,mode:h,containerProps:{style:{position:"relative"},...l.containerProps||{}},htmlChildren:(0,sn.jsx)(sn.Fragment,{children:w.map(([it,{element:nt,props:ut}])=>(0,sn.jsx)(Ai.default.Fragment,{children:(0,sn.jsx)(nt,{...ut||{}})},it))}),onCreated:gt,runtimeOptions:H,children:(0,sn.jsx)(zd,{name:t,existing:u,children:(0,sn.jsx)(Tr.Provider,{value:m,children:(0,sn.jsx)(FE.Provider,{value:q,children:(0,sn.jsx)(IR.Provider,{value:st,children:(0,sn.jsx)(NR.Provider,{value:et,children:(0,sn.jsx)(Vp,{bridge:b,custom:g,children:(0,sn.jsx)(UR,{children:e})})})})})})})}),(0,sn.jsx)("div",{children:M.map(([it,{element:nt,props:ut}])=>(0,sn.jsx)(Ai.default.Fragment,{children:(0,sn.jsx)(nt,{...ut||{}})},it))}),(0,sn.jsx)("div",{id:`atlas-floating-ui-${f}`,className:"atlas-floating-ui",style:{position:"relative",zIndex:999999}})]})}var Mi=N(K(),1),Ck=(0,Lu.forwardRef)(function(e,n){let i=Tn(),a=Ul(),r=jl(),{ViewerControls:l,MediaControls:u,ComplexTimelineControls:f}=e.components||{};if((0,Lu.useImperativeHandle)(n,()=>r,[r]),!i)return(0,Mi.jsx)("div",{});let h=0,d=i.viewingDirection==="top-to-bottom",m=i.viewingDirection==="bottom-to-top",y=i.viewingDirection==="left-to-right",g=i.viewingDirection==="right-to-left",T=i.behavior.includes("continuous")?0:e.spacing||0,C=m||g,x=(0,Lu.useMemo)(()=>C?[...a].reverse():a,[a,C]);return(0,Mi.jsxs)(Mi.Fragment,{children:[e.header,(0,Mi.jsx)(Qn.Viewer,{height:e.height,mode:e.mode,renderPreset:e.renderPreset,runtimeOptions:e.runtimeOptions,updateViewportTimeout:e.updateViewportTimeout,homePaddingPx:e.padding,children:x.map((w,R)=>{let E=0,M=0;return!d&&!m?(E=h,h+=w.width+T):(M=h,h+=w.height+T),(0,Mi.jsx)(Va,{canvas:w.id,children:(0,Mi.jsx)(Qn.RenderCanvas,{strategies:["3d-model","media","images","empty","textual-content","complex-timeline"],renderViewerControls:R===0&&l?()=>(0,Mi.jsx)(l,{}):void 0,renderMediaControls:R===0&&u?()=>(0,Mi.jsx)(u,{}):void 0,annotationPopup:e.annotationPopup,renderContextMenu:e.renderContextMenu,keepCanvasScale:e.keepCanvasScale,renderComplexTimelineControls:R===0&&f?()=>(0,Mi.jsx)(f,{}):void 0,renderAnnotationContextMenu:e.renderAnnotationContextMenu,x:E,y:M,svgTheme:e.svgTheme,rotation:e.rotation,...e.canvasProps||{},children:e.annotations},w.id)},w.id)})},e.reuseAtlas?"":r.currentSequenceIndex),e.children]})}),Qn=(0,Lu.forwardRef)(function({children:e,height:n,annotations:i,canvasProps:a,spacing:r,header:l,components:u,mode:f,reuseAtlas:h,renderPreset:d,runtimeOptions:m,annotationPopup:y,name:g,svgTheme:b,updateViewportTimeout:T,renderContextMenu:C,keepCanvasScale:x,renderAnnotationContextMenu:w,padding:R,rotation:E,...M},z){let I=mo();return(0,Mi.jsx)(zd,{name:g,children:(0,Mi.jsx)(po,{vault:I,children:(0,Mi.jsx)(ex,{...M,children:(0,Mi.jsx)(Ck,{ref:z,height:n,components:u,spacing:r,canvasProps:a,annotations:i,header:l,mode:f,reuseAtlas:h,renderPreset:d,runtimeOptions:m,annotationPopup:y,svgTheme:b,updateViewportTimeout:T,renderContextMenu:C,keepCanvasScale:x,renderAnnotationContextMenu:w,padding:R,rotation:E,children:e})})})})});Qn.RenderImage=sl;Qn.RenderCanvas=Ru;Qn.RenderAnnotationPage=tl;Qn.RenderAnnotation=xu;Qn.Viewer=q0;Qn.CanvasBackground=y0;Qn.Audio=i0;Qn.Video=b0;Qn.Model=o0;Qn.AudioHTML=LR;Qn.VideoHTML=rE;Qn.ModelHTML=DR;Qn.PlaceholderCanvas=P4;Qn.getAtlasStoreByName=SR;var H4=N(ct(),1);var er=N(ct(),1);function jE(t){let[e,n]=(0,er.useState)(0),i=$e(),a=zt(i,M=>M.tool.enabled),r=zt(i,M=>M.tool.requestId),l=zt(i,M=>M.getRequestId),u=zt(i,M=>M.requestAnnotation),f=zt(i,M=>M.completeRequest),h=zt(i,M=>M.cancelRequest),d=(0,er.useRef)(t?.onSuccess);d.current=t?.onSuccess;let[m,y]=(0,er.useState)(!1),[g,b]=(0,er.useState)(null),[T,C]=(0,er.useState)(null),x=a&&r!==T,w=a&&r===T,R=(0,er.useCallback)(async(M,z)=>{if(T){let I=d.current;y(!0);let L=await u(M,{...z,requestId:T});if(L)return I?.(L),n(q=>q+1),y(!1),b(L),L;let H={id:T,cancelled:!0,...dp(M)};return I?.(H),b(H),n(q=>q+1),y(!1),H}return null},[u,T]),E=(0,er.useCallback)(()=>{b(null),y(!1)},[]);return(0,er.useEffect)(()=>{let M=l();return C(M.requestId),()=>{M.clear()}},[e]),{id:e,busy:x,isPending:m,isActive:w,requestId:T,requestAnnotation:R,cancelRequest:()=>T?h(T):void 0,completeRequest:()=>T?f(T):void 0,reset:E,data:g}}var Ak=[{name:"Default",outer:{borderWidth:4,borderColor:"rgba(255, 255, 255, .4)"},inner:{borderWidth:2,borderColor:"#000"}},{name:"High contrast",outer:{borderWidth:3,borderColor:"#fff"},inner:{borderWidth:1,borderColor:"#000"}},{name:"Lightsaber",outer:{borderWidth:"4",borderColor:"rgba(56,68,255,0.64)"},inner:{borderWidth:"2",borderColor:"#fff"}},{name:"Bright",outer:{borderWidth:"6",borderColor:"#25d527"},inner:{borderWidth:"3",borderColor:"#a916ff"}},{name:"pink",outer:{borderWidth:"4",borderColor:"#ff00ff"},inner:{borderWidth:"2",borderColor:"#ffffff"}},{name:"fine (dark)",outer:{borderWidth:"1",borderColor:"#000000"},inner:{}},{name:"fine (light)",outer:{borderWidth:"1",borderColor:"#FFF"},inner:{}}];function kE(t){let{id:e,data:n,requestAnnotation:i,cancelRequest:a,isPending:r}=jE({onSuccess:l=>{t.updateShape(l.polygon)}});return(0,H4.useEffect)(()=>(i({type:"polygon",open:t.shape?.open,points:t.shape?.points}),()=>{a()}),[]),null}var bi=N(ct(),1);var F4=N(K(),1),j0=(0,bi.createContext)(vr());j0.displayName="SelectorHelper";function Mk({children:t}){return(0,F4.jsx)(j0.Provider,{value:(0,bi.useMemo)(()=>vr(),[]),children:t})}function Ok(){return(0,bi.useContext)(j0)}function GE(t){let e=YE(),[n,i]=(0,bi.useState)(!1);(0,bi.useEffect)(()=>e.withSelector(t).on("highlight",()=>{i(!0)}),[e,t]),(0,bi.useEffect)(()=>e.withSelector(t).on("clear-highlight",()=>{i(!1)}),[e,t]);let a=(0,bi.useCallback)(l=>{e.emit("click",{selectorId:t,event:l})},[t,e]),r=(0,bi.useCallback)(l=>{e.emit("hover",{selectorId:t,event:l})},[t,e]);return{controller:e,onClick:a,onHover:r,isHighlighted:n}}function YE(){let t=(0,bi.useContext)(j0);return(0,bi.useMemo)(()=>({withSelector(e){return{on(n,i){let a=r=>{r&&r.selectorId===e&&i(r)};return t.on(n,a),()=>{t.off(n,a)}},emit(n,i){t.emit(n,{...i,selectorId:e})}}},on(e,n){return t.on(e,n),()=>{t.off(e,n)}},emit(e,n){t.emit(e,n)}}),[t])}function _k(){let t=YE();return(0,bi.useMemo)(()=>({withSelector(e){return{highlight(){t.emit("highlight",{selectorId:e})},clearHighlight(){t.emit("clear-highlight",{selectorId:e})},zoomTo(){t.emit("zoom-to",{selectorId:e})},addEventListener(n,i){return t.emit("event-listener",{selectorId:e,name:n,callback:i}),()=>{t.emit("remove-event-listener",{selectorId:e,name:n,callback:i})}},getImagePreview(){return new Promise((n,i)=>{t.emit("image-preview-request",{selectorId:e,resolve:n,reject:i})})},on(n,i){return t.withSelector(e).on(n,i)}}},highlight(e){t.emit("highlight",{selectorId:e})},clearHighlight(e){t.emit("clear-highlight",{selectorId:e})},zoomTo(e){t.emit("zoom-to",{selectorId:e})},addEventListener(e,n,i){return t.emit("event-listener",{selectorId:e,name:n,callback:i}),()=>{t.emit("remove-event-listener",{selectorId:e,name:n,callback:i})}},getImagePreview(e){return new Promise((n,i)=>{t.emit("image-preview-request",{selectorId:e,resolve:n,reject:i})})},on(e,n){return t.on(e,n)}}),[t])}var XE=N(K(),1);function zk(t){let e=Wt(),n=t.annotationBucket,i=t.readOnly,a=t.id,{onClick:r,isHighlighted:l}=GE(t.id),u=fp(),f=l?u.highlighted:u[n||"hidden"]||u.hidden;if(!e)return null;if(i){let h="shape",d=t.polygon,m=d.open;return d?(0,XE.jsx)(h,{id:`shape-${a}`,points:d.points,open:m,onClick:r,relativeStyle:!0,target:{x:0,y:0,width:e.width,height:e.height},style:f}):null}return(0,XE.jsx)(kE,{image:e,shape:t.polygon||{id:t.id,open:!0,points:[]},updateShape:t.updatePolygon,theme:t.theme,controlsHtmlId:t.controlsHtmlId,renderControls:t.renderControls})}var k0=N(ct(),1),$p=N(K(),1),Ik=(0,k0.forwardRef)(function({canvasId:e},n){let i=Kv(),a=Yp(e||i?.id),r=ce();return(0,k0.useImperativeHandle)(n,()=>a,[e,i]),!i||a.enabledPageIds.length===0?null:(0,$p.jsx)($p.Fragment,{children:a.enabledPageIds.map(l=>(0,$p.jsx)(Qn.RenderAnnotationPage,{page:r.get(l)},l))})});var U4=N(ct(),1);var V4=N(ct(),1);var Vn=N(K(),1);function tm({metadata:t=[],config:e,labelWidth:n=16,showEmptyMessage:i=!0,allowHtml:a,emptyFallback:r,classes:l={},emptyMessage:u="No metadata available",emptyValueFallback:f="No value",emptyLabelFallback:h="",separator:d,tableFooter:m,tableHeader:y,customLabelRender:g,customValueRender:b}){let T=(0,V4.useMemo)(()=>{let x=(e||[]).reduce((R,E)=>[...R,...E.keys],[]),w={};for(let R of t){let E=R?.label?Object.values(R.label):[];for(let M of E)if(M?.length&&(x.indexOf(`metadata.${M[0]}`)!==-1||x.length===0)&&R){let z=`metadata.${M[0]}`;w[z]=w[z]?w[z]:[],w[z].push(R);break}}return w},[e,t]);return Object.keys(T).length===0&&i?(0,Vn.jsx)(Vn.Fragment,{children:r})||(0,Vn.jsx)("div",{className:l.empty,children:u}):e?.length?(0,Vn.jsxs)("table",{className:l.container,children:[y,(0,Vn.jsx)("tbody",{children:e.map((x,w)=>{let R=[];for(let M of x.keys)for(let z of T[M]||[]){let I=(0,Vn.jsx)(za,{enableDangerouslySetInnerHTML:a,defaultText:f,separator:d,children:z.value},w+"__"+M);b?R.push(b(z,I)):R.push(I)}if(R.length===0)return null;let E=(0,Vn.jsx)(za,{enableDangerouslySetInnerHTML:a,separator:d,defaultText:h,children:x.label});return(0,Vn.jsxs)("tr",{className:l.row,children:[(0,Vn.jsx)("td",{className:l.label,style:n?{minWidth:n}:{},children:g?g(x.label,E):E}),(0,Vn.jsx)("td",{className:l.value,children:R})]},w)})}),m]}):(0,Vn.jsxs)("table",{className:l.container,children:[y,(0,Vn.jsx)("tbody",{children:t?.length?t.map((x,w)=>{if(!x)return null;let R=(0,Vn.jsx)(za,{enableDangerouslySetInnerHTML:a,defaultText:f,separator:d,children:x.label}),E=(0,Vn.jsx)(za,{enableDangerouslySetInnerHTML:a,defaultText:f,separator:d,children:x.value});return(0,Vn.jsxs)("tr",{className:l.row,children:[(0,Vn.jsx)("td",{className:l.label,style:n?{minWidth:n}:{},children:g?g(x.label,R):R}),(0,Vn.jsx)("td",{className:l.value,children:b?b(x,E):E})]},w)}):null}),m]})}var q4=N(K(),1);function Nk(t){let e=Tn(),n=Wt(),i=Hf(),a=(0,U4.useMemo)(()=>{let r=e?.metadata||[],l=n?.metadata||[],u=i?.metadata||[];return[...r,...l,...u]},[e,n,i]);return(0,q4.jsx)(tm,{metadata:a,...t})}var Y0=N(ct(),1);var j4=N(ct(),1);function G0(t,e={},n=[]){return(0,j4.useMemo)(()=>{if(!t)return null;let i=e.quality;t&&t.extraQualities&&e.quality&&(t.extraQualities.includes(e.quality)||(i="default"));let a=Vg(t);return Nc({identifier:a.identifier,server:a.server,scheme:a.scheme,type:"image",size:{max:!e.size?.width&&!e.size?.height,confined:!1,upscaled:!1,...e.size||{}},format:e.format||"jpg",region:e.region||{full:!0},rotation:e?.rotation?Number.isInteger(e.rotation)?{angle:e.rotation}:e.rotation:{angle:0},quality:i||"default",prefix:a.prefix,originalPath:a.originalPath})},[...n])}var em=N(K(),1);function Lk(t){let e=typeof t.src=="string"?t.src:t.src.id,n=bp(),[i,a]=(0,Y0.useState)(!1),r;if(e){let u=n.loadServiceSync({id:e});u&&(r=u)}!r&&!i&&n.loadService({id:e}).then(()=>{a(!0)});let l=G0(r,{size:t.size,selector:t.region,rotation:t.rotation,format:t.format,region:t.region,quality:t.quality},[i,t.src,t.size,t.region,t.rotation,t.format,t.region,t.quality]);return(0,Y0.useEffect)(()=>()=>{a(!1)},[e]),l?(0,em.jsx)("img",{src:l,alt:t.alt,className:t.className,style:t.style}):(0,em.jsx)(k4,{...t,fetchImageService:!1})}function k4(t){if(t.fetchImageService)return(0,em.jsx)(Lk,{...t});let e=typeof t.src=="string"?{id:t.src,profile:"level0"}:t.src,n=G0(e,{size:t.size,selector:t.region,rotation:t.rotation,format:t.format,region:t.region,quality:t.quality},[t.src,t.size,t.region,t.rotation,t.format,t.region,t.quality]);return n?(0,em.jsx)("img",{src:n,alt:t.alt,className:t.className,style:t.style}):null}var X0=N(ct(),1);var Zo=N(K(),1);function Dk({src:t,errorFallback:e,interactive:n,skipSizes:i,children:a,renderViewerControls:r,viewControlsDeps:l,fluid:u,x:f,y:h,...d}){let m=mo(),[y,g]=(0,X0.useState)(),b=e||U0,[T,C]=Xp(),x=(0,X0.useMemo)(()=>{let R=C[t]?.status,E=T({id:t},{});return E?.height&&E.width&&R!=="loading"?{id:t,width:E.width,height:E.height,service:E,type:"Image",selector:{type:"BoxSelector",spatial:{x:0,y:0,width:E.width,height:E.height}},target:{type:"BoxSelector",spatial:{x:0,y:0,width:E.width,height:E.height}}}:null},[T,t,C]);if(!x||!x.height||!x.width)return null;let w=u?void 0:d.homePosition?d.homePosition.width/d.homePosition.height:x.width/x.height;return(0,Zo.jsx)(Kd,{resetKeys:[],fallbackRender:R=>(0,Zo.jsx)(b,{...d,...R}),children:(0,Zo.jsx)(po,{vault:m,children:(0,Zo.jsx)(q0,{...d,aspectRatio:w,containerProps:{style:{position:"relative"},...d.containerProps||{}},onCreated:R=>{g(R),d.onCreated&&d.onCreated(R)},children:(0,Zo.jsxs)(Tr.Provider,{value:y,children:[(0,Zo.jsx)(sl,{image:x,id:x.id,isStatic:!n,x:f,y:h},x.id),(0,Zo.jsx)(Pk,{viewerPreset:y,renderViewerControls:r,image:x,src:t,viewControlsDeps:l}),a]})})})})}function Pk({viewerPreset:t,renderViewerControls:e,image:n,src:i,viewControlsDeps:a}){return vi(t&&e?"overlay":"none",`canvas-portal-controls-${i}`,Tr.Provider,e&&n?{value:t||null,children:e({image:n,images:[n],type:"images"})}:{},[i,t,...a||[]]),null}var G4=N(K(),1);function Bk(t){let e=Tn();return(0,G4.jsx)(tm,{metadata:e?.metadata||[],...t})}var Q0=N(ct(),1);var QE=N(X4(),1);var ra=N(K(),1),{LazyLoadComponent:Hk}=QE||QE.default;function KE(t){let{size:e,visible:n,classes:i,canvasId:a,figure:r}=t,l=e?.width||128,u=e?.height||e?.width||128,f=(0,ra.jsx)(Fk,{...t}),h=(0,ra.jsx)(Hk,{threshold:300,style:{height:u,width:l},visibleByDefault:n,children:a?(0,ra.jsx)(Va,{canvas:a,children:f}):f});return r?(0,ra.jsx)("figure",{className:i?.figure,children:h}):h}function Fk({fallback:t,size:e,classes:n,showLabel:i,alt:a,dereference:r=!1}){let l=Wt(),u=e?.width||128,f=e?.height||e?.width||128,h=a||e0(l?.label)||"",d=jo({width:u,height:f,allowUnsafe:!0},r);return!d||d.type!=="fixed"?(0,ra.jsx)(ra.Fragment,{children:t}):(0,ra.jsxs)(ra.Fragment,{children:[(0,ra.jsx)("div",{className:n?.imageWrapper,children:(0,ra.jsx)("img",{className:n?.img,src:d.id,alt:h})}),i?(0,ra.jsx)(za,{as:"figcaption",className:n?.label,children:l?.label}):null]})}var Wd=N(K(),1);function Vk({scrollBehaviour:t,dereference:e,flat:n,size:i,classes:a={},showLabel:r,figure:l,fallback:u}){let f=(0,Q0.useRef)(null),{items:h,sequence:d,currentSequenceIndex:m,setSequenceIndex:y}=jl(),g={row:a.selected?.row||a.row,item:a.selected?.item||a.item,figure:a.selected?.figure||a.figure,img:a.selected?.img||a.img,label:a.selected?.label||a.label,imageWrapper:a.selected?.imageWrapper||a.imageWrapper};(0,Q0.useLayoutEffect)(()=>{if(!f.current)return;let T=f.current.querySelector("[data-selected=true]");T&&T.scrollIntoView({behavior:t||"instant",block:"nearest",inline:"center"})},[m]);let b=[];for(let T of d){let C=[],x=d[m]===T;for(let w of T){let R=h[w];C.push((0,Wd.jsx)("div",{className:x?g.item:a.item,children:(0,Wd.jsx)(KE,{classes:x?g:a,canvasId:R.id,size:i,dereference:e,showLabel:r,figure:l,placeholder:(0,Wd.jsx)("div",{style:{height:128,width:128}}),fallback:u})},w))}if(n){b.push(C);continue}b.push((0,Wd.jsx)("div",{onClick:w=>{y(d.indexOf(T))},"data-selected":x,className:x?g.row:a.row,children:C},T.join("-")))}return(0,Wd.jsx)("div",{ref:f,className:a.container,children:b})}function ZE(){let t=$e(),e=zt(t,r=>r.completeRequest),n=zt(t,r=>r.polygonState.currentTool),i=zt(t,r=>r.polygonState.selectedStamp),a=zt(t,r=>r.switchTool);return{completeRequest:e,currentTool:n,selectedStamp:i,switchTool:a}}var ai=N(K(),1),Uk={draw:!0,polygon:!0,line:!0,lineBox:!0,box:!0,triangle:!0,hexagon:!0,circle:!0,delete:!0,pen:!0};function qk({showShapes:t=!0,enabled:e=Uk,classNames:n={},icons:i={}}){let{currentTool:a,switchTool:r,selectedStamp:l}=ZE();return(0,ai.jsxs)(ai.Fragment,{children:[a,(0,ai.jsx)("button",{className:n.button,onClick:r.pointer,"data-active":a==="pointer",children:i.PointerIcon||"Pointer"}),(0,ai.jsx)("button",{className:n.button,onClick:r.hand,"data-active":a==="hand",children:i.HandIcon||"Hand"}),t?(0,ai.jsxs)(ai.Fragment,{children:[e.box&&(0,ai.jsx)("button",{className:n.button,onClick:r.box,"data-active":a==="box",children:i.BoxIcon||"Box"}),e.pen&&(0,ai.jsx)("button",{className:n.button,onClick:r.pen,"data-active":a==="pen",children:i.PenIcon||"Pen"}),e.draw&&(0,ai.jsx)("button",{className:n.button,onClick:r.draw,"data-active":a==="pencil",children:i.DrawIcon||"Draw"}),e.line&&(0,ai.jsx)("button",{className:n.button,onClick:r.line,"data-active":a==="line",children:i.LineIcon||"Line"}),e.lineBox&&(0,ai.jsx)("button",{className:n.button,onClick:r.lineBox,"data-active":a==="lineBox",children:i.LineBoxIcon||"LineBox"}),e.triangle&&(0,ai.jsx)("button",{className:n.button,onClick:r.triangle,"data-active":a==="stamp"&&l?.id==="triangle",children:i.TriangleIcon||"Triangle"}),e.hexagon&&(0,ai.jsx)("button",{className:n.button,onClick:r.hexagon,"data-active":a==="stamp"&&l?.id==="hexagon",children:i.HexagonIcon||"Hexagon"}),e.circle&&(0,ai.jsx)("button",{className:n.button,"data-active":a==="stamp"&&l?.id==="circle",onClick:r.circle,children:i.CircleIcon||"Circle"})]}):null,e.delete&&(0,ai.jsx)("button",{className:n.button,onClick:r.remove,children:i.DeleteForeverIcon||"Delete"})]})}var Q4=N(K(),1);function jk({annotation:t,children:e}){return(0,Q4.jsx)(Di,{value:{annotation:t},children:e})}var K4=N(K(),1);function kk({annotationPage:t,children:e}){return(0,K4.jsx)(Di,{value:{annotationPage:t},children:e})}var Z4=N(K(),1);function Gk({collection:t,children:e}){return(0,Z4.jsx)(Di,{value:{collection:t},children:e})}function Yk(t,e={}){return Qo(e)}var fl=N(ct(),1);function Xk({canvasId:t}={}){let e=Kv(),n=Ul(),i=(0,fl.useMemo)(()=>t?[t]:e?[e.id]:n.map(h=>h.id),[t,e,n]),[a,r]=(0,fl.useState)({}),l=Dp();(0,fl.useEffect)(()=>{let h=d=>{let m=d.partOf.canvasId;m&&r(y=>({...y,[m]:d.choice}))};return l.on("choice-change",h),()=>{l.off("choice-change",h)}},[]);let u=(0,fl.useMemo)(()=>{let h=[];for(let d of i){let m=a[d];m&&h.push({canvasId:d,choice:m})}return h},[i,a]),f=(0,fl.useMemo)(()=>({makeChoice:(h,d)=>{l.emit("make-choice",{choiceId:h,...d})}}),[l]);return{choices:u,actions:f}}function Qk(t,e=!1){}function Kk(t){let n=Ti().manifest,i=t?t.map(a=>typeof a=="string"?a:a?.id):[];return _e(a=>{let r=n?a.iiif.entities.Manifest[n]:void 0,l=r?.items||[];if(typeof t>"u")return l;let u=[];for(let f of r?.items||[])i.indexOf(f.id)!==-1&&u.push(f);return u},[i.join("/")])}var W4=N(ct(),1);function Zk(t,e=[]){let{id:n,selector:i}=t,a=Ti(),r=n||a.collection,l=_e(u=>r?u.iiif.entities.Collection[r]:void 0,[r]);return(0,W4.useMemo)(()=>{if(l)return i?i(l):l},[l,i,...e])}var K0=N(ct(),1);function Wk(){let t=$e(),e=zt(t,i=>i.completeRequest),n=zt(t,i=>i.cancelRequest);return(0,K0.useMemo)(()=>({saveAnnotation:()=>{(0,K0.startTransition)(()=>{e()})},cancelRequest:n}),[e,n])}var J4=N(ct(),1);function Jk({requestId:t}={}){let e=$e(),n=zt(e,u=>u.metadata),i=zt(e,u=>u.tool.requestId),a=t||i,r=zt(e,u=>u.setMetadata),l=(0,J4.useCallback)(u=>r(u,a||void 0),[r,a]);return[a?n[a]||{}:{},l]}function $k(t){let e=$e(),n=zt(e,i=>i.tool.requestId);vu("polygons.start-transition",i=>{t.requestId&&n!==t.requestId||t?.onStart?.(i.transitionIntent)},[n,t.requestId]),vu("polygons.end-transition",i=>{t.requestId&&n!==t.requestId||t?.onEnd?.(i.transitionIntent,i.response)},[n,t.requestId]),vu("polygons.transition",i=>{t.requestId&&n!==t.requestId||t?.onTransition?.(i.transitionIntent)},[n,t.requestId])}var Z0=N(ct(),1);function tG(t,e,n,i,a=[]){let r=ce(),l=(0,Z0.useMemo)(()=>pp(r),[r]);(0,Z0.useEffect)(()=>{let u=t;return u?(l.addEventListener(u,e,n,i),()=>{l.removeEventListener(u,e,n)}):()=>{}},[l,t,e,...a])}function eG(t,e){let{id:n,isLoaded:i,error:a,resource:r,requestId:l,cached:u}=Bf(t,e);return{id:n,isLoaded:i,error:a,manifest:r,requestId:l,cached:u}}var Kr=N(ct(),1);function WE({cacheKey:t}={}){let e=Wt(),n=Qo(),i=ce(),a=Pd(),r=uP(),[l,u]=(0,Kr.useState)(void 0),[f,h]=(0,Kr.useState)(!1),[d,m]=(0,Kr.useState)("idle"),[y,g]=(0,Kr.useState)(void 0),b=e?e.id:"undefined",T=(0,Kr.useMemo)(()=>{try{if(e&&n.length){let x=n[0],w=i.get(x.body[0]),E=bs(w)[0];return E&&a(E,{width:E.width||e.width,height:E.height||e.height},!0)||void 0}}catch(x){console.error(x)}},[b,t,e]),C=d==="success"&&l?l:T;return(0,Kr.useEffect)(()=>{(async()=>{try{if(e&&n.length){let x=n[0],w=i.get(x.body[0]),E=bs(w)[0];if(!E)return;h(!0),m("loading");try{let M=await r(E,{width:E.width||e.width,height:E.height||e.height})||void 0;u(M),m("success"),h(!1)}catch(M){m("error"),g(M)}}}catch(x){m("error"),g(x)}})()},[b,t]),(0,Kr.useMemo)(()=>({data:C,isFetching:f,status:d,error:y}),[C,f,d,y])}function nG(){let t=WE();return{isLoading:t.isFetching,tile:t.data?{id:t.data.id||t.data["@id"],width:t.data.width,height:t.data.height,imageService:t.data,thumbnail:void 0}:null}}var W0=N(ct(),1);function iG({supports:t=["empty","images","media","3d-model","textual-content","complex-timeline"]}={}){let e=ce(),n=Wt(),i=Qo(),a=(0,W0.useMemo)(()=>Ld(e),[e]),r=(0,W0.useMemo)(()=>a.getPaintables(i),[a,i]);return(0,W0.useMemo)(()=>Wp({canvas:n,loadImageService:l=>l,paintables:r,supports:t}),[n,r,t])}var $4=N(ct(),1);function aG(){let t=ce();return(0,$4.useMemo)(()=>$s(t),[t])}var ri=N(ct(),1);function rG(t){let{initial:e,regions:n,progress:i,getProgress:a,enabled:r=!0,easing:l,reportEveryFrame:u=!1,pollInterval:f=QR,loop:h=!1,onEnter:d,onExit:m,onProgress:y,jumpTo:g}=t,b=(0,ri.useMemo)(()=>ZR(e,n),[e,n]),[T,C]=(0,ri.useState)(()=>-1),[x,w]=(0,ri.useState)(0),R=(0,ri.useRef)(-1),E=(0,ri.useRef)(0),M=(0,ri.useRef)(!0),z=(0,ri.useRef)(()=>{});(0,ri.useEffect)(()=>(M.current=!0,()=>{M.current=!1}),[]);let I=(0,ri.useMemo)(()=>{if(!l)return br(Sp);if(typeof l=="function")return l;if(Array.isArray(l)&&l.length===4)return br(l);let et=rl[l];return et?br(et):br(Sp)},[l]),L=(0,ri.useCallback)(et=>{if(!(et<0||et>=b.length)&&(C(et),R.current=et,E.current=0,w(0),d))try{d(et)}catch{}},[b,d]);(0,ri.useEffect)(()=>{z.current=L,g&&g(L)},[L,g]);function H(et){let{index:gt,t:it}=WR(et,b),nt=gt;if(h&&b.length>0){let wt=b.length;nt=(gt%wt+wt)%wt}let ut=I(it);if(nt!==R.current){if(R.current>=0&&m)try{m(R.current)}catch{}if(nt>=0&&d)try{d(nt)}catch{}R.current=nt,M.current&&C(nt)}if(E.current=ut,M.current&&(u||nt!==T)&&w(ut),y&&nt>=0)try{y(nt,ut)}catch{}}(0,ri.useEffect)(()=>{r&&typeof i=="number"&&H(i)},[i,r]),(0,ri.useEffect)(()=>{if(!r||typeof a!="function")return;let et=null,gt=()=>{try{let it=a();H(it)}catch{}};return gt(),et=setInterval(gt,f),()=>clearInterval(et)},[a,r,f]);let q=T>=0&&T<b.length?b[T]:void 0,st=q?KR(q.from,q.to,E.current):void 0;return{transitions:b,currentIndex:T,currentTransition:q,t:E.current,rect:st,jumpTo:L}}var Du=N(ct(),1);function oG(t,e={}){let{axis:n="y",offset:i=0,steps:a=1,enabled:r=!0}=e,[l,u]=(0,Du.useState)(0),f=(0,Du.useRef)(-1),h=(0,Du.useRef)(null);return(0,Du.useEffect)(()=>{if(!r||!t||!t.current)return;let d=t.current,m=()=>{let g=n==="y"?d.scrollTop:d.scrollLeft,b=n==="y"?d.clientHeight:d.clientWidth,C=(n==="y"?d.scrollHeight:d.scrollWidth)-b,w=(C<=0?0:Math.max(0,Math.min(1,(g+i)/C)))*a;w!==f.current&&(f.current=w,u(w)),h.current=null},y=()=>{h.current===null&&(h.current=requestAnimationFrame(m))};return d.addEventListener("scroll",y,{passive:!0}),m(),()=>{d.removeEventListener("scroll",y),h.current!==null&&cancelAnimationFrame(h.current)}},[t,n,i,a,r]),l}function sG(t,e){let{x:n,y:i,width:a,height:r}=t,{x:l,y:u}=e,{width:f,height:h}=e;return n+a>l&&n<l+f&&i+r>u&&i<u+h}var lG=!0,JE="Invariant failed";function t5(t,e){if(!t){if(lG)throw new Error(JE);var n=typeof e=="function"?e():e,i=n?"".concat(JE,": ").concat(n):JE;throw new Error(i)}}function uG(t,e){let n=t.boundingBox||Js(t.polygon);if(t.polygon&&!Od(t.polygon.points)){let i=t.target||_d(t.polygon,e);return t5(i?.type==="SvgSelector"),{type:"SvgSelector",points:t.polygon.points,spatial:{unit:"pixel",...n||{}},svgShape:t.polygon.open?"polyline":"polygon",svg:i.value}}return{type:"BoxSelector",spatial:n}}return T6(cG);})();
138
+ `}),(0,ql.jsx)("iframe",{title:`YouTube video: ${t.youTubeId}`,className:"video-yt",ref:n,src:`https://www.youtube.com/embed/${t.youTubeId}?enablejsapi=1&origin=${hM()}&modestbranding=1&rel=0`,referrerPolicy:"no-referrer compute-pressure",sandbox:"allow-scripts allow-same-origin allow-presentation"})]}):null}function hM(){return typeof window<"u"?window.location.host:""}function TS({media:e,mediaControlsDeps:t,children:i}){let[{element:n,currentTime:r,progress:o},s,a]=Ao({duration:e.duration});return Ut("overlay","video-element",dM,{element:n,media:e,playPause:a.playPause}),null}var Xd=P(D(),1);function vg(){let{strategy:e}=ht(),{renderMediaControls:t,mediaControlsDeps:i}=li();return e.type!=="media"||e.media.type!=="VideoYouTube"?null:(0,Xd.jsxs)(TS,{media:e.media,mediaControlsDeps:i,children:[(0,Xd.jsx)(ko,{}),t?t(e):null]})}var hh=P(Z(),1);var kn=P(Z(),1);var Wt=P(Z(),1);function bg(e){let t=ut(),i=be(t,o=>o.polygons),n=be(t,o=>o.polygonState),r=be(t,o=>o.polygon);return Ro("atlas.polygon-render",({state:o,slowState:s,dt:a})=>{e(o,s,a)}),{currentShape:r,state:n,helper:i}}var Ye=P(D(),1),or=bw(),PS={shapeFill:"#ffffff33",shapeStroke:"#000",lineStroke:"#000",ghostLineStroke:"#0F0",activeLineStroke:"#4D7EEA",boundingBoxDottedStroke:"#0007",boundingBoxStroke:"#fffA",controlFill:"#fff"};function xg(e){let{image:t}=e,i={...PS,...e.theme||{}},n=typeof window>"u"?1:window.devicePixelRatio||1,r=`svg-editor-${(0,Wt.useId)().replace(/:/g,"")}`,o={dot:`${r}-dot`,newdot:`${r}-newdot`,selected:`${r}-selected`,resizer:`${r}-resizer`},s=(0,Wt.useRef)(),a=(0,Wt.useRef)(),c=(0,Wt.useRef)(),u=(0,Wt.useRef)(),l=(0,Wt.useRef)(),d=(0,Wt.useRef)(),h=(0,Wt.useRef)(),p=(0,Wt.useRef)(),f=(0,Wt.useRef)(),m=(0,Wt.useRef)(),[g,y]=(0,Wt.useState)(null),[x,w]=(0,Wt.useState)(!1),{helper:R,state:v,currentShape:S}=bg((z,O)=>{if(z.closestLineIndex,or.updateTransitionBoundingBox(c.current,z,O),or.updateBoundingBoxPolygon(s.current,z,O),or.updateBoundingBoxPolygon(a.current,z,O),or.updateTransitionShape(h.current,z,O),or.updateClosestLinePointTransform(l.current,z,O),or.updateSelectBox(u.current,z,O),or.updatePointLine(p.current,z,O),or.updateDrawPreview(d.current,z,O,3),or.updateLineBox(f.current,z),y(z.transitionDirection),w(z.transitionRotate),z.closestLineIndex!==-1&&m.current){let G=z.polygon,ee=G.points[z.closestLineIndex],K=G.points[(z.closestLineIndex+1)%G.points.length];ee&&K&&m.current.setAttribute("points",`${ee[0]},${ee[1]} ${K[0]},${K[1]}`)}});(0,Wt.useEffect)(()=>{let z=()=>{R.modifiers.reset()};return document.addEventListener("mouseleave",z),()=>{document.removeEventListener("mouseleave",z)}},[]);let C=(0,Ye.jsxs)(Ye.Fragment,{children:[(0,Ye.jsxs)("marker",{id:o.dot,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:5*n,markerHeight:5*n,children:[(0,Ye.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:i.lineStroke,className:"marker"}),(0,Ye.jsx)("circle",{cx:"5",cy:"5",r:"3",fill:i.controlFill})]}),(0,Ye.jsx)("marker",{id:o.newdot,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:5*n,markerHeight:5*n,children:(0,Ye.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:i.activeLineStroke,className:"marker"})}),(0,Ye.jsxs)("marker",{id:o.selected,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:5*n,markerHeight:5*n,children:[(0,Ye.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:i.lineStroke}),(0,Ye.jsx)("circle",{cx:"5",cy:"5",r:"3",fill:i.activeLineStroke})]}),(0,Ye.jsxs)("marker",{id:o.resizer,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:6*n,markerHeight:6*n,children:[(0,Ye.jsx)("rect",{width:"10",height:"10",fill:i.lineStroke}),(0,Ye.jsx)("rect",{x:"1",y:"1",width:"8",height:"8",fill:i.controlFill})]})]}),T=S?S.open?"polyline":"polygon":null,I=!v.showBoundingBox&&v.closestPoint!==null&&v.actionIntentType==="select-point",E=v.actionIntentType==="add-open-point",V=v.transitionIntentType==="split-line",Y=v.transitioning&&v.selectedStamp&&v.transitionIntentType==="stamp-shape",Q=S&&T?(0,Ye.jsxs)(Ye.Fragment,{children:[(0,Ye.jsx)(T,{fill:(!v.transitioning||v.transitionIntentType==="select-multiple-points")&&!S.open?i.shapeFill:"none",strokeWidth:Y||v.showBoundingBox&&v.boxMode||v.transitioning&&v.transitionIntentType==="split-line"||v.transitioning&&v.transitionIntentType==="move-point"?0:2,stroke:i.shapeStroke,points:S.points.map(z=>z.join(",")).join(" "),vectorEffect:"non-scaling-stroke",markerStart:v.showBoundingBox?void 0:`url(#${v.boxMode?o.resizer:o.dot})`,markerMid:v.showBoundingBox?void 0:`url(#${v.boxMode?o.resizer:o.dot})`,markerEnd:v.showBoundingBox?void 0:`url(#${v.boxMode?o.resizer:o.dot})`,style:{pointerEvents:"none"},opacity:v.transitioning&&v.transitionIntentType==="move-shape"?0:1}),v.currentTool==="lineBox"&&v.actionIntentType==="close-line-box"?(0,Ye.jsx)("polygon",{fill:i.shapeFill,ref:f,stroke:i.lineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,v.transitionIntentType==="draw-shape"&&v.transitioning?(0,Ye.jsx)("polyline",{ref:d,fill:"none",stroke:i.activeLineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,!(v.transitioning&&v.transitionIntentType==="move-point")&&!(v.transitioning&&v.transitionIntentType==="stamp-shape")&&!v.showBoundingBox&&v.selectedPoints&&v.selectedPoints.length?(0,Ye.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:`url(#${o.selected})`,markerMid:`url(#${o.selected})`,markerEnd:`url(#${o.selected})`,fill:"transparent",points:S.points.filter((z,O)=>v.selectedPoints?.includes(O)).map(z=>z.join(",")).join(" "),opacity:v.transitioning&&v.transitionIntentType==="move-shape"?0:1}):null,I&&!v.transitioning&&v.closestPoint!==null&&S.points[v.closestPoint]?(0,Ye.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:`url(#${o.selected})`,markerMid:`url(#${o.selected})`,markerEnd:`url(#${o.selected})`,fill:i.activeLineStroke,points:`${S.points[v.closestPoint][0]},${S.points[v.closestPoint][1]}`,opacity:v.transitioning&&v.transitionIntentType==="move-shape"?0:1}):null,!v.transitioning&&(v.actionIntentType==="add-open-point"||v.actionIntentType==="close-shape"||v.actionIntentType==="close-shape-line")?(0,Ye.jsx)("polyline",{stroke:i.activeLineStroke,ref:p,strokeWidth:v.actionIntentType==="add-open-point"?1:2,vectorEffect:"non-scaling-stroke"}):null,v.hasClosestLine&&!v.showBoundingBox&&!v.transitioning&&v.currentTool!=="box"&&v.transitionIntentType==="split-line"?(0,Ye.jsx)("g",{children:(0,Ye.jsx)("polyline",{ref:m,vectorEffect:"non-scaling-stroke",fill:"transparent",stroke:i.activeLineStroke,strokeWidth:3})}):null,v.hasClosestLine&&!v.showBoundingBox&&!v.transitioning&&v.currentTool!=="box"&&v.transitionIntentType==="split-line"?(0,Ye.jsx)("g",{ref:l,children:(0,Ye.jsx)("polyline",{markerStart:`url(#${o.newdot})`,points:"0,0 1,1",vectorEffect:"non-scaling-stroke",stroke:"transparent",fill:"transparent",strokeWidth:2})}):null,v.transitioning?(0,Ye.jsx)(T,{ref:h,fill:S.open?"none":i.shapeFill,stroke:v.transitionIntentType==="stamp-shape"?i.activeLineStroke:i.shapeStroke,vectorEffect:"non-scaling-stroke",strokeWidth:(S.open,2)}):null,v.transitioning&&v.transitionIntentType==="select-multiple-points"?(0,Ye.jsx)("rect",{ref:u,fill:"rgba(255, 255, 255, .3)",strokeWidth:1,stroke:"rgba(0,0,0,.2)",vectorEffect:"non-scaling-stroke"}):null,v.showBoundingBox&&!Y?(0,Ye.jsxs)(Ye.Fragment,{children:[(0,Ye.jsx)("polygon",{ref:s,strokeWidth:2,stroke:i.boundingBoxStroke,fill:"none",markerStart:`url(#${o.resizer})`,markerMid:`url(#${o.resizer})`,markerEnd:`url(#${o.resizer})`,vectorEffect:"non-scaling-stroke"}),(0,Ye.jsx)("polygon",{ref:a,strokeWidth:2,stroke:i.boundingBoxDottedStroke,fill:"none",strokeDasharray:"4 4",markerStart:`url(#${o.resizer})`,markerMid:`url(#${o.resizer})`,markerEnd:`url(#${o.resizer})`,vectorEffect:"non-scaling-stroke"})]}):null]}):null;return{currentTool:R.state.slowState.currentTool,setCurrentTool:R.tools.setTool,helper:R,currentShape:S,state:v,isAddingPoint:E,isSplitting:V,isStamping:Y,isHoveringPoint:I,transitionDirection:g,transitionRotate:x,defs:C,editor:Q}}var Wr=P(D(),1);function AS(e){let t=wl(),i=(0,kn.useRef)(null),{image:n}=e,{helper:r,defs:o,editor:s,state:a,transitionDirection:c,isSplitting:u,transitionRotate:l,isHoveringPoint:d,isAddingPoint:h}=xg({image:e.image,theme:e.theme}),p=(0,kn.useCallback)(g=>{g.button!==2&&r.pointer([[~~g.atlas.x,~~g.atlas.y]])},[r]),f=(0,kn.useCallback)(g=>{g.button!==2&&(i.current?.focus(),r.pointerDown())},[r]),m=(0,kn.useCallback)(g=>{g.button!==2&&r.pointerUp()},[r]);return(0,kn.useEffect)(()=>{let g=y=>{i.current?.contains(document.activeElement)&&r.key.up(y.key)};return document.addEventListener("keyup",g),()=>{document.removeEventListener("keyup",g)}},[r]),(0,kn.useEffect)(()=>{let g=y=>{i.current?.contains(document.activeElement)&&(y.target&&["INPUT","TEXTAREA"].includes(y.target.tagName)||y.target?.isContentEditable||document.activeElement&&(document.activeElement instanceof HTMLInputElement||document.activeElement instanceof HTMLTextAreaElement||document.activeElement.isContentEditable)||r.key.down(y.key))};return document.addEventListener("keydown",g),()=>{document.removeEventListener("keydown",g)}},[r]),(0,kn.useEffect)(()=>{let g=[];return c&&g.push(`atlas-cursor-${c}`),a.actionIntentType==="cut-line"&&a.modifiers?.Shift&&g.push("atlas-cursor-cut"),(d||a.transitionIntentType==="move-shape"||a.transitionIntentType==="move-point")&&g.push("atlas-cursor-move"),h&&g.push("atlas-cursor-crosshair"),u&&g.push("atlas-cursor-copy"),l&&g.push("atlas-cursor-rotate"),a.transitionIntentType==="draw-shape"&&g.push("atlas-cursor-draw"),t?.canvas&&t.canvas.classList.add(...g),()=>{t?.canvas&&t.canvas.classList.remove(...g)}},[t?.canvas,h,d,u,a.modifiers?.Shift,a.actionIntentType,a.transitionIntentType,c,l]),(0,Wr.jsx)("world-object",{height:n.height,width:n.width,onMouseMove:p,onMouseDown:f,onMouseUp:m,onMouseLeave:r.blur,children:(0,Wr.jsx)(Ii,{relative:!0,interactive:!1,children:(0,Wr.jsx)("div",{className:"absolute top-0 right-0 left-0 bottom-0",children:(0,Wr.jsxs)("svg",{ref:i,width:"100%",height:"100%",viewBox:`0 0 ${n.width} ${n.height}`,tabIndex:-1,children:[(0,Wr.jsx)("title",{children:"Annotation Editor"}),(0,Wr.jsx)("defs",{children:o}),s]})})})})}var I1=P(Z(),1);var Oe=P(Z(),1);function Zd(){return typeof window<"u"}function $r(e){return IS(e)?(e.nodeName||"").toLowerCase():"#document"}function ci(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function pn(e){var t;return(t=(IS(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function IS(e){return Zd()?e instanceof Node||e instanceof ci(e).Node:!1}function yt(e){return Zd()?e instanceof Element||e instanceof ci(e).Element:!1}function mi(e){return Zd()?e instanceof HTMLElement||e instanceof ci(e).HTMLElement:!1}function Ul(e){return!Zd()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ci(e).ShadowRoot}var fM=new Set(["inline","contents"]);function Js(e){let{overflow:t,overflowX:i,overflowY:n,display:r}=gi(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+i)&&!fM.has(r)}var pM=new Set(["table","td","th"]);function ES(e){return pM.has($r(e))}var mM=[":popover-open",":modal"];function Yl(e){return mM.some(t=>{try{return e.matches(t)}catch{return!1}})}var gM=["transform","translate","scale","rotate","perspective"],yM=["transform","translate","scale","rotate","perspective","filter"],vM=["paint","layout","strict","content"];function Qd(e){let t=ea(),i=yt(e)?gi(e):e;return gM.some(n=>i[n]?i[n]!=="none":!1)||(i.containerType?i.containerType!=="normal":!1)||!t&&(i.backdropFilter?i.backdropFilter!=="none":!1)||!t&&(i.filter?i.filter!=="none":!1)||yM.some(n=>(i.willChange||"").includes(n))||vM.some(n=>(i.contain||"").includes(n))}function MS(e){let t=fn(e);for(;mi(t)&&!mn(t);){if(Qd(t))return t;if(Yl(t))return null;t=fn(t)}return null}function ea(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var bM=new Set(["html","body","#document"]);function mn(e){return bM.has($r(e))}function gi(e){return ci(e).getComputedStyle(e)}function Gl(e){return yt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function fn(e){if($r(e)==="html")return e;let t=e.assignedSlot||e.parentNode||Ul(e)&&e.host||pn(e);return Ul(t)?t.host:t}function kS(e){let t=fn(e);return mn(t)?e.ownerDocument?e.ownerDocument.body:e.body:mi(t)&&Js(t)?t:kS(t)}function Li(e,t,i){var n;t===void 0&&(t=[]),i===void 0&&(i=!0);let r=kS(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),s=ci(r);if(o){let a=Jd(s);return t.concat(s,s.visualViewport||[],Js(r)?r:[],a&&i?Li(a):[])}return t.concat(r,Li(r,[],i))}function Jd(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var ec=P(Z(),1),zS=P(Z(),1);var ta=Math.min,sr=Math.max,Xl=Math.round,Zl=Math.floor,gn=e=>({x:e,y:e}),xM={left:"right",right:"left",bottom:"top",top:"bottom"},wM={start:"end",end:"start"};function wg(e,t,i){return sr(e,ta(t,i))}function Ql(e,t){return typeof e=="function"?e(t):e}function jr(e){return e.split("-")[0]}function Jl(e){return e.split("-")[1]}function Sg(e){return e==="x"?"y":"x"}function Rg(e){return e==="y"?"height":"width"}var SM=new Set(["top","bottom"]);function ar(e){return SM.has(jr(e))?"y":"x"}function Cg(e){return Sg(ar(e))}function _S(e,t,i){i===void 0&&(i=!1);let n=Jl(e),r=Cg(e),o=Rg(r),s=r==="x"?n===(i?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(s=Kl(s)),[s,Kl(s)]}function FS(e){let t=Kl(e);return[eh(e),t,eh(t)]}function eh(e){return e.replace(/start|end/g,t=>wM[t])}var OS=["left","right"],LS=["right","left"],RM=["top","bottom"],CM=["bottom","top"];function TM(e,t,i){switch(e){case"top":case"bottom":return i?t?LS:OS:t?OS:LS;case"left":case"right":return t?RM:CM;default:return[]}}function NS(e,t,i,n){let r=Jl(e),o=TM(jr(e),i==="start",n);return r&&(o=o.map(s=>s+"-"+r),t&&(o=o.concat(o.map(eh)))),o}function Kl(e){return e.replace(/left|right|bottom|top/g,t=>xM[t])}function PM(e){return{top:0,right:0,bottom:0,left:0,...e}}function DS(e){return typeof e!="number"?PM(e):{top:e,right:e,bottom:e,left:e}}function Fo(e){let{x:t,y:i,width:n,height:r}=e;return{width:n,height:r,top:i,left:t,right:t+n,bottom:i+r,x:t,y:i}}function Tg(e,t){if(!e||!t)return!1;let i=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(i&&Ul(i)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function ia(e){return"composedPath"in e?e.composedPath()[0]:e.target}function th(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);let i=e;return i.target!=null&&t.contains(i.target)}function BS(e){return e.matches("html,body")}function Pg(e){return e?.ownerDocument||document}function tc(e,t,i){return i===void 0&&(i=!0),e.filter(r=>{var o;return r.parentId===t&&(!i||((o=r.context)==null?void 0:o.open))}).flatMap(r=>[r,...tc(e,r.id,i)])}function VS(e){return"nativeEvent"in e}var AM=typeof document<"u",IM=function(){},ih=AM?zS.useLayoutEffect:IM,EM={...ec};var MM=EM.useInsertionEffect,kM=MM||(e=>e());function No(e){let t=ec.useRef(()=>{});return kM(()=>{t.current=e}),ec.useCallback(function(){for(var i=arguments.length,n=new Array(i),r=0;r<i;r++)n[r]=arguments[r];return t.current==null?void 0:t.current(...n)},[])}var Fg=P(D(),1);var f1=P(zs(),1);function WS(e,t,i){let{reference:n,floating:r}=e,o=ar(t),s=Cg(t),a=Rg(s),c=jr(t),u=o==="y",l=n.x+n.width/2-r.width/2,d=n.y+n.height/2-r.height/2,h=n[a]/2-r[a]/2,p;switch(c){case"top":p={x:l,y:n.y-r.height};break;case"bottom":p={x:l,y:n.y+n.height};break;case"right":p={x:n.x+n.width,y:d};break;case"left":p={x:n.x-r.width,y:d};break;default:p={x:n.x,y:n.y}}switch(Jl(t)){case"start":p[s]-=h*(i&&u?-1:1);break;case"end":p[s]+=h*(i&&u?-1:1);break}return p}var $S=async(e,t,i)=>{let{placement:n="bottom",strategy:r="absolute",middleware:o=[],platform:s}=i,a=o.filter(Boolean),c=await(s.isRTL==null?void 0:s.isRTL(t)),u=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:l,y:d}=WS(u,n,c),h=n,p={},f=0;for(let m=0;m<a.length;m++){let{name:g,fn:y}=a[m],{x,y:w,data:R,reset:v}=await y({x:l,y:d,initialPlacement:n,placement:h,strategy:r,middlewareData:p,rects:u,platform:s,elements:{reference:e,floating:t}});l=x??l,d=w??d,p={...p,[g]:{...p[g],...R}},v&&f<=50&&(f++,typeof v=="object"&&(v.placement&&(h=v.placement),v.rects&&(u=v.rects===!0?await s.getElementRects({reference:e,floating:t,strategy:r}):v.rects),{x:l,y:d}=WS(u,h,c)),m=-1)}return{x:l,y:d,placement:h,strategy:r,middlewareData:p}};async function nh(e,t){var i;t===void 0&&(t={});let{x:n,y:r,platform:o,rects:s,elements:a,strategy:c}=e,{boundary:u="clippingAncestors",rootBoundary:l="viewport",elementContext:d="floating",altBoundary:h=!1,padding:p=0}=Ql(t,e),f=DS(p),g=a[h?d==="floating"?"reference":"floating":d],y=Fo(await o.getClippingRect({element:(i=await(o.isElement==null?void 0:o.isElement(g)))==null||i?g:g.contextElement||await(o.getDocumentElement==null?void 0:o.getDocumentElement(a.floating)),boundary:u,rootBoundary:l,strategy:c})),x=d==="floating"?{x:n,y:r,width:s.floating.width,height:s.floating.height}:s.reference,w=await(o.getOffsetParent==null?void 0:o.getOffsetParent(a.floating)),R=await(o.isElement==null?void 0:o.isElement(w))?await(o.getScale==null?void 0:o.getScale(w))||{x:1,y:1}:{x:1,y:1},v=Fo(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:x,offsetParent:w,strategy:c}):x);return{top:(y.top-v.top+f.top)/R.y,bottom:(v.bottom-y.bottom+f.bottom)/R.y,left:(y.left-v.left+f.left)/R.x,right:(v.right-y.right+f.right)/R.x}}var jS=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var i,n;let{placement:r,middlewareData:o,rects:s,initialPlacement:a,platform:c,elements:u}=t,{mainAxis:l=!0,crossAxis:d=!0,fallbackPlacements:h,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:f="none",flipAlignment:m=!0,...g}=Ql(e,t);if((i=o.arrow)!=null&&i.alignmentOffset)return{};let y=jr(r),x=ar(a),w=jr(a)===a,R=await(c.isRTL==null?void 0:c.isRTL(u.floating)),v=h||(w||!m?[Kl(a)]:FS(a)),S=f!=="none";!h&&S&&v.push(...NS(a,m,f,R));let C=[a,...v],T=await nh(t,g),I=[],E=((n=o.flip)==null?void 0:n.overflows)||[];if(l&&I.push(T[y]),d){let z=_S(r,s,R);I.push(T[z[0]],T[z[1]])}if(E=[...E,{placement:r,overflows:I}],!I.every(z=>z<=0)){var V,Y;let z=(((V=o.flip)==null?void 0:V.index)||0)+1,O=C[z];if(O&&(!(d==="alignment"?x!==ar(O):!1)||E.every(K=>K.overflows[0]>0&&ar(K.placement)===x)))return{data:{index:z,overflows:E},reset:{placement:O}};let G=(Y=E.filter(ee=>ee.overflows[0]<=0).sort((ee,K)=>ee.overflows[1]-K.overflows[1])[0])==null?void 0:Y.placement;if(!G)switch(p){case"bestFit":{var Q;let ee=(Q=E.filter(K=>{if(S){let ne=ar(K.placement);return ne===x||ne==="y"}return!0}).map(K=>[K.placement,K.overflows.filter(ne=>ne>0).reduce((ne,oe)=>ne+oe,0)]).sort((K,ne)=>K[1]-ne[1])[0])==null?void 0:Q[0];ee&&(G=ee);break}case"initialPlacement":G=a;break}if(r!==G)return{reset:{placement:G}}}return{}}}};var OM=new Set(["left","top"]);async function LM(e,t){let{placement:i,platform:n,elements:r}=e,o=await(n.isRTL==null?void 0:n.isRTL(r.floating)),s=jr(i),a=Jl(i),c=ar(i)==="y",u=OM.has(s)?-1:1,l=o&&c?-1:1,d=Ql(t,e),{mainAxis:h,crossAxis:p,alignmentAxis:f}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return a&&typeof f=="number"&&(p=a==="end"?f*-1:f),c?{x:p*l,y:h*u}:{x:h*u,y:p*l}}var HS=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var i,n;let{x:r,y:o,placement:s,middlewareData:a}=t,c=await LM(t,e);return s===((i=a.offset)==null?void 0:i.placement)&&(n=a.arrow)!=null&&n.alignmentOffset?{}:{x:r+c.x,y:o+c.y,data:{...c,placement:s}}}}},qS=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:i,y:n,placement:r}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:a={fn:g=>{let{x:y,y:x}=g;return{x:y,y:x}}},...c}=Ql(e,t),u={x:i,y:n},l=await nh(t,c),d=ar(jr(r)),h=Sg(d),p=u[h],f=u[d];if(o){let g=h==="y"?"top":"left",y=h==="y"?"bottom":"right",x=p+l[g],w=p-l[y];p=wg(x,p,w)}if(s){let g=d==="y"?"top":"left",y=d==="y"?"bottom":"right",x=f+l[g],w=f-l[y];f=wg(x,f,w)}let m=a.fn({...t,[h]:p,[d]:f});return{...m,data:{x:m.x-i,y:m.y-n,enabled:{[h]:o,[d]:s}}}}}};function GS(e){let t=gi(e),i=parseFloat(t.width)||0,n=parseFloat(t.height)||0,r=mi(e),o=r?e.offsetWidth:i,s=r?e.offsetHeight:n,a=Xl(i)!==o||Xl(n)!==s;return a&&(i=o,n=s),{width:i,height:n,$:a}}function Ig(e){return yt(e)?e:e.contextElement}function na(e){let t=Ig(e);if(!mi(t))return gn(1);let i=t.getBoundingClientRect(),{width:n,height:r,$:o}=GS(t),s=(o?Xl(i.width):i.width)/n,a=(o?Xl(i.height):i.height)/r;return(!s||!Number.isFinite(s))&&(s=1),(!a||!Number.isFinite(a))&&(a=1),{x:s,y:a}}var _M=gn(0);function KS(e){let t=ci(e);return!ea()||!t.visualViewport?_M:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function FM(e,t,i){return t===void 0&&(t=!1),!i||t&&i!==ci(e)?!1:t}function Do(e,t,i,n){t===void 0&&(t=!1),i===void 0&&(i=!1);let r=e.getBoundingClientRect(),o=Ig(e),s=gn(1);t&&(n?yt(n)&&(s=na(n)):s=na(e));let a=FM(o,i,n)?KS(o):gn(0),c=(r.left+a.x)/s.x,u=(r.top+a.y)/s.y,l=r.width/s.x,d=r.height/s.y;if(o){let h=ci(o),p=n&&yt(n)?ci(n):n,f=h,m=Jd(f);for(;m&&n&&p!==f;){let g=na(m),y=m.getBoundingClientRect(),x=gi(m),w=y.left+(m.clientLeft+parseFloat(x.paddingLeft))*g.x,R=y.top+(m.clientTop+parseFloat(x.paddingTop))*g.y;c*=g.x,u*=g.y,l*=g.x,d*=g.y,c+=w,u+=R,f=ci(m),m=Jd(f)}}return Fo({width:l,height:d,x:c,y:u})}function Eg(e,t){let i=Gl(e).scrollLeft;return t?t.left+i:Do(pn(e)).left+i}function XS(e,t,i){i===void 0&&(i=!1);let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-(i?0:Eg(e,n)),o=n.top+t.scrollTop;return{x:r,y:o}}function NM(e){let{elements:t,rect:i,offsetParent:n,strategy:r}=e,o=r==="fixed",s=pn(n),a=t?Yl(t.floating):!1;if(n===s||a&&o)return i;let c={scrollLeft:0,scrollTop:0},u=gn(1),l=gn(0),d=mi(n);if((d||!d&&!o)&&(($r(n)!=="body"||Js(s))&&(c=Gl(n)),mi(n))){let p=Do(n);u=na(n),l.x=p.x+n.clientLeft,l.y=p.y+n.clientTop}let h=s&&!d&&!o?XS(s,c,!0):gn(0);return{width:i.width*u.x,height:i.height*u.y,x:i.x*u.x-c.scrollLeft*u.x+l.x+h.x,y:i.y*u.y-c.scrollTop*u.y+l.y+h.y}}function DM(e){return Array.from(e.getClientRects())}function zM(e){let t=pn(e),i=Gl(e),n=e.ownerDocument.body,r=sr(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),o=sr(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),s=-i.scrollLeft+Eg(e),a=-i.scrollTop;return gi(n).direction==="rtl"&&(s+=sr(t.clientWidth,n.clientWidth)-r),{width:r,height:o,x:s,y:a}}function BM(e,t){let i=ci(e),n=pn(e),r=i.visualViewport,o=n.clientWidth,s=n.clientHeight,a=0,c=0;if(r){o=r.width,s=r.height;let u=ea();(!u||u&&t==="fixed")&&(a=r.offsetLeft,c=r.offsetTop)}return{width:o,height:s,x:a,y:c}}var VM=new Set(["absolute","fixed"]);function WM(e,t){let i=Do(e,!0,t==="fixed"),n=i.top+e.clientTop,r=i.left+e.clientLeft,o=mi(e)?na(e):gn(1),s=e.clientWidth*o.x,a=e.clientHeight*o.y,c=r*o.x,u=n*o.y;return{width:s,height:a,x:c,y:u}}function US(e,t,i){let n;if(t==="viewport")n=BM(e,i);else if(t==="document")n=zM(pn(e));else if(yt(t))n=WM(t,i);else{let r=KS(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return Fo(n)}function ZS(e,t){let i=fn(e);return i===t||!yt(i)||mn(i)?!1:gi(i).position==="fixed"||ZS(i,t)}function $M(e,t){let i=t.get(e);if(i)return i;let n=Li(e,[],!1).filter(a=>yt(a)&&$r(a)!=="body"),r=null,o=gi(e).position==="fixed",s=o?fn(e):e;for(;yt(s)&&!mn(s);){let a=gi(s),c=Qd(s);!c&&a.position==="fixed"&&(r=null),(o?!c&&!r:!c&&a.position==="static"&&!!r&&VM.has(r.position)||Js(s)&&!c&&ZS(e,s))?n=n.filter(l=>l!==s):r=a,s=fn(s)}return t.set(e,n),n}function jM(e){let{element:t,boundary:i,rootBoundary:n,strategy:r}=e,s=[...i==="clippingAncestors"?Yl(t)?[]:$M(t,this._c):[].concat(i),n],a=s[0],c=s.reduce((u,l)=>{let d=US(t,l,r);return u.top=sr(d.top,u.top),u.right=ta(d.right,u.right),u.bottom=ta(d.bottom,u.bottom),u.left=sr(d.left,u.left),u},US(t,a,r));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function HM(e){let{width:t,height:i}=GS(e);return{width:t,height:i}}function qM(e,t,i){let n=mi(t),r=pn(t),o=i==="fixed",s=Do(e,!0,o,t),a={scrollLeft:0,scrollTop:0},c=gn(0);function u(){c.x=Eg(r)}if(n||!n&&!o)if(($r(t)!=="body"||Js(r))&&(a=Gl(t)),n){let p=Do(t,!0,o,t);c.x=p.x+t.clientLeft,c.y=p.y+t.clientTop}else r&&u();o&&!n&&r&&u();let l=r&&!n&&!o?XS(r,a):gn(0),d=s.left+a.scrollLeft-c.x-l.x,h=s.top+a.scrollTop-c.y-l.y;return{x:d,y:h,width:s.width,height:s.height}}function Ag(e){return gi(e).position==="static"}function YS(e,t){if(!mi(e)||gi(e).position==="fixed")return null;if(t)return t(e);let i=e.offsetParent;return pn(e)===i&&(i=i.ownerDocument.body),i}function QS(e,t){let i=ci(e);if(Yl(e))return i;if(!mi(e)){let r=fn(e);for(;r&&!mn(r);){if(yt(r)&&!Ag(r))return r;r=fn(r)}return i}let n=YS(e,t);for(;n&&ES(n)&&Ag(n);)n=YS(n,t);return n&&mn(n)&&Ag(n)&&!Qd(n)?i:n||MS(e)||i}var UM=async function(e){let t=this.getOffsetParent||QS,i=this.getDimensions,n=await i(e.floating);return{reference:qM(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function YM(e){return gi(e).direction==="rtl"}var Mg={convertOffsetParentRelativeRectToViewportRelativeRect:NM,getDocumentElement:pn,getClippingRect:jM,getOffsetParent:QS,getElementRects:UM,getClientRects:DM,getDimensions:HM,getScale:na,isElement:yt,isRTL:YM};function JS(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function GM(e,t){let i=null,n,r=pn(e);function o(){var a;clearTimeout(n),(a=i)==null||a.disconnect(),i=null}function s(a,c){a===void 0&&(a=!1),c===void 0&&(c=1),o();let u=e.getBoundingClientRect(),{left:l,top:d,width:h,height:p}=u;if(a||t(),!h||!p)return;let f=Zl(d),m=Zl(r.clientWidth-(l+h)),g=Zl(r.clientHeight-(d+p)),y=Zl(l),w={rootMargin:-f+"px "+-m+"px "+-g+"px "+-y+"px",threshold:sr(0,ta(1,c))||1},R=!0;function v(S){let C=S[0].intersectionRatio;if(C!==c){if(!R)return s();C?s(!1,C):n=setTimeout(()=>{s(!1,1e-7)},1e3)}C===1&&!JS(u,e.getBoundingClientRect())&&s(),R=!1}try{i=new IntersectionObserver(v,{...w,root:r.ownerDocument})}catch{i=new IntersectionObserver(v,w)}i.observe(e)}return s(!0),o}function rh(e,t,i,n){n===void 0&&(n={});let{ancestorScroll:r=!0,ancestorResize:o=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:c=!1}=n,u=Ig(e),l=r||o?[...u?Li(u):[],...Li(t)]:[];l.forEach(y=>{r&&y.addEventListener("scroll",i,{passive:!0}),o&&y.addEventListener("resize",i)});let d=u&&a?GM(u,i):null,h=-1,p=null;s&&(p=new ResizeObserver(y=>{let[x]=y;x&&x.target===u&&p&&(p.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var w;(w=p)==null||w.observe(t)})),i()}),u&&!c&&p.observe(u),p.observe(t));let f,m=c?Do(e):null;c&&g();function g(){let y=Do(e);m&&!JS(m,y)&&i(),m=y,f=requestAnimationFrame(g)}return i(),()=>{var y;l.forEach(x=>{r&&x.removeEventListener("scroll",i),o&&x.removeEventListener("resize",i)}),d?.(),(y=p)==null||y.disconnect(),p=null,c&&cancelAnimationFrame(f)}}var ic=nh,e1=HS;var t1=qS,i1=jS;var oh=(e,t,i)=>{let n=new Map,r={platform:Mg,...i},o={...r.platform,_c:n};return $S(e,t,{...r,platform:o})};var _t=P(Z(),1),r1=P(Z(),1),o1=P(zs(),1),KM=typeof document<"u",XM=function(){},sh=KM?r1.useLayoutEffect:XM;function ah(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let i,n,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(i=e.length,i!==t.length)return!1;for(n=i;n--!==0;)if(!ah(e[n],t[n]))return!1;return!0}if(r=Object.keys(e),i=r.length,i!==Object.keys(t).length)return!1;for(n=i;n--!==0;)if(!{}.hasOwnProperty.call(t,r[n]))return!1;for(n=i;n--!==0;){let o=r[n];if(!(o==="_owner"&&e.$$typeof)&&!ah(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function s1(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function n1(e,t){let i=s1(e);return Math.round(t*i)/i}function kg(e){let t=_t.useRef(e);return sh(()=>{t.current=e}),t}function a1(e){e===void 0&&(e={});let{placement:t="bottom",strategy:i="absolute",middleware:n=[],platform:r,elements:{reference:o,floating:s}={},transform:a=!0,whileElementsMounted:c,open:u}=e,[l,d]=_t.useState({x:0,y:0,strategy:i,placement:t,middlewareData:{},isPositioned:!1}),[h,p]=_t.useState(n);ah(h,n)||p(n);let[f,m]=_t.useState(null),[g,y]=_t.useState(null),x=_t.useCallback(K=>{K!==S.current&&(S.current=K,m(K))},[]),w=_t.useCallback(K=>{K!==C.current&&(C.current=K,y(K))},[]),R=o||f,v=s||g,S=_t.useRef(null),C=_t.useRef(null),T=_t.useRef(l),I=c!=null,E=kg(c),V=kg(r),Y=kg(u),Q=_t.useCallback(()=>{if(!S.current||!C.current)return;let K={placement:t,strategy:i,middleware:h};V.current&&(K.platform=V.current),oh(S.current,C.current,K).then(ne=>{let oe={...ne,isPositioned:Y.current!==!1};z.current&&!ah(T.current,oe)&&(T.current=oe,o1.flushSync(()=>{d(oe)}))})},[h,t,i,V,Y]);sh(()=>{u===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(K=>({...K,isPositioned:!1})))},[u]);let z=_t.useRef(!1);sh(()=>(z.current=!0,()=>{z.current=!1}),[]),sh(()=>{if(R&&(S.current=R),v&&(C.current=v),R&&v){if(E.current)return E.current(R,v,Q);Q()}},[R,v,Q,E,I]);let O=_t.useMemo(()=>({reference:S,floating:C,setReference:x,setFloating:w}),[x,w]),G=_t.useMemo(()=>({reference:R,floating:v}),[R,v]),ee=_t.useMemo(()=>{let K={position:i,left:0,top:0};if(!G.floating)return K;let ne=n1(G.floating,l.x),oe=n1(G.floating,l.y);return a?{...K,transform:"translate("+ne+"px, "+oe+"px)",...s1(G.floating)>=1.5&&{willChange:"transform"}}:{position:i,left:ne,top:oe}},[i,a,G.floating,l.x,l.y]);return _t.useMemo(()=>({...l,update:Q,refs:O,elements:G,floatingStyles:ee}),[l,Q,O,G,ee])}var lh=(e,t)=>({...e1(e),options:[e,t]}),Og=(e,t)=>({...t1(e),options:[e,t]});var Lg=(e,t)=>({...i1(e),options:[e,t]});var ZM="data-floating-ui-focusable",l1="active",c1="selected",QM="ArrowLeft",JM="ArrowRight",ek="ArrowUp",tk="ArrowDown";var ik=[QM,JM],nk=[ek,tk],R$=[...ik,...nk];var rk={...Oe},u1=!1,ok=0,d1=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+ok++;function sk(){let[e,t]=Oe.useState(()=>u1?d1():void 0);return ih(()=>{e==null&&t(d1())},[]),Oe.useEffect(()=>{u1=!0},[]),e}var ak=rk.useId,lk=ak||sk;function ck(){let e=new Map;return{emit(t,i){var n;(n=e.get(t))==null||n.forEach(r=>r(i))},on(t,i){e.has(t)||e.set(t,new Set),e.get(t).add(i)},off(t,i){var n;(n=e.get(t))==null||n.delete(i)}}}var uk=Oe.createContext(null),dk=Oe.createContext(null),hk=()=>{var e;return((e=Oe.useContext(uk))==null?void 0:e.id)||null},p1=()=>Oe.useContext(dk);function fk(e){return"data-floating-ui-"+e}function pk(e){e.current!==-1&&(clearTimeout(e.current),e.current=-1)}var mk={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},gk={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},h1=e=>{var t,i;return{escapeKey:typeof e=="boolean"?e:(t=e?.escapeKey)!=null?t:!1,outsidePress:typeof e=="boolean"?e:(i=e?.outsidePress)!=null?i:!0}};function m1(e,t){t===void 0&&(t={});let{open:i,onOpenChange:n,elements:r,dataRef:o}=e,{enabled:s=!0,escapeKey:a=!0,outsidePress:c=!0,outsidePressEvent:u="pointerdown",referencePress:l=!1,referencePressEvent:d="pointerdown",ancestorScroll:h=!1,bubbles:p,capture:f}=t,m=p1(),g=No(typeof c=="function"?c:()=>!1),y=typeof c=="function"?g:c,x=Oe.useRef(!1),{escapeKey:w,outsidePress:R}=h1(p),{escapeKey:v,outsidePress:S}=h1(f),C=Oe.useRef(!1),T=Oe.useRef(-1),I=No(O=>{var G;if(!i||!s||!a||O.key!=="Escape"||C.current)return;let ee=(G=o.current.floatingContext)==null?void 0:G.nodeId,K=m?tc(m.nodesRef.current,ee):[];if(!w&&(O.stopPropagation(),K.length>0)){let ne=!0;if(K.forEach(oe=>{var we;if((we=oe.context)!=null&&we.open&&!oe.context.dataRef.current.__escapeKeyBubbles){ne=!1;return}}),!ne)return}n(!1,VS(O)?O.nativeEvent:O,"escape-key")}),E=No(O=>{var G;let ee=()=>{var K;I(O),(K=ia(O))==null||K.removeEventListener("keydown",ee)};(G=ia(O))==null||G.addEventListener("keydown",ee)}),V=No(O=>{var G;let ee=o.current.insideReactTree;o.current.insideReactTree=!1;let K=x.current;if(x.current=!1,u==="click"&&K||ee||typeof y=="function"&&!y(O))return;let ne=ia(O),oe="["+fk("inert")+"]",we=Pg(r.floating).querySelectorAll(oe),ae=yt(ne)?ne:null;for(;ae&&!mn(ae);){let Re=fn(ae);if(mn(Re)||!yt(Re))break;ae=Re}if(we.length&&yt(ne)&&!BS(ne)&&!Tg(ne,r.floating)&&Array.from(we).every(Re=>!Tg(ae,Re)))return;if(mi(ne)&&z){let Re=mn(ne),Be=gi(ne),Le=/auto|scroll/,Qe=Re||Le.test(Be.overflowX),Ge=Re||Le.test(Be.overflowY),Me=Qe&&ne.clientWidth>0&&ne.scrollWidth>ne.clientWidth,it=Ge&&ne.clientHeight>0&&ne.scrollHeight>ne.clientHeight,Pe=Be.direction==="rtl",vt=it&&(Pe?O.offsetX<=ne.offsetWidth-ne.clientWidth:O.offsetX>ne.clientWidth),$e=Me&&O.offsetY>ne.clientHeight;if(vt||$e)return}let _e=(G=o.current.floatingContext)==null?void 0:G.nodeId,ze=m&&tc(m.nodesRef.current,_e).some(Re=>{var Be;return th(O,(Be=Re.context)==null?void 0:Be.elements.floating)});if(th(O,r.floating)||th(O,r.domReference)||ze)return;let ie=m?tc(m.nodesRef.current,_e):[];if(ie.length>0){let Re=!0;if(ie.forEach(Be=>{var Le;if((Le=Be.context)!=null&&Le.open&&!Be.context.dataRef.current.__outsidePressBubbles){Re=!1;return}}),!Re)return}n(!1,O,"outside-press")}),Y=No(O=>{var G;let ee=()=>{var K;V(O),(K=ia(O))==null||K.removeEventListener(u,ee)};(G=ia(O))==null||G.addEventListener(u,ee)});Oe.useEffect(()=>{if(!i||!s)return;o.current.__escapeKeyBubbles=w,o.current.__outsidePressBubbles=R;let O=-1;function G(we){n(!1,we,"ancestor-scroll")}function ee(){window.clearTimeout(O),C.current=!0}function K(){O=window.setTimeout(()=>{C.current=!1},ea()?5:0)}let ne=Pg(r.floating);a&&(ne.addEventListener("keydown",v?E:I,v),ne.addEventListener("compositionstart",ee),ne.addEventListener("compositionend",K)),y&&ne.addEventListener(u,S?Y:V,S);let oe=[];return h&&(yt(r.domReference)&&(oe=Li(r.domReference)),yt(r.floating)&&(oe=oe.concat(Li(r.floating))),!yt(r.reference)&&r.reference&&r.reference.contextElement&&(oe=oe.concat(Li(r.reference.contextElement)))),oe=oe.filter(we=>{var ae;return we!==((ae=ne.defaultView)==null?void 0:ae.visualViewport)}),oe.forEach(we=>{we.addEventListener("scroll",G,{passive:!0})}),()=>{a&&(ne.removeEventListener("keydown",v?E:I,v),ne.removeEventListener("compositionstart",ee),ne.removeEventListener("compositionend",K)),y&&ne.removeEventListener(u,S?Y:V,S),oe.forEach(we=>{we.removeEventListener("scroll",G)}),window.clearTimeout(O)}},[o,r,a,y,u,i,n,h,s,w,R,I,v,E,V,S,Y]),Oe.useEffect(()=>{o.current.insideReactTree=!1},[o,y,u]);let Q=Oe.useMemo(()=>({onKeyDown:I,...l&&{[mk[d]]:O=>{n(!1,O.nativeEvent,"reference-press")},...d!=="click"&&{onClick(O){n(!1,O.nativeEvent,"reference-press")}}}}),[I,n,l,d]),z=Oe.useMemo(()=>({onKeyDown:I,onMouseDown(){x.current=!0},onMouseUp(){x.current=!0},[gk[u]]:()=>{o.current.insideReactTree=!0},onBlurCapture(){m||(pk(T),o.current.insideReactTree=!0,T.current=window.setTimeout(()=>{o.current.insideReactTree=!1}))}}),[I,u,o,m]);return Oe.useMemo(()=>s?{reference:Q,floating:z}:{},[s,Q,z])}function yk(e){let{open:t=!1,onOpenChange:i,elements:n}=e,r=lk(),o=Oe.useRef({}),[s]=Oe.useState(()=>ck()),a=hk()!=null,[c,u]=Oe.useState(n.reference),l=No((p,f,m)=>{o.current.openEvent=p?f:void 0,s.emit("openchange",{open:p,event:f,reason:m,nested:a}),i?.(p,f,m)}),d=Oe.useMemo(()=>({setPositionReference:u}),[]),h=Oe.useMemo(()=>({reference:c||n.reference||null,floating:n.floating||null,domReference:n.reference}),[c,n.reference,n.floating]);return Oe.useMemo(()=>({dataRef:o,open:t,onOpenChange:l,elements:h,events:s,floatingId:r,refs:d}),[t,l,h,s,r,d])}function g1(e){e===void 0&&(e={});let{nodeId:t}=e,i=yk({...e,elements:{reference:null,floating:null,...e.elements}}),n=e.rootContext||i,r=n.elements,[o,s]=Oe.useState(null),[a,c]=Oe.useState(null),l=r?.domReference||o,d=Oe.useRef(null),h=p1();ih(()=>{l&&(d.current=l)},[l]);let p=a1({...e,elements:{...r,...a&&{reference:a}}}),f=Oe.useCallback(w=>{let R=yt(w)?{getBoundingClientRect:()=>w.getBoundingClientRect(),getClientRects:()=>w.getClientRects(),contextElement:w}:w;c(R),p.refs.setReference(R)},[p.refs]),m=Oe.useCallback(w=>{(yt(w)||w===null)&&(d.current=w,s(w)),(yt(p.refs.reference.current)||p.refs.reference.current===null||w!==null&&!yt(w))&&p.refs.setReference(w)},[p.refs]),g=Oe.useMemo(()=>({...p.refs,setReference:m,setPositionReference:f,domReference:d}),[p.refs,m,f]),y=Oe.useMemo(()=>({...p.elements,domReference:l}),[p.elements,l]),x=Oe.useMemo(()=>({...p,...n,refs:g,elements:y,nodeId:t}),[p,g,y,t,n]);return ih(()=>{n.dataRef.current.floatingContext=x;let w=h?.nodesRef.current.find(R=>R.id===t);w&&(w.context=x)}),Oe.useMemo(()=>({...p,context:x,refs:g,elements:y}),[p,g,y,x])}function _g(e,t,i){let n=new Map,r=i==="item",o=e;if(r&&e){let{[l1]:s,[c1]:a,...c}=e;o=c}return{...i==="floating"&&{tabIndex:-1,[ZM]:""},...o,...t.map(s=>{let a=s?s[i]:null;return typeof a=="function"?e?a(e):null:a}).concat(e).reduce((s,a)=>(a&&Object.entries(a).forEach(c=>{let[u,l]=c;if(!(r&&[l1,c1].includes(u)))if(u.indexOf("on")===0){if(n.has(u)||n.set(u,[]),typeof l=="function"){var d;(d=n.get(u))==null||d.push(l),s[u]=function(){for(var h,p=arguments.length,f=new Array(p),m=0;m<p;m++)f[m]=arguments[m];return(h=n.get(u))==null?void 0:h.map(g=>g(...f)).find(g=>g!==void 0)}}}else s[u]=l}),s),{})}}function y1(e){e===void 0&&(e=[]);let t=e.map(a=>a?.reference),i=e.map(a=>a?.floating),n=e.map(a=>a?.item),r=Oe.useCallback(a=>_g(a,e,"reference"),t),o=Oe.useCallback(a=>_g(a,e,"floating"),i),s=Oe.useCallback(a=>_g(a,e,"item"),n);return Oe.useMemo(()=>({getReferenceProps:r,getFloatingProps:o,getItemProps:s}),[r,o,s])}var P1=P(zs(),1);var Ft=P(Z(),1);var v1=P(Z(),1),ch=P(Z(),1);var x1=P(D(),1),b1=Ai(),zo=(0,ch.createContext)({emitter:b1});zo.displayName="Events";function nc(){return v1.default.useContext(zo).emitter}function vk({emitter:e,children:t}){return(0,x1.jsx)(zo.Provider,{value:(0,ch.useMemo)(()=>({emitter:e}),[e]),children:t})}var ra=P(Z(),1),S1=P(D(),1),rc=(0,ra.createContext)("");function w1({children:e,identifier:t}){let i=(0,ra.useMemo)(()=>t??Math.random().toString(36).substring(2,9),[t]);return(0,S1.jsx)(rc.Provider,{value:i,children:e})}function uh(){return(0,ra.useContext)(rc)}var ui=P(D(),1),oc=Ft.default.createContext({});function sc(){let e=(0,Ft.useContext)(oc),t=Object.keys(e),i={};for(let n of t)e[n].Provider&&(i[n]={value:(0,Ft.useContext)(e[n]),Provider:e[n].Provider});return i}function R1(e){let t=Object.keys(e),i=e.children;for(let n of t){if(n==="children")continue;let{value:r,Provider:o}=e[n];i=(0,ui.jsx)(o,{value:r,children:i})}return i}function bk(e){let t=(0,Ft.useContext)(oc),i=(0,Ft.useMemo)(()=>({...t,...e.providers}),[e.providers]);return(0,ui.jsx)(oc.Provider,{value:i,children:e.children})}function ac(){return{VaultContext:(0,Ft.useContext)(Xi),ResourceContext:(0,Ft.useContext)(Pa),SimpleViewerReactContext:(0,Ft.useContext)(ws),VisibleCanvasReactContext:(0,Ft.useContext)(Un),AuthRContext:(0,Ft.useContext)(ho),SearchReactContext:(0,Ft.useContext)(xs),ReactEventContext:(0,Ft.useContext)(zo),ReactEmitterContext:(0,Ft.useContext)(So),ContextBridgeReactContext:(0,Ft.useContext)(oc),StrategyReactContext:(0,Ft.useContext)(Mn),AtlasStoreReactContext:(0,Ft.useContext)(To),ViewerIdentifierContext:(0,Ft.useContext)(rc)}}function lc(e){return(0,ui.jsx)(qn,{vault:e.bridge.VaultContext.vault||void 0,resources:e.bridge.ResourceContext,children:(0,ui.jsx)(Un.Provider,{value:e.bridge.VisibleCanvasReactContext,children:(0,ui.jsx)(ws.Provider,{value:e.bridge.SimpleViewerReactContext,children:(0,ui.jsx)(zo.Provider,{value:e.bridge.ReactEventContext,children:(0,ui.jsx)(So.Provider,{value:e.bridge.ReactEmitterContext,children:(0,ui.jsx)(To.Provider,{value:e.bridge.AtlasStoreReactContext,children:(0,ui.jsx)(ho.Provider,{value:e.bridge.AuthRContext,children:(0,ui.jsx)(xs.Provider,{value:e.bridge.SearchReactContext,children:(0,ui.jsx)(rc.Provider,{value:e.bridge.ViewerIdentifierContext,children:(0,ui.jsx)(oc.Provider,{value:e.bridge.ContextBridgeReactContext,children:(0,ui.jsx)(Mn.Provider,{value:e.bridge.StrategyReactContext,children:e.custom?(0,ui.jsx)(R1,{...e.custom,children:e.children}):e.children})})})})})})})})})})})}var oa=P(D(),1),A1=10,C1=1;function xk(e){let[t,i]=e.split("-");return[t,i]}function T1(e,t,i){return t>i?e:Math.min(Math.max(e,t),i)}function wk(e){return e.top>0||e.right>0||e.bottom>0||e.left>0}function Sk(e){return{name:"insideHighlightFallback",options:e,async fn(t){if(e.width<=C1||e.height<=C1)return{};let i=await ic(t,{altBoundary:!0});if(!wk(i))return{};let{reference:n,floating:r}=t.rects,[o,s]=xk(t.initialPlacement),a=Math.min(A1,n.width/2,n.height/2),c=n.x+(n.width-r.width)/2,u=n.y+(n.height-r.height)/2,l=t.x,d=t.y;return o==="top"||o==="bottom"?(d=o==="top"?n.y+a:n.y+n.height-r.height-a,s==="start"?l=n.x+a:s==="end"?l=n.x+n.width-r.width-a:l=c,l=T1(l,n.x+a,n.x+n.width-r.width-a)):(l=o==="left"?n.x+a:n.x+n.width-r.width-a,s==="start"?d=n.y+a:s==="end"?d=n.y+n.height-r.height-a:d=u,d=T1(d,n.y+a,n.y+n.height-r.height-a)),{x:l,y:d}}}}function dh({annotation:e,target:t,children:i,dismissable:n,isOpen:r,onOpenChange:o,placement:s}){let a=uh(),c=ac(),u=sc(),{refs:l,floatingStyles:d,context:h}=g1({open:r,onOpenChange:o,nodeId:e.id,placement:s||"bottom",middleware:[lh(A1),Lg({mainAxis:!0,fallbackStrategy:"bestFit",altBoundary:!0}),Og({altBoundary:!0}),Sk(t)],whileElementsMounted:rh}),p=m1(h),{getReferenceProps:f,getFloatingProps:m}=y1([n?p:null].filter(g=>g!==null));return(0,oa.jsxs)(Ii,{relative:!0,target:t,interactive:!1,children:[(0,oa.jsx)("div",{ref:l.setReference,...f(),style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"}}),(0,P1.createPortal)((0,oa.jsx)(lc,{bridge:c,custom:u,children:(0,oa.jsx)("div",{ref:l.setFloating,style:d,...m(),children:i})}),document.getElementById(`atlas-floating-ui-${a}`))]})}var cc=P(D(),1),E1=_u()(e=>({isMenuOpen:!1,menuPosition:{x:0,y:0},setMenuPosition(t){e({menuPosition:t})},toggle(t){e(i=>({isMenuOpen:!i.isMenuOpen,menuPosition:t}))},open(t){e({isMenuOpen:!0,menuPosition:t})},setIsMenuOpen(t){e(typeof t=="function"?i=>({isMenuOpen:t(i.isMenuOpen)}):{isMenuOpen:t})},close(){e({isMenuOpen:!1})}}));function uc(e,t,i){let{isMenuOpen:n,setIsMenuOpen:r,close:o,open:s,menuPosition:a,setMenuPosition:c,toggle:u}=E1(),l=(0,I1.useCallback)(p=>{i&&(p.preventDefault(),p.stopPropagation(),u(p.atlas))},[u,i]);return[(0,cc.jsx)(cc.Fragment,{children:i&&n&&(0,cc.jsx)(dh,{dismissable:!0,placement:"bottom-start",isOpen:n,onOpenChange:r,annotation:{id:e},target:{x:a.x,y:a.y,height:1,width:1},children:n&&i({canvasId:t,position:a,close:()=>r(!1)})})}),{onContextMenu:l},{open:s,close:o,toggle:u,isMenuOpen:n,setIsMenuOpen:r,menuPosition:a,setMenuPosition:c}]}function Ng(){let e=ut();return be(e,t=>t.tool.requestId&&t.requests[t.tool.requestId]||null)}var ei=P(D(),1);function Dg({theme:e,renderContextMenu:t,children:i}){let n=ut(),r=dt(),o=be(n,v=>v.polygon),s=be(n,v=>v.polygonState.currentTool),a=be(n,v=>v.mode),c=be(n,v=>v.changeMode),u=be(n,v=>v.polygonState.transitioning),{enabled:l,requestId:d}=be(n,v=>v.tool),h=(0,hh.useMemo)(()=>Lr(o),[o]),p=Ng(),[f,m]=uc("editing-annotation",r?.id,t),g=p?.annotationPopup||i||(0,ei.jsx)(M1,{}),y=p?.svgTheme||e,x=()=>{c("sketch")};if(!l||!r||!d||!o)return null;let w=h&&o.id&&!u&&(s==="pointer"||s==="hand"||!o.open)?(0,ei.jsx)(dh,{annotation:o,target:h,children:g}):null,R="shape";return a==="explore"?(0,ei.jsxs)(ei.Fragment,{children:[(0,ei.jsx)(R,{id:`shape-${o.id}`,points:o.points,open:o.open,onClick:x,relativeStyle:!0,target:{x:0,y:0,width:r.width,height:r.height},style:{":hover":{backgroundColor:"rgba(0,0,0,0.2)"},backgroundColor:"rgba(0,0,0,0)",borderWidth:"4px",borderColor:"rgba(255, 255, 255, .4)"},...m}),(0,ei.jsx)(R,{id:`shape-${o.id}`,points:o.points,open:o.open,onClick:x,relativeStyle:!0,target:{x:0,y:0,width:r.width,height:r.height},style:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(0, 0, 0, .4)"}}),w]}):(0,ei.jsxs)(ei.Fragment,{children:[t?(0,ei.jsx)(R,{id:`shape-${o.id}`,points:o.points,open:o.open,target:{x:0,y:0,width:r.width,height:r.height},...m}):null,(0,ei.jsx)(AS,{image:r,theme:y}),w,f]})}function M1(){let e=ut(),t=be(e,s=>s.changeMode),i=be(e,s=>s.mode),n=be(e,s=>s.completeRequest),r=be(e,s=>s.tool),o=()=>{(0,hh.startTransition)(()=>{n()})};return r.enabled?(0,ei.jsxs)("div",{className:"svg-tools-container animate-fadeIn",children:[i!=="sketch"&&(0,ei.jsx)("button",{className:"svg-tools-button",onClick:()=>{t("sketch")},children:"Edit"}),(0,ei.jsx)("button",{className:"svg-tools-button",onClick:o,children:"Save"})]}):null}var Hr=P(Z(),1);var aa=P(Z(),1);function Rk(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function dc(e,t){let i=Mt(t.target).selector?.temporal,n=Ni(t.selector).selector?.temporal,r=e.duration||0,o=i?.startTime??0,s=n?.startTime??0,a="duration"in t.resource&&typeof t.resource.duration=="number"?t.resource.duration:void 0,c=n?.endTime??a,u=i?.endTime??(i&&c!==void 0&&Number.isFinite(c)?Math.min(r,o+Math.max(0,c-s)):r);return{target:{startTime:o,endTime:u},source:n||{startTime:0,endTime:u-o}}}function hc(e,t){let{selector:i,source:n}=Mt(t);if(n.id!==e.id)return[null,n];let r={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}};return[i?i.type==="TemporalSelector"?{type:"TemporalBoxSelector",temporal:i.temporal,spatial:r.spatial}:i:null,n]}var zg={makeChoice:()=>{}},fc={type:"unknown"},at=e=>({type:"unknown",reason:e,annotations:{pages:[]}}),Bg=(e,t)=>({type:"empty",width:e,height:t,annotations:{pages:[]},image:null,images:[]});var pc=P(Z(),1);function Ck(e,t){let i=e?.iiif?.meta[t];return i?i.annotationPageManager:null}function k1(e,t){return Ue(i=>{let n=[];if(!e)return n;let r=Object.keys(i.iiif.entities.AnnotationPage);for(let o of r)if(!t||t.indexOf(o)!==-1){let s=Ck(i,o);s&&s.views&&s.views[e]&&n.push(o)}return n},[e,t])}function Vg({canvas:e,manifest:t,all:i,canvases:n}){let r=[];if(t)for(let o of t.annotations)r.indexOf(o.id)===-1&&r.push(o.id);if(i){if(n&&n.length)for(let o of n)for(let s of o.annotations)r.indexOf(s.id)===-1&&r.push(s.id)}else if(e)for(let o of e.annotations)r.indexOf(o.id)===-1&&r.push(o.id);return r}function Tk(e,t){let i=e?.iiif?.meta[t];return i?i.annotationPageManager:null}function mc(e,t={}){let i=We(),n=Pt(),r=Ze(),o=Ka(),s=(0,pc.useMemo)(()=>Vg({all:t.all,manifest:n,canvas:r,canvases:o}),[t.all,r,o,n]),a=k1(e,t.all?void 0:s),c=(0,pc.useCallback)(l=>{e&&i.setMetaValue([l,"annotationPageManager","views"],d=>d&&!d[e]?d:{...d||{},[e]:!1})},[e,i]),u=(0,pc.useCallback)((l,d={})=>{if(!e)return;let h=i.getState(),p=[];if(d?.deselectOthers){let f=Object.keys(h.iiif.entities.AnnotationPage);for(let m of f){let g=Tk(h,m);g&&g.views&&g.views[e]&&p.push(m)}}for(let f of p)c(f);i.setMetaValue([l,"annotationPageManager","views"],f=>f&&f[e]?f:{...f||{},[e]:!0})},[e,c,i]);return{availablePageIds:s,enabledPageIds:a,setPageEnabled:u,setPageDisabled:c}}function Wg(e,t){return Ue((i,n)=>n.get(e.map(r=>({id:r,type:t}))),[e,t])}var O1=P(Z(),1);function gc(){let e=Bd(),t=Vd(),i=rS();return[(0,O1.useCallback)((r,{height:o,width:s})=>{if(!r||r.width&&r.height&&r.tiles?.length)return r;let a=e(r,{height:o,width:s});return a||t(r,{height:o,width:s}),a||void 0},[t,e]),i]}var Bo=P(Z(),1);function sa(e={}){let t=Rr(),i=kt(),n=Ze(),r=Zn();return ms(t,(o,s)=>{let a=e.canvasId||n?.id,c=a?o.iiif.mapping[a]==="Timeline"?o.iiif.entities.Timeline[a]:o.iiif.entities.Canvas[a]:void 0;return c?e.enableSingleAnnotation&&i.annotation?Sr(s)?[s.get({id:i.annotation,type:"Annotation"})]:r?[r]:[]:c.items.flatMap(l=>Sr(s)?s.get({id:l.id,type:"AnnotationPage"}).items.map(d=>s.get({id:d.id,type:"Annotation"})):s.get({id:l.id,type:"AnnotationPage"}).items.map(d=>s.get({id:d.id,type:"Annotation"}))):[]},[n,e.canvasId,e.enableSingleAnnotation,i.annotation,r])}function $g(e,t=[]){let i=We(),n=(0,Bo.useMemo)(()=>Hs(i),[i]),r=sa({enableSingleAnnotation:e?.enableSingleAnnotation}),[o,s]=(0,Bo.useState)(e?.defaultChoices||[]),a=(0,Bo.useMemo)(()=>n.getPaintables(r,o),[i,r,o,...t]),u={makeChoice:(0,Bo.useCallback)((l,{deselectOthers:d=!0,deselect:h=!1}={})=>{a.choice&&s(p=>{if(h){let m=p.filter(g=>g!==l);if(m.length===0){let g=a.items[0].resource.id;return g?[g]:[]}return m}if(d)return[l];let f=[...p];if(f.length===0&&a.items.length){let m=a.items[0].resource.id;m&&f.push(m)}return p.indexOf(l)!==-1?p:[...p,l]})},[a.choice])};return[a,u]}var Pk=["model/gltf-binary"];function jg(e,t){let i=t.items[0],n=i.resource;return n.format?Pk.indexOf(n.format)===-1?at(`3D format: ${n.format} is unsupported`):{type:"3d-model",model:n,annotationId:i.annotationId,annotation:i.annotation}:at("Unknown format")}function fh(e,t){let i=t.items,n=i[0];if(i.length===0||!n)return at("No audio");if(!e.duration)return at("No duration on canvas");if(i.length>1)return at("Only one audio source supported");let r=n.resource;if(!r)return at("Unknown audio");let{target:o,source:s}=dc(e,n);return{type:"media",media:{annotationId:n.annotationId,annotation:n.annotation,duration:e.duration,url:r.id,type:"Sound",target:{type:"TemporalSelector",temporal:o},format:("format"in r&&typeof r.format=="string"?r.format:void 0)||"audio/mpeg",selector:{type:"TemporalSelector",temporal:s}},annotations:{pages:[]}}}function lr(e){return e.replace(/^http:/,"https:")}function L1(e){if(!(e?.type!=="ImageApiSelector"||typeof e.rotation>"u"))return Hg(e.rotation)}function Hg(e){if(e===null||typeof e>"u"||e==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}function Ak(e){let t=e.selector||{};return{...e.rotationOrigin||t.rotationOrigin?{rotationOrigin:e.rotationOrigin||t.rotationOrigin}:{},...e.translate||t.translate?{translate:e.translate||t.translate}:{},...e.transform||t.transform?{transform:e.transform||t.transform}:{},...e.style||t.boxStyle?{style:e.style||t.boxStyle}:{},...e.styleClass?{styleClass:e.styleClass}:{}}}function yc(e,t,i){let n=Mi(e),r=[];for(let o of t.items){let s=o.resource&&o.resource.type==="SpecificResource"?o.resource.source:o.resource;if(!s.id)return at("No resource Identifier");let a=typeof s.width=="number"?s.width:void 0,c=typeof s.height=="number"?s.height:void 0,l=(o.resource.type==="SpecificResource"?L1(o.resource.selector):void 0)??L1(o.selector)??Hg(o.rotation)??Hg(o.selector?.rotation),d=typeof l<"u",h;if(s.service){let R=ml(s);R[0]&&(h=i(R[0],d?{width:Number(a||e.width),height:Number(c||e.height)}:n))}let p={type:"BoxSelector",spatial:{x:0,y:0,width:n.width,height:n.height}},[f,m]=hc(e,o.target),g=e.id?.split("?")[0]||"";if(!(lr(m.id||"")===lr(e.id)||lr(decodeURIComponent(m.id||""))===lr(e.id||"")||lr(m.id||"")===lr(g)||lr(decodeURIComponent(m.id||""))===lr(g)))continue;let y=o.resource.type==="SpecificResource"?Mt(o.resource):null;if(o.selector){let R=Mt({type:"SpecificResource",source:o.resource,selector:o.selector});R&&(y=R)}let x=y&&y.selector&&(y.selector.type==="BoxSelector"||y.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:y.selector.spatial.x,y:y.selector.spatial.y,width:y.selector.spatial.width,height:y.selector.spatial.height},...typeof y.selector.rotation<"u"?{rotation:y.selector.rotation}:{},...y.selector.rotationOrigin?{rotationOrigin:y.selector.rotationOrigin}:{},...y.selector.translate?{translate:y.selector.translate}:{},...y.selector.transform?{transform:y.selector.transform}:{},...y.selector.boxStyle?{boxStyle:y.selector.boxStyle}:{}}:void 0;h&&!h.id&&(h.id=h["@id"]);let w={id:s.id,type:"Image",annotationId:o.annotationId,annotation:o.annotation,width:Number(d||f||x?a:e.width),height:Number(d||f||x?c:e.height),...typeof l<"u"?{rotation:l}:{},...Ak(o),service:h,sizes:h&&h.sizes?h.sizes:a&&c?[{width:a,height:c}]:[],target:f&&f.type!=="PointSelector"?f:p,selector:x,annotationPages:o.resource.annotations||[]};r.push(w)}return{type:"images",image:r[0],images:r,choice:t.choice}}function _1(e,t={},i){let n=e.language||i||"none";switch(e.type){case"TextualBody":{typeof e.value<"u"&&(t[n]=[e.value]);break}case"List":case"Composite":case"Choice":e.items&&e.items.forEach(r=>_1(r,t,n))}return t}function vc(e,t){let i=[];return t.items.forEach(n=>{if(n.resource){let[r]=hc(e,n.target);i.push({type:"Text",annotationId:n.annotationId,annotation:n.annotation,text:_1(n.resource),target:r})}}),{type:"textual-content",items:i}}var Ik=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function bc(e,t,i,n=!1){let r=Mi(e),o=t.items.filter(y=>y.type==="video"),s=o[0],a=!1,c=!1,u=e.duration||0;if(u||(c=!0),o.length>1||!s)return at("Only one video source supported");let l=o[0]?.resource,d=!!(l.service||[]).find(y=>(y.profile||"").includes("youtube.com"));if(!d&&c)return at("Video does not have duration");if(!l)return at("Unknown video");if((!l.format||l.format==="text/html")&&!d)return at("Video does not have format");let h=[],p=i.get([...e.annotations]);for(let y of p){let x=i.get(y.items||[]);for(let w of x)if((w.motivation?Array.isArray(w.motivation||"")?w.motivation:[w.motivation]:[]).includes("supplementing")){let v=i.get(w.body||[]);for(let S of v){let C=S;if(C.type==="Choice")for(let T of C.items){let I=i.get(T);I.format==="text/vtt"&&h.push({id:I.id,type:"Text",format:"text/vtt",label:I.label,language:I.language})}else C.format==="text/vtt"&&h.push({id:C.id,type:"Text",format:"text/vtt",label:C.label,language:C.language})}}}let f=dc(e,s),m={annotationId:s.annotationId,annotation:s.annotation,duration:u,url:l.id,type:"Video",target:{type:"TemporalSelector",temporal:f.target},format:l.format,selector:{type:"TemporalSelector",temporal:f.source}},g=Mt(s.target);if(g.selector&&(g.selector.type==="TemporalBoxSelector"||g.selector.type==="TemporalSelector")&&(m.target={...g.selector,temporal:f.target}),n&&!m.target.spatial&&(a=!0,m.target={type:"TemporalBoxSelector",temporal:m.target.temporal,spatial:{x:0,y:0,width:r.width,height:r.height}}),d){m.type="VideoYouTube";let y=l.id.match(Ik);if(!y[1])return at("Video is not known youtube video");m.youTubeId=y[1]}return{type:"media",media:m,annotations:{pages:[]},noSpatial:a,captions:h}}function ph(e,t,i,n){let r={type:"complex-timeline",items:[],keyframes:[],highlights:[],duration:e.duration||0},o={type:"complex-choice",items:[]},s=n.get([...e.annotations]);function a(l){l.choice&&(l.choice.type==="complex-choice"?o.items.push(...l.choice.items):o.items.push(l.choice))}for(let l of t.items){if(l.type==="image"){let d=yc(e,{choice:null,allChoices:null,types:["image"],items:[l]},i);if(d.type==="images"){if(!d.image)continue;a(d),r.items.push(d.image);let h={id:d.image.annotationId,type:"enter",resourceType:"image",time:d.image.target?.temporal?.startTime||0};r.keyframes.push(h);let p={id:d.image.annotationId,type:"exit",resourceType:"image",time:d.image.target?.temporal?.endTime??e.duration??0};r.keyframes.push(p)}}if(l.type==="textualbody"){let d=vc(e,{choice:null,allChoices:null,types:["textualbody"],items:[l]});if(d.type==="textual-content"){a(d);let h=d.items[0];r.items.push(h);let p=h.target,f={id:h.annotationId,type:"enter",resourceType:"text",time:p?.temporal?.startTime??0};r.keyframes.push(f);let m={id:h.annotationId,type:"exit",resourceType:"text",time:p?.temporal?.endTime??e.duration??0};r.keyframes.push(m)}}if(l.type==="video"){let d=bc(e,{choice:null,allChoices:null,types:["video"],items:[l]},n,!0);if(d.type==="media"){a(d);let h=d.media;r.items.push(h);let p={id:h.annotationId,type:"enter",resourceType:"video",time:h.target?.temporal?.startTime||0};r.keyframes.push(p);let f={id:h.annotationId,type:"exit",resourceType:"video",time:h.target?.temporal?.endTime??e.duration??0};r.keyframes.push(f)}}if(l.type==="audio"||l.type==="sound"){let d=fh(e,{choice:null,allChoices:null,types:["audio"],items:[l]});if(d.type==="media"){a(d);let h=d.media;r.items.push(h);let p={id:h.annotationId,type:"enter",resourceType:"audio",time:h.target?.temporal?.startTime||0};r.keyframes.push(p);let f={id:h.annotationId,type:"exit",resourceType:"audio",time:h.target?.temporal?.endTime??e.duration??0};r.keyframes.push(f)}}}for(let l of s)for(let d of l.items){let h=n.get(d),p=Mt(h.target,{typeMap:n.getState?.().iiif.mapping});if(p.selector?.temporal){let f={id:h.id,type:"enter",resourceType:"highlight",time:p.selector.temporal.startTime||0};r.keyframes.push(f);let m={id:h.id,type:"exit",resourceType:"highlight",time:p.selector.temporal.endTime||e.duration||0};r.keyframes.push(m)}r.highlights.push({annotation:h,target:p})}r.keyframes.sort((l,d)=>l.time-d.time);let c=[],u=[];for(let l of r.keyframes){if(l.resourceType==="image"||l.resourceType==="text"||l.resourceType==="highlight"){u.push(l);continue}if(l.type==="enter"){c.length===0&&(l.isPrime=!0),c.push(l),u.push(l);continue}if(l.type==="exit"&&(u.push(l),c=c.filter(d=>d.id!==l.id),c.length!==0)){let d=c[0],h={id:d.id,type:"change",isPrime:!0,resourceType:d.resourceType,time:l.time};u.push(h)}}return r.keyframes=u,o.items.length&&(r.choice=o),r}var mh={},qg={get(e){return e},setMetaValue([e,t,i],n){let r=qg.getResourceMeta(e,t),o=r?r[i]:void 0,s=typeof n=="function"?n(o):n;mh[e]={...mh[e]||{},[t]:{...(mh[e]||{})[t]||{},[i]:s}}},getResourceMeta:(e,t)=>{let i=mh[e];if(i)return t?i[t]:i},async load(e){let t=typeof e=="string"?e:e.id;return fetch(t).then(i=>i.json())},requestStatus(e){}};function xc({canvas:e,paintables:t,supports:i,loadImageService:n,vault:r=qg}){if(e?.type==="Scene")return at("Scene rendering is not supported");if(!e)return fc;if(t.types.length===0){if(i.indexOf("empty")!==-1){let{width:l,height:d}=Mi(e);return Bg(l,d)}return fc}let o=["image","textualbody","video","audio","sound"],s=t.items.filter(l=>o.includes(l.type));if(Number.isFinite(e.duration)&&(e.duration||0)>0&&(s.length>1||s.some(l=>l.type==="image"||l.type==="textualbody"?!0:!!Mt(l.target).selector?.temporal||!!Ni(l.selector).selector?.temporal)))return i.includes("complex-timeline")?ph(e,t,n,r):at("Complex timeline not supported");if(t.types.length!==1)if(t.types.length===2&&t.types.indexOf("text")!==-1)t={...t,types:t.types.filter(l=>l!=="text")};else return i.indexOf("complex-timeline")===-1?at("Complex timeline not supported"):ph(e,t,n,r);let u=t.types[0];return u==="image"?i.indexOf("images")===-1?at("Image not supported"):yc(e,t,n):u==="Model"||u==="model"?i.indexOf("3d-model")===-1?at("3D not supported"):jg(e,t):u==="textualbody"?i.indexOf("textual-content")===-1?at("Textual content not supported"):vc(e,t):u==="sound"||u==="audio"?i.indexOf("media")===-1?at("Media not supported"):fh(e,t):u==="video"?i.indexOf("media")===-1?at("Media not supported"):bc(e,t,r):fc}function Ug(e){let t=Pt(),i=Ze(),n=We(),r=nc(),o=e?.emitter||r,[s,a]=gc(),{enabledPageIds:c}=mc(e?.annotationPageManagerId||t?.id||i?.id,{all:!1}),u=Wg(c,"AnnotationPage"),l=e?.strategies||["empty","images","media","textual-content","complex-timeline"],[d,h]=$g(e,[a]);(0,aa.useEffect)(()=>{let f=m=>{h.makeChoice(m.choiceId,{deselectOthers:m.deselectOthers,deselect:m.deselect})};return o.on("make-choice",f),()=>{o.off("make-choice",f)}},[o,h.makeChoice]);let p=(0,aa.useMemo)(()=>xc({canvas:i,paintables:d,supports:l,loadImageService:s,vault:n}),[i,d,n,h.makeChoice,a,l.join(",")]);return(0,aa.useEffect)(()=>{let f=d.allChoices,m={canvasId:i?.id,manifestId:t?.id};f&&o.emit("choice-change",{choice:f,partOf:m})},[i?.id,t?.id,d.allChoices,o]),(0,aa.useMemo)(()=>p.type==="unknown"?[p,zg]:[{...p,annotations:{pages:u}},h],[p,u,h.makeChoice])}var Yg=P(D(),1);function Gg({strategies:e,scopedStyles:t,emitter:i,annotationPageManagerId:n,registerActions:r,defaultChoices:o,onChoiceChange:s,mediaControlsDeps:a,renderMediaControls:c,renderViewerControls:u,viewControlsDeps:l,renderComplexTimelineControls:d,complexTimelineControlsDeps:h,throwOnUnknown:p,children:f}){let m=Ze(),g=We(),y=(0,Hr.useMemo)(()=>_r(g),[g]),[x,w]=Ug({strategies:e||["images"],emitter:i,annotationPageManagerId:n,defaultChoices:o?.map(({id:C})=>C)}),R="choice"in x?x.choice:void 0;if((0,Hr.useEffect)(()=>{if(r){let C=r(w);return typeof C=="function"?()=>{C()}:void 0}},[r,w]),(0,Hr.useEffect)(()=>{s&&s(R)},[R,s]),(0,Hr.useEffect)(()=>{if(o&&!t)for(let C of o)typeof C.opacity<"u"&&y.applyStyles({id:C.id},"atlas",{opacity:C.opacity})},[o,y,t]),x.type==="unknown"&&p)throw new Error(x.reason||"Unknown strategy");let v=(0,Hr.useMemo)(()=>({renderMediaControls:c,mediaControlsDeps:a||[],renderViewerControls:u,viewControlsDeps:l||[],renderComplexTimelineControls:d,complexTimelineControlsDeps:h||[]}),[a,c,u,l,d,h]),S=(0,Hr.useMemo)(()=>({strategy:x,actions:w,imageStyles:t?Object.fromEntries((o||[]).filter(C=>C.opacity!==void 0).map(C=>[C.id,{opacity:C.opacity}])):void 0,choices:"choice"in x?x.choice:[]}),[x,m,w,o,t]);return(0,Yg.jsx)(Dl.Provider,{value:v,children:(0,Yg.jsx)(Mn.Provider,{value:S,children:f})})}var yh=P(Z(),1);var gh=P(Z(),1);var la=P(Z(),1);var Kg=(0,la.createContext)(()=>{});function F1(e){let t=Ze(),i=(0,la.useContext)(Kg);(0,la.useEffect)(()=>t&&t.id?(i(t.id,e),()=>i(t.id,-1)):()=>{},[t,e])}var D1=P(D(),1);function N1({x:e=0,y:t=0,keepCanvasScale:i=!0,events:n,onPositionChange:r,children:o}){let{strategy:s}=ht(),a=Ze(),c=An(a,["deep-zoom"]),u=(0,gh.useMemo)(()=>i?1:Math.max(1,...s.type==="images"?s.images.map(p=>(p.width||0)/p.target?.spatial.width):[]),[i,s]);(0,gh.useEffect)(()=>{if(a){let{width:p,height:f}=Mi(a);return r?.(a.id,{x:e,y:t,width:p,height:f}),()=>r?.(a.id,null)}},[e,t,a,r]),F1(u);let l=s.type==="images"?s.images.length:0;if(!a)return null;let{width:d,height:h}=Mi(a);return(0,D1.jsx)("world-object",{height:h,width:d,x:e,y:t,...n,...c,children:o},`${a.id}/${s.type}/${l}`)}var z1=P(D(),1);function Xg({renderContextMenu:e,children:t,...i}){let n=Ze(),r=ut(),[o,s]=uc(`context-menu/${n?.id}`,n?.id,e),a=(0,yh.useCallback)((c,u)=>{u?r.getState().setCanvasRelativePosition(c,u):r.getState().clearCanvasRelativePosition(c)},[r]);return(0,yh.useEffect)(()=>{n&&r.getState().reset()},[r,n]),(0,z1.jsxs)(N1,{...i,events:s,onPositionChange:a,children:[o,t]})}var di=P(D(),1);function Eo({x:e,y:t,onChoiceChange:i,registerActions:n,emitter:r,annotationPageManagerId:o,defaultChoices:s,isStatic:a,renderViewerControls:c,renderMediaControls:u,renderComplexTimelineControls:l,complexTimelineControlsDeps:d,viewControlsDeps:h,mediaControlsDeps:p,strategies:f,throwOnUnknown:m,rotation:g,backgroundStyle:y,alwaysShowBackground:x,keepCanvasScale:w=!1,enableSizes:R=!1,enableThumbnail:v,imageCandidates:S,format:C,useFloorCalc:T,renderOptions:I,style:E,enableYouTube:V=!0,onClickPaintingAnnotation:Y,components:Q={},children:z,annotationPopup:O,svgTheme:G,renderContextMenu:ee,renderAnnotationContextMenu:K}){let ne={isStatic:a,enableSizes:R,enableThumbnail:v,imageCandidates:S,format:C,useFloorCalc:T,renderOptions:I,style:E};return(0,di.jsxs)(Gg,{throwOnUnknown:m,onChoiceChange:i,registerActions:n,emitter:r,annotationPageManagerId:o,strategies:f,defaultChoices:s,mediaControlsDeps:p,renderMediaControls:u,renderViewerControls:c,renderComplexTimelineControls:l,complexTimelineControlsDeps:d,viewControlsDeps:h,children:[(0,di.jsxs)(Xg,{keepCanvasScale:w,x:e,y:t,renderContextMenu:ee,children:[(0,di.jsx)(fg,{alwaysShowBackground:x,backgroundStyle:y}),(0,di.jsx)(hg,{imageOptions:ne}),(0,di.jsx)(mg,{}),(0,di.jsx)(pg,{...ne,onClickPaintingAnnotation:Y,rotation:g}),(0,di.jsx)(Qm,{}),(0,di.jsx)(Km,{}),(0,di.jsx)(tg,{as:Q.Audio}),(0,di.jsx)(yg,{as:Q.Video}),V?(0,di.jsx)(vg,{}):null,(0,di.jsx)(Dg,{theme:G,renderContextMenu:K,children:O}),z]}),(0,di.jsx)(Xm,{})]})}var vh=P(D(),1),Ek={Auth:Xs,AnnotationPage:({page:e})=>(0,vh.jsx)(En,{page:e,className:"image-service-annotation",ignoreTargetId:!0})};function bh(e){return(0,vh.jsx)(Oo,{presentation:Ek,children:(0,vh.jsx)(Ks,{...e})})}var Zg=P(D(),1);function B1(e){let t=Ze(),i=qs(t);return i?.type!=="Canvas"?null:(0,Zg.jsx)(Di,{canvas:i.id,children:(0,Zg.jsx)(Eo,{renderViewerControls:e.renderViewerControls})})}var ti=P(Z(),1);var _i=P(Z()),Mk=(0,_i.createContext)(null),Qg={didCatch:!1,error:null},ca=class extends _i.Component{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=Qg}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){let{error:t}=this.state;if(t!==null){for(var i,n,r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];(i=(n=this.props).onReset)===null||i===void 0||i.call(n,{args:o,reason:"imperative-api"}),this.setState(Qg)}}componentDidCatch(t,i){var n,r;(n=(r=this.props).onError)===null||n===void 0||n.call(r,t,i)}componentDidUpdate(t,i){let{didCatch:n}=this.state,{resetKeys:r}=this.props;if(n&&i.error!==null&&kk(t.resetKeys,r)){var o,s;(o=(s=this.props).onReset)===null||o===void 0||o.call(s,{next:r,prev:t.resetKeys,reason:"keys"}),this.setState(Qg)}}render(){let{children:t,fallbackRender:i,FallbackComponent:n,fallback:r}=this.props,{didCatch:o,error:s}=this.state,a=t;if(o){let c={error:s,resetErrorBoundary:this.resetErrorBoundary};if(typeof i=="function")a=i(c);else if(n)a=(0,_i.createElement)(n,c);else if(r===null||(0,_i.isValidElement)(r))a=r;else throw s}return(0,_i.createElement)(Mk.Provider,{value:{didCatch:o,error:s,resetErrorBoundary:this.resetErrorBoundary}},a)}};function kk(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.length!==t.length||e.some((i,n)=>!Object.is(i,t[n]))}var xh=P(Z(),1);function V1(e,t=2e3){let{currentSequenceIndex:i,sequence:n,items:r}=fo(),o=dt(),s=(0,xh.useMemo)(()=>{let c=n[i]||[];return c.length===0&&o?[{id:o.id,type:"Canvas"}]:c.map(u=>r[u])},[n,i,o,r]),a=ut();(0,xh.useEffect)(()=>{let u=setInterval(()=>{if(e&&t!==-1){let l={x:e.x,y:e.y,width:e.width,height:e.height},d=a.getState().canvasRelativePositions,h={};for(let p of s){let f=d[p.id];if(f){let m=f.x,g=f.y,y=f.width,x=f.height,w={x:Math.max(m,l.x),y:Math.max(g,l.y),width:Math.min(m+y,l.x+l.width)-Math.max(m,l.x),height:Math.min(g+x,l.y+l.height)-Math.max(g,l.y)};w.width<=0||w.height<=0||(h[p.id]={x:w.x-f.x,y:w.y-f.y,width:w.width,height:w.height}),a.setState({canvasViewports:h})}}}},t);return()=>{clearTimeout(u)}},[s,e,a,t])}var ua=P(D(),1);function wh({width:e,style:t,height:i,error:n,resetErrorBoundary:r}){return(0,ua.jsxs)("div",{style:{width:e,height:i,minHeight:500,...t||{},background:"#f9f9f9"},children:[(0,ua.jsx)("h3",{children:"Error occurred"}),(0,ua.jsx)("p",{children:n.message}),(0,ua.jsx)("button",{type:"button",onClick:r,children:"Reset"})]})}var pt=P(D(),1);function Sh(e){let t=ut(),i=(0,ti.useMemo)(()=>e.name||Math.random().toString(36).substring(2,9),[e.name]);return(0,pt.jsx)(w1,{identifier:i,children:(0,pt.jsx)(Ws,{name:e.name,existing:t,children:(0,pt.jsx)(Ok,{...e})})})}function Ok({name:e,children:t,errorFallback:i,outerContainerProps:n={},worldScale:r,updateViewportTimeout:o,...s}){let a=ut(),c=uh(),u=be(a,z=>z.mode),l=be(a,z=>z.setAtlasRuntime),[d,h]=(0,ti.useState)(),p=sc(),f=ac(),m=i||wh,[g,y]=(0,ti.useState)({}),x=Object.entries(g),[w,R]=(0,ti.useState)({}),v=Object.entries(w),[S,C]=(0,ti.useState)({}),{worldScale:T,runtimeOptions:I}=(0,ti.useMemo)(()=>{if(Object.values(S).length===0)return{worldScale:1,runtimeOptions:s.runtimeOptions||{maxOverZoom:1}};let O=Math.max(...Object.values(S));return{worldScale:O,runtimeOptions:{maxOverZoom:O||1,...s.runtimeOptions||{}}}},[S,s.runtimeOptions]);V1(d?.runtime,o);let E=(0,ti.useCallback)((z,O)=>{C(G=>{if(O===-1){let{[z]:ee,...K}=G;return K}return{...G,[z]:O}})},[]),V=(0,ti.useCallback)((z,O,G)=>{y(({[z]:ee,...K})=>O?{...K,[z]:{element:O,props:G}}:K)},[]),Y=(0,ti.useCallback)((z,O,G)=>{R(({[z]:ee,...K})=>O?{...K,[z]:{element:O,props:G}}:K)},[]),Q=(0,ti.useCallback)(z=>{h(z),l(z.runtime),s.onCreated&&s.onCreated(z)},[s.onCreated,l]);return(0,pt.jsxs)(ca,{resetKeys:[],fallbackRender:z=>(0,pt.jsx)(m,{...s,...z}),children:[(0,pt.jsx)(nw,{...s,mode:u,containerProps:{style:{position:"relative"},...s.containerProps||{}},htmlChildren:(0,pt.jsx)(pt.Fragment,{children:x.map(([z,{element:O,props:G}])=>(0,pt.jsx)(ti.default.Fragment,{children:(0,pt.jsx)(O,{...G||{}})},z))}),onCreated:Q,runtimeOptions:I,children:(0,pt.jsx)(Ws,{name:e,existing:a,children:(0,pt.jsx)(hn.Provider,{value:d,children:(0,pt.jsx)(Kg.Provider,{value:E,children:(0,pt.jsx)(qm.Provider,{value:V,children:(0,pt.jsx)(Um.Provider,{value:Y,children:(0,pt.jsx)(lc,{bridge:f,custom:p,children:(0,pt.jsx)(Ld,{children:t})})})})})})})}),(0,pt.jsx)("div",{children:v.map(([z,{element:O,props:G}])=>(0,pt.jsx)(ti.default.Fragment,{children:(0,pt.jsx)(O,{...G||{}})},z))}),(0,pt.jsx)("div",{id:`atlas-floating-ui-${c}`,className:"atlas-floating-ui",style:{position:"relative",zIndex:999999}})]})}var ii=P(D(),1),Lk=(0,Vo.forwardRef)(function(t,i){let n=Pt(),r=Ka(),o=fo(),{ViewerControls:s,MediaControls:a,ComplexTimelineControls:c}=t.components||{};if((0,Vo.useImperativeHandle)(i,()=>o,[o]),!n)return(0,ii.jsx)("div",{});let u=0,l=n.viewingDirection==="top-to-bottom",d=n.viewingDirection==="bottom-to-top",h=n.viewingDirection==="left-to-right",p=n.viewingDirection==="right-to-left",m=n.behavior.includes("continuous")?0:t.spacing||0,g=d||p,y=(0,Vo.useMemo)(()=>g?[...r].reverse():r,[r,g]);return(0,ii.jsxs)(ii.Fragment,{children:[t.header,(0,ii.jsx)(Bt.Viewer,{height:t.height,mode:t.mode,renderPreset:t.renderPreset,runtimeOptions:t.runtimeOptions,updateViewportTimeout:t.updateViewportTimeout,homePaddingPx:t.padding,children:y.map((x,w)=>{let{width:R,height:v}=Mi(x),S=0,C=0;return!l&&!d?(S=u,u+=R+m):(C=u,u+=v+m),(0,ii.jsx)(Di,{canvas:x.id,children:(0,ii.jsx)(Bt.RenderCanvas,{strategies:["3d-model","media","images","empty","textual-content","complex-timeline"],renderViewerControls:w===0&&s?()=>(0,ii.jsx)(s,{}):void 0,renderMediaControls:w===0&&a?()=>(0,ii.jsx)(a,{}):void 0,annotationPopup:t.annotationPopup,renderContextMenu:t.renderContextMenu,keepCanvasScale:t.keepCanvasScale,renderComplexTimelineControls:w===0&&c?()=>(0,ii.jsx)(c,{}):void 0,renderAnnotationContextMenu:t.renderAnnotationContextMenu,x:S,y:C,svgTheme:t.svgTheme,rotation:t.rotation,...t.canvasProps||{},children:t.annotations},x.id)},x.id)})},t.reuseAtlas?"":o.currentSequenceIndex),t.children]})}),Bt=(0,Vo.forwardRef)(function({children:t,height:i,annotations:n,canvasProps:r,spacing:o,header:s,components:a,mode:c,reuseAtlas:u,renderPreset:l,runtimeOptions:d,annotationPopup:h,name:p,svgTheme:f,updateViewportTimeout:m,renderContextMenu:g,keepCanvasScale:y,renderAnnotationContextMenu:x,padding:w,rotation:R,...v},S){let C=Zi();return(0,ii.jsx)(Ws,{name:p,children:(0,ii.jsx)(qn,{vault:C,children:(0,ii.jsx)(Ip,{...v,children:(0,ii.jsx)(Lk,{ref:S,height:i,components:a,spacing:o,canvasProps:r,annotations:n,header:s,mode:c,reuseAtlas:u,renderPreset:l,runtimeOptions:d,annotationPopup:h,svgTheme:f,updateViewportTimeout:m,renderContextMenu:g,keepCanvasScale:y,renderAnnotationContextMenu:x,padding:w,rotation:R,children:t})})})})});Bt.RenderImage=bh;Bt.RenderCanvas=Eo;Bt.RenderAnnotationPage=En;Bt.RenderAnnotation=Po;Bt.Viewer=Sh;Bt.CanvasBackground=Hd;Bt.Audio=Td;Bt.Video=Gd;Bt.Model=Id;Bt.AudioHTML=Ym;Bt.VideoHTML=gg;Bt.ModelHTML=Gm;Bt.PlaceholderCanvas=B1;Bt.getAtlasStoreByName=Lm;var W1=P(Z(),1);var Hi=P(Z(),1);function Jg(e){let[t,i]=(0,Hi.useState)(0),n=ut(),r=be(n,v=>v.tool.enabled),o=be(n,v=>v.tool.requestId),s=be(n,v=>v.getRequestId),a=be(n,v=>v.requestAnnotation),c=be(n,v=>v.completeRequest),u=be(n,v=>v.cancelRequest),l=(0,Hi.useRef)(e?.onSuccess);l.current=e?.onSuccess;let[d,h]=(0,Hi.useState)(!1),[p,f]=(0,Hi.useState)(null),[m,g]=(0,Hi.useState)(null),y=r&&o!==m,x=r&&o===m,w=(0,Hi.useCallback)(async(v,S)=>{if(m){let C=l.current;h(!0);let T=await a(v,{...S,requestId:m});if(T)return C?.(T),i(E=>E+1),h(!1),f(T),T;let I={id:m,cancelled:!0,...Ol(v)};return C?.(I),f(I),i(E=>E+1),h(!1),I}return null},[a,m]),R=(0,Hi.useCallback)(()=>{f(null),h(!1)},[]);return(0,Hi.useEffect)(()=>{let v=s();return g(v.requestId),()=>{v.clear()}},[t]),{id:t,busy:y,isPending:d,isActive:x,requestId:m,requestAnnotation:w,cancelRequest:()=>m?u(m):void 0,completeRequest:()=>m?c(m):void 0,reset:R,data:p}}var _k=[{name:"Default",outer:{borderWidth:4,borderColor:"rgba(255, 255, 255, .4)"},inner:{borderWidth:2,borderColor:"#000"}},{name:"High contrast",outer:{borderWidth:3,borderColor:"#fff"},inner:{borderWidth:1,borderColor:"#000"}},{name:"Lightsaber",outer:{borderWidth:"4",borderColor:"rgba(56,68,255,0.64)"},inner:{borderWidth:"2",borderColor:"#fff"}},{name:"Bright",outer:{borderWidth:"6",borderColor:"#25d527"},inner:{borderWidth:"3",borderColor:"#a916ff"}},{name:"pink",outer:{borderWidth:"4",borderColor:"#ff00ff"},inner:{borderWidth:"2",borderColor:"#ffffff"}},{name:"fine (dark)",outer:{borderWidth:"1",borderColor:"#000000"},inner:{}},{name:"fine (light)",outer:{borderWidth:"1",borderColor:"#FFF"},inner:{}}];function ey(e){let{id:t,data:i,requestAnnotation:n,cancelRequest:r,isPending:o}=Jg({onSuccess:s=>{e.updateShape(s.polygon)}});return(0,W1.useEffect)(()=>(n({type:"polygon",open:e.shape?.open,points:e.shape?.points}),()=>{r()}),[]),null}var Yt=P(Z(),1);var $1=P(D(),1),Rh=(0,Yt.createContext)(Ai());Rh.displayName="SelectorHelper";function Fk({children:e}){return(0,$1.jsx)(Rh.Provider,{value:(0,Yt.useMemo)(()=>Ai(),[]),children:e})}function Nk(){return(0,Yt.useContext)(Rh)}function ty(e){let t=iy(),[i,n]=(0,Yt.useState)(!1);(0,Yt.useEffect)(()=>t.withSelector(e).on("highlight",()=>{n(!0)}),[t,e]),(0,Yt.useEffect)(()=>t.withSelector(e).on("clear-highlight",()=>{n(!1)}),[t,e]);let r=(0,Yt.useCallback)(s=>{t.emit("click",{selectorId:e,event:s})},[e,t]),o=(0,Yt.useCallback)(s=>{t.emit("hover",{selectorId:e,event:s})},[e,t]);return{controller:t,onClick:r,onHover:o,isHighlighted:i}}function iy(){let e=(0,Yt.useContext)(Rh);return(0,Yt.useMemo)(()=>({withSelector(t){return{on(i,n){let r=o=>{o&&o.selectorId===t&&n(o)};return e.on(i,r),()=>{e.off(i,r)}},emit(i,n){e.emit(i,{...n,selectorId:t})}}},on(t,i){return e.on(t,i),()=>{e.off(t,i)}},emit(t,i){e.emit(t,i)}}),[e])}function Dk(){let e=iy();return(0,Yt.useMemo)(()=>({withSelector(t){return{highlight(){e.emit("highlight",{selectorId:t})},clearHighlight(){e.emit("clear-highlight",{selectorId:t})},zoomTo(){e.emit("zoom-to",{selectorId:t})},addEventListener(i,n){return e.emit("event-listener",{selectorId:t,name:i,callback:n}),()=>{e.emit("remove-event-listener",{selectorId:t,name:i,callback:n})}},getImagePreview(){return new Promise((i,n)=>{e.emit("image-preview-request",{selectorId:t,resolve:i,reject:n})})},on(i,n){return e.withSelector(t).on(i,n)}}},highlight(t){e.emit("highlight",{selectorId:t})},clearHighlight(t){e.emit("clear-highlight",{selectorId:t})},zoomTo(t){e.emit("zoom-to",{selectorId:t})},addEventListener(t,i,n){return e.emit("event-listener",{selectorId:t,name:i,callback:n}),()=>{e.emit("remove-event-listener",{selectorId:t,name:i,callback:n})}},getImagePreview(t){return new Promise((i,n)=>{e.emit("image-preview-request",{selectorId:t,resolve:i,reject:n})})},on(t,i){return e.on(t,i)}}),[e])}var ny=P(D(),1);function zk(e){let t=dt(),i=e.annotationBucket,n=e.readOnly,r=e.id,{onClick:o,isHighlighted:s}=ty(e.id),a=Ll(),c=s?a.highlighted:a[i||"hidden"]||a.hidden;if(!t)return null;if(n){let u="shape",l=e.polygon,d=l.open;return l?(0,ny.jsx)(u,{id:`shape-${r}`,points:l.points,open:d,onClick:o,relativeStyle:!0,target:{x:0,y:0,width:t.width,height:t.height},style:c}):null}return(0,ny.jsx)(ey,{image:t,shape:e.polygon||{id:e.id,open:!0,points:[]},updateShape:e.updatePolygon,theme:e.theme,controlsHtmlId:e.controlsHtmlId,renderControls:e.renderControls})}var Ch=P(Z(),1),wc=P(D(),1),Bk=(0,Ch.forwardRef)(function({canvasId:t},i){let n=Sl(),r=mc(t||n?.id),o=We();return(0,Ch.useImperativeHandle)(i,()=>r,[t,n]),!n||r.enabledPageIds.length===0?null:(0,wc.jsx)(wc.Fragment,{children:r.enabledPageIds.map(s=>(0,wc.jsx)(Bt.RenderAnnotationPage,{page:o.get(s)},s))})});var H1=P(Z(),1);var j1=P(Z(),1);var Nt=P(D(),1);function Sc({metadata:e=[],config:t,labelWidth:i=16,showEmptyMessage:n=!0,allowHtml:r,emptyFallback:o,classes:s={},emptyMessage:a="No metadata available",emptyValueFallback:c="No value",emptyLabelFallback:u="",separator:l,tableFooter:d,tableHeader:h,customLabelRender:p,customValueRender:f}){let m=(0,j1.useMemo)(()=>{let y=(t||[]).reduce((w,R)=>[...w,...R.keys],[]),x={};for(let w of e){let R=w?.label?Object.values(w.label):[];for(let v of R)if(v?.length&&(y.indexOf(`metadata.${v[0]}`)!==-1||y.length===0)&&w){let S=`metadata.${v[0]}`;x[S]=x[S]?x[S]:[],x[S].push(w);break}}return x},[t,e]);return Object.keys(m).length===0&&n?(0,Nt.jsx)(Nt.Fragment,{children:o})||(0,Nt.jsx)("div",{className:s.empty,children:a}):t?.length?(0,Nt.jsxs)("table",{className:s.container,children:[h,(0,Nt.jsx)("tbody",{children:t.map((y,x)=>{let w=[];for(let v of y.keys)for(let S of m[v]||[]){let C=(0,Nt.jsx)(Oi,{enableDangerouslySetInnerHTML:r,defaultText:c,separator:l,children:S.value},x+"__"+v);f?w.push(f(S,C)):w.push(C)}if(w.length===0)return null;let R=(0,Nt.jsx)(Oi,{enableDangerouslySetInnerHTML:r,separator:l,defaultText:u,children:y.label});return(0,Nt.jsxs)("tr",{className:s.row,children:[(0,Nt.jsx)("td",{className:s.label,style:i?{minWidth:i}:{},children:p?p(y.label,R):R}),(0,Nt.jsx)("td",{className:s.value,children:w})]},x)})}),d]}):(0,Nt.jsxs)("table",{className:s.container,children:[h,(0,Nt.jsx)("tbody",{children:e?.length?e.map((y,x)=>{if(!y)return null;let w=(0,Nt.jsx)(Oi,{enableDangerouslySetInnerHTML:r,defaultText:c,separator:l,children:y.label}),R=(0,Nt.jsx)(Oi,{enableDangerouslySetInnerHTML:r,defaultText:c,separator:l,children:y.value});return(0,Nt.jsxs)("tr",{className:s.row,children:[(0,Nt.jsx)("td",{className:s.label,style:i?{minWidth:i}:{},children:p?p(y.label,w):w}),(0,Nt.jsx)("td",{className:s.value,children:f?f(y,R):R})]},x)}):null}),d]})}var q1=P(D(),1);function Vk(e){let t=Pt(),i=dt(),n=Ja(),r=(0,H1.useMemo)(()=>{let o=t?.metadata||[],s=i?.metadata||[],a=n?.metadata||[];return[...o,...s,...a]},[t,i,n]);return(0,q1.jsx)(Sc,{metadata:r,...e})}var Ph=P(Z(),1);var U1=P(Z(),1);function Th(e,t={},i=[]){return(0,U1.useMemo)(()=>{if(!e)return null;let n=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(n="default"));let r=ad(e);return Ls({identifier:r.identifier,server:r.server,scheme:r.scheme,type:"image",size:{max:!t.size?.width&&!t.size?.height,confined:!1,upscaled:!1,...t.size||{}},format:t.format||"jpg",region:t.region||{full:!0},rotation:t?.rotation?Number.isInteger(t.rotation)?{angle:t.rotation}:t.rotation:{angle:0},quality:n||"default",prefix:r.prefix,originalPath:r.originalPath})},[...i])}var Rc=P(D(),1);function Wk(e){let t=typeof e.src=="string"?e.src:e.src.id,i=zl(),[n,r]=(0,Ph.useState)(!1),o;if(t){let a=i.loadServiceSync({id:t});a&&(o=a)}!o&&!n&&i.loadService({id:t}).then(()=>{r(!0)});let s=Th(o,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[n,e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return(0,Ph.useEffect)(()=>()=>{r(!1)},[t]),s?(0,Rc.jsx)("img",{src:s,alt:e.alt,className:e.className,style:e.style}):(0,Rc.jsx)(Y1,{...e,fetchImageService:!1})}function Y1(e){if(e.fetchImageService)return(0,Rc.jsx)(Wk,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,i=Th(t,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return i?(0,Rc.jsx)("img",{src:i,alt:e.alt,className:e.className,style:e.style}):null}var Ah=P(Z(),1);var cr=P(D(),1);function G1({src:e,errorFallback:t,interactive:i,skipSizes:n,children:r,renderViewerControls:o,viewControlsDeps:s,fluid:a,x:c,y:u,...l}){let d=Zi(),[h,p]=(0,Ah.useState)(),f=t||wh,[m,g]=gc(),y=(0,Ah.useMemo)(()=>{let w=g[e]?.status,R=m({id:e},{});return R?.height&&R.width&&w!=="loading"?{id:e,width:R.width,height:R.height,service:R,type:"Image",selector:{type:"BoxSelector",spatial:{x:0,y:0,width:R.width,height:R.height}},target:{type:"BoxSelector",spatial:{x:0,y:0,width:R.width,height:R.height}}}:null},[m,e,g]);if(!y||!y.height||!y.width)return null;let x=a?void 0:l.homePosition?l.homePosition.width/l.homePosition.height:y.width/y.height;return(0,cr.jsx)(ca,{resetKeys:[],fallbackRender:w=>(0,cr.jsx)(f,{...l,...w}),children:(0,cr.jsx)(qn,{vault:d,children:(0,cr.jsx)(Sh,{...l,aspectRatio:x,containerProps:{style:{position:"relative"},...l.containerProps||{}},onCreated:w=>{p(w),l.onCreated&&l.onCreated(w)},children:(0,cr.jsxs)(hn.Provider,{value:h,children:[(0,cr.jsx)(bh,{image:y,id:y.id,isStatic:!i,x:c,y:u},y.id),(0,cr.jsx)($k,{viewerPreset:h,renderViewerControls:o,image:y,src:e,viewControlsDeps:s}),r]})})})})}function $k({viewerPreset:e,renderViewerControls:t,image:i,src:n,viewControlsDeps:r}){return Ut(e&&t?"overlay":"none",`canvas-portal-controls-${n}`,hn.Provider,t&&i?{value:e||null,children:t({image:i,images:[i],type:"images"})}:{},[n,e,...r||[]]),null}var K1=P(D(),1);function jk(e){let t=Pt();return(0,K1.jsx)(Sc,{metadata:t?.metadata||[],...e})}var Ih=P(Z(),1);var ry=P(Z1(),1);var yi=P(D(),1),{LazyLoadComponent:Hk}=ry||ry.default;function oy(e){let{size:t,visible:i,classes:n,canvasId:r,figure:o}=e,s=t?.width||128,a=t?.height||t?.width||128,c=(0,yi.jsx)(qk,{...e}),u=(0,yi.jsx)(Hk,{threshold:300,style:{height:a,width:s},visibleByDefault:i,children:r?(0,yi.jsx)(Di,{canvas:r,children:c}):c});return o?(0,yi.jsx)("figure",{className:n?.figure,children:u}):u}function qk({fallback:e,size:t,classes:i,showLabel:n,alt:r,dereference:o=!1}){let s=dt(),a=t?.width||128,c=t?.height||t?.width||128,u=r||Rd(s?.label)||"",l=er({width:a,height:c,allowUnsafe:!0},o);return!l||l.type!=="fixed"?(0,yi.jsx)(yi.Fragment,{children:e}):(0,yi.jsxs)(yi.Fragment,{children:[(0,yi.jsx)("div",{className:i?.imageWrapper,children:(0,yi.jsx)("img",{className:i?.img,src:l.id,alt:u})}),n?(0,yi.jsx)(Oi,{as:"figcaption",className:i?.label,children:s?.label}):null]})}var da=P(D(),1);function Uk({scrollBehaviour:e,dereference:t,flat:i,size:n,classes:r={},showLabel:o,figure:s,fallback:a}){let c=(0,Ih.useRef)(null),{items:u,sequence:l,currentSequenceIndex:d,setSequenceIndex:h}=fo(),p={row:r.selected?.row||r.row,item:r.selected?.item||r.item,figure:r.selected?.figure||r.figure,img:r.selected?.img||r.img,label:r.selected?.label||r.label,imageWrapper:r.selected?.imageWrapper||r.imageWrapper};(0,Ih.useLayoutEffect)(()=>{if(!c.current)return;let m=c.current.querySelector("[data-selected=true]");m&&m.scrollIntoView({behavior:e||"instant",block:"nearest",inline:"center"})},[d]);let f=[];for(let m of l){let g=[],y=l[d]===m;for(let x of m){let w=u[x];g.push((0,da.jsx)("div",{className:y?p.item:r.item,children:(0,da.jsx)(oy,{classes:y?p:r,canvasId:w.id,size:n,dereference:t,showLabel:o,figure:s,placeholder:(0,da.jsx)("div",{style:{height:128,width:128}}),fallback:a})},x))}if(i){f.push(g);continue}f.push((0,da.jsx)("div",{onClick:x=>{h(l.indexOf(m))},"data-selected":y,className:y?p.row:r.row,children:g},m.join("-")))}return(0,da.jsx)("div",{ref:c,className:r.container,children:f})}function sy(){let e=ut(),t=be(e,o=>o.completeRequest),i=be(e,o=>o.polygonState.currentTool),n=be(e,o=>o.polygonState.selectedStamp),r=be(e,o=>o.switchTool);return{completeRequest:t,currentTool:i,selectedStamp:n,switchTool:r}}var $t=P(D(),1),Yk={draw:!0,polygon:!0,line:!0,lineBox:!0,box:!0,triangle:!0,hexagon:!0,circle:!0,delete:!0,pen:!0};function Gk({showShapes:e=!0,enabled:t=Yk,classNames:i={},icons:n={}}){let{currentTool:r,switchTool:o,selectedStamp:s}=sy();return(0,$t.jsxs)($t.Fragment,{children:[r,(0,$t.jsx)("button",{className:i.button,onClick:o.pointer,"data-active":r==="pointer",children:n.PointerIcon||"Pointer"}),(0,$t.jsx)("button",{className:i.button,onClick:o.hand,"data-active":r==="hand",children:n.HandIcon||"Hand"}),e?(0,$t.jsxs)($t.Fragment,{children:[t.box&&(0,$t.jsx)("button",{className:i.button,onClick:o.box,"data-active":r==="box",children:n.BoxIcon||"Box"}),t.pen&&(0,$t.jsx)("button",{className:i.button,onClick:o.pen,"data-active":r==="pen",children:n.PenIcon||"Pen"}),t.draw&&(0,$t.jsx)("button",{className:i.button,onClick:o.draw,"data-active":r==="pencil",children:n.DrawIcon||"Draw"}),t.line&&(0,$t.jsx)("button",{className:i.button,onClick:o.line,"data-active":r==="line",children:n.LineIcon||"Line"}),t.lineBox&&(0,$t.jsx)("button",{className:i.button,onClick:o.lineBox,"data-active":r==="lineBox",children:n.LineBoxIcon||"LineBox"}),t.triangle&&(0,$t.jsx)("button",{className:i.button,onClick:o.triangle,"data-active":r==="stamp"&&s?.id==="triangle",children:n.TriangleIcon||"Triangle"}),t.hexagon&&(0,$t.jsx)("button",{className:i.button,onClick:o.hexagon,"data-active":r==="stamp"&&s?.id==="hexagon",children:n.HexagonIcon||"Hexagon"}),t.circle&&(0,$t.jsx)("button",{className:i.button,"data-active":r==="stamp"&&s?.id==="circle",onClick:o.circle,children:n.CircleIcon||"Circle"})]}):null,t.delete&&(0,$t.jsx)("button",{className:i.button,onClick:o.remove,children:n.DeleteForeverIcon||"Delete"})]})}var Q1=P(D(),1);function Kk({annotation:e,children:t}){return(0,Q1.jsx)(Zt,{value:{annotation:e},children:t})}var J1=P(D(),1);function Xk({annotationPage:e,children:t}){return(0,J1.jsx)(Zt,{value:{annotationPage:e},children:t})}var eR=P(D(),1);function Zk({collection:e,children:t}){return(0,eR.jsx)(Zt,{value:{collection:e},children:t})}var tR=P(Z(),1);function Qk(e){if(Sr(e))throw new Error("Expected a Presentation 3 Vault, but found a Vault4.");return e}function Jk(e){if(!Sr(e))throw new Error("Expected a Vault4, but found a Presentation 3 Vault.");return e}function iR(e){return{useVault(){return e(Rr())},useExistingVault(t){return e(Zi(t))},useVaultEffect(t,i){let n=e(Rr());(0,tR.useEffect)(()=>{let r=t(n);return typeof r=="function"?()=>r():void 0},[n,...i||[]])},useVaultSelector(t,i){return ms(e(Rr()),t,i)}}}var eO=iR(Qk),tO=iR(Jk);function iO(e=3){return e===4?tO:eO}function ay(e={}){let t=Zn(),i=Ze();return Ue((n,r)=>{let o=e.canvasId?n.iiif.mapping[e.canvasId]==="Timeline"?n.iiif.entities.Timeline[e.canvasId]:n.iiif.entities.Canvas[e.canvasId]:i;if(!o)return[];if(t&&e.enableSingleAnnotation)return[t];let s=r.get([...o.items]),a=[];for(let c of s)a.push(...r.get(c.items));return a},[i,e.canvasId,t,e.enableSingleAnnotation])}function nO(e,t={}){return ay(t)}var qr=P(Z(),1);function rO({canvasId:e}={}){let t=Sl(),i=up(),n=(0,qr.useMemo)(()=>e?[e]:t?[t.id]:i.map(u=>u.id),[e,t,i]),[r,o]=(0,qr.useState)({}),s=nc();(0,qr.useEffect)(()=>{let u=l=>{let d=l.partOf.canvasId;d&&o(h=>({...h,[d]:l.choice}))};return s.on("choice-change",u),()=>{s.off("choice-change",u)}},[]);let a=(0,qr.useMemo)(()=>{let u=[];for(let l of n){let d=r[l];d&&u.push({canvasId:l,choice:d})}return u},[n,r]),c=(0,qr.useMemo)(()=>({makeChoice:(u,l)=>{s.emit("make-choice",{choiceId:u,...l})}}),[s]);return{choices:a,actions:c}}function oO(e,t=!1){}function sO(e){let i=kt().manifest,n=e?e.map(r=>typeof r=="string"?r:r?.id):[];return Ue(r=>{let o=i?r.iiif.entities.Manifest[i]:void 0,s=o?.items||[];if(typeof e>"u")return s;let a=[];for(let c of o?.items||[])n.indexOf(c.id)!==-1&&a.push(c);return a},[n.join("/")])}var Eh=P(Z(),1);function aO(){let e=ut(),t=be(e,n=>n.completeRequest),i=be(e,n=>n.cancelRequest);return(0,Eh.useMemo)(()=>({saveAnnotation:()=>{(0,Eh.startTransition)(()=>{t()})},cancelRequest:i}),[t,i])}var nR=P(Z(),1);function lO({requestId:e}={}){let t=ut(),i=be(t,a=>a.metadata),n=be(t,a=>a.tool.requestId),r=e||n,o=be(t,a=>a.setMetadata),s=(0,nR.useCallback)(a=>o(a,r||void 0),[o,r]);return[r?i[r]||{}:{},s]}function cO(e){let t=ut(),i=be(t,n=>n.tool.requestId);Ro("polygons.start-transition",n=>{e.requestId&&i!==e.requestId||e?.onStart?.(n.transitionIntent)},[i,e.requestId]),Ro("polygons.end-transition",n=>{e.requestId&&i!==e.requestId||e?.onEnd?.(n.transitionIntent,n.response)},[i,e.requestId]),Ro("polygons.transition",n=>{e.requestId&&i!==e.requestId||e?.onTransition?.(n.transitionIntent)},[i,e.requestId])}var Mh=P(Z(),1);function uO(e,t,i,n,r=[]){let o=We(),s=(0,Mh.useMemo)(()=>_l(o),[o]);(0,Mh.useEffect)(()=>{let a=e;return a?(s.addEventListener(a,t,i,n),()=>{s.removeEventListener(a,t,i)}):()=>{}},[s,e,t,...r])}var ha=P(Z(),1);function ly({cacheKey:e}={}){let t=Ze(),i=sa(),n=We(),r=Bd(),o=Vd(),s=(0,ha.useMemo)(()=>{let p=i[0]?.body,f=Array.isArray(p)?p[0]:p,m=f?n.get(f):void 0,g=m&&"service"in m?m.service?.find(yo):void 0,y=t?Mi(t):{width:1,height:1};return{service:g,size:y,initial:g&&r(g,y)||void 0}},[n,t,e,i,r]),[a,c]=(0,ha.useState)();(0,ha.useEffect)(()=>{let p=!0;return s.service&&!s.initial&&o(s.service,s.size).then(f=>{p&&c({request:s,data:f||void 0})},f=>{p&&c({request:s,error:f instanceof Error?f:new Error(String(f))})}),()=>{p=!1}},[s,o]);let u=a?.request===s?a:void 0,l=u?.data||s.initial,d=u?.error,h=d?"error":l?"success":s.service&&!u?"loading":"idle";return{data:l,isFetching:h==="loading",status:h,error:d}}function dO(){let e=ly();return{isLoading:e.isFetching,tile:e.data?{id:e.data.id||e.data["@id"],width:e.data.width,height:e.data.height,imageService:e.data,thumbnail:void 0}:null}}var kh=P(Z(),1);function hO({supports:e=["empty","images","media","3d-model","textual-content","complex-timeline"]}={}){let t=We(),i=Ze(),n=sa(),r=(0,kh.useMemo)(()=>Hs(t),[t]),o=(0,kh.useMemo)(()=>r.getPaintables(n),[r,n]);return(0,kh.useMemo)(()=>xc({canvas:i,loadImageService:s=>s,paintables:o,supports:e}),[i,o,e])}var rR=P(Z(),1);function fO(){let e=We();return(0,rR.useMemo)(()=>_r(e),[e])}var jt=P(Z(),1);function pO(e){let{initial:t,regions:i,progress:n,getProgress:r,enabled:o=!0,easing:s,reportEveryFrame:a=!1,pollInterval:c=ng,loop:u=!1,onEnter:l,onExit:d,onProgress:h,jumpTo:p}=e,f=(0,jt.useMemo)(()=>og(t,i),[t,i]),[m,g]=(0,jt.useState)(()=>-1),[y,x]=(0,jt.useState)(0),w=(0,jt.useRef)(-1),R=(0,jt.useRef)(0),v=(0,jt.useRef)(!0),S=(0,jt.useRef)(()=>{});(0,jt.useEffect)(()=>(v.current=!0,()=>{v.current=!1}),[]);let C=(0,jt.useMemo)(()=>{if(!s)return ln(Vl);if(typeof s=="function")return s;if(Array.isArray(s)&&s.length===4)return ln(s);let Y=zr[s];return Y?ln(Y):ln(Vl)},[s]),T=(0,jt.useCallback)(Y=>{if(!(Y<0||Y>=f.length)&&(g(Y),w.current=Y,R.current=0,x(0),l))try{l(Y)}catch{}},[f,l]);(0,jt.useEffect)(()=>{S.current=T,p&&p(T)},[T,p]);function I(Y){let{index:Q,t:z}=sg(Y,f),O=Q;if(u&&f.length>0){let ee=f.length;O=(Q%ee+ee)%ee}let G=C(z);if(O!==w.current){if(w.current>=0&&d)try{d(w.current)}catch{}if(O>=0&&l)try{l(O)}catch{}w.current=O,v.current&&g(O)}if(R.current=G,v.current&&(a||O!==m)&&x(G),h&&O>=0)try{h(O,G)}catch{}}(0,jt.useEffect)(()=>{o&&typeof n=="number"&&I(n)},[n,o]),(0,jt.useEffect)(()=>{if(!o||typeof r!="function")return;let Y=null,Q=()=>{try{let z=r();I(z)}catch{}};return Q(),Y=setInterval(Q,c),()=>clearInterval(Y)},[r,o,c]);let E=m>=0&&m<f.length?f[m]:void 0,V=E?rg(E.from,E.to,R.current):void 0;return{transitions:f,currentIndex:m,currentTransition:E,t:R.current,rect:V,jumpTo:T}}var Wo=P(Z(),1);function mO(e,t={}){let{axis:i="y",offset:n=0,steps:r=1,enabled:o=!0}=t,[s,a]=(0,Wo.useState)(0),c=(0,Wo.useRef)(-1),u=(0,Wo.useRef)(null);return(0,Wo.useEffect)(()=>{if(!o||!e||!e.current)return;let l=e.current,d=()=>{let p=i==="y"?l.scrollTop:l.scrollLeft,f=i==="y"?l.clientHeight:l.clientWidth,g=(i==="y"?l.scrollHeight:l.scrollWidth)-f,x=(g<=0?0:Math.max(0,Math.min(1,(p+n)/g)))*r;x!==c.current&&(c.current=x,a(x)),u.current=null},h=()=>{u.current===null&&(u.current=requestAnimationFrame(d))};return l.addEventListener("scroll",h,{passive:!0}),d(),()=>{l.removeEventListener("scroll",h),u.current!==null&&cancelAnimationFrame(u.current)}},[e,i,n,r,o]),s}function gO(e,t){let{x:i,y:n,width:r,height:o}=e,{x:s,y:a}=t,{width:c,height:u}=t;return i+r>s&&i<s+c&&n+o>a&&n<a+u}var yO=!0,cy="Invariant failed";function oR(e,t){if(!e){if(yO)throw new Error(cy);var i=typeof t=="function"?t():t,n=i?"".concat(cy,": ").concat(i):cy;throw new Error(n)}}function vO(e,t){let i=e.boundingBox||Lr(e.polygon);if(e.polygon&&!Co(e.polygon.points)){let n=e.target||Vs(e.polygon,t);return oR(n?.type==="SvgSelector"),{type:"SvgSelector",points:e.polygon.points,spatial:{unit:"pixel",...i||{}},svgShape:e.polygon.open?"polyline":"polygon",svg:n.value}}return{type:"BoxSelector",spatial:i}}function bO(e,t,i){return mp(e,t,i)}function xO(e,t,i){return Qa(e,t,i)}var sR=P(Z(),1);function wO(e,t=[]){let{id:i,selector:n}=e,r=kt(),o=i||r.collection,s=Ue((a,c)=>o&&a.iiif.mapping[o]==="Collection"?c.get({id:o,type:"Collection"}):void 0,[o]);return(0,sR.useMemo)(()=>{if(s)return n?n(s):s},[s,n,...t])}function SO(e,t){let{id:i,isLoaded:n,error:r,resource:o,requestId:s,cached:a}=Xa(e,t);return{id:i,isLoaded:n,error:r,manifest:o,collection:o,requestId:s,cached:a}}return gR(RO);})();
142
139
  /*! Bundled license information:
143
140
 
144
141
  react/cjs/react-jsx-runtime.production.js:
@@ -174,40 +171,14 @@ use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.productio
174
171
  * LICENSE file in the root directory of this source tree.
175
172
  *)
176
173
 
177
- scheduler/cjs/scheduler.production.js:
178
- (**
179
- * @license React
180
- * scheduler.production.js
181
- *
182
- * Copyright (c) Meta Platforms, Inc. and affiliates.
183
- *
184
- * This source code is licensed under the MIT license found in the
185
- * LICENSE file in the root directory of this source tree.
186
- *)
187
-
188
- react-reconciler/cjs/react-reconciler.production.js:
189
- (**
190
- * @license React
191
- * react-reconciler.production.js
192
- *
193
- * Copyright (c) Meta Platforms, Inc. and affiliates.
194
- *
195
- * This source code is licensed under the MIT license found in the
196
- * LICENSE file in the root directory of this source tree.
197
- *)
198
-
199
- react-dom/cjs/react-dom-client.production.js:
200
- (**
201
- * @license React
202
- * react-dom-client.production.js
203
- *
204
- * Copyright (c) Meta Platforms, Inc. and affiliates.
205
- *
206
- * This source code is licensed under the MIT license found in the
207
- * LICENSE file in the root directory of this source tree.
208
- *)
174
+ @terraformer/wkt/dist/t-wkt.esm.js:
175
+ (* @preserve
176
+ * @terraformer/wkt - v2.2.0 - MIT
177
+ * Copyright (c) 2012-2024 Environmental Systems Research Institute, Inc.
178
+ * Wed May 15 2024 14:35:51 GMT-0700 (Pacific Daylight Time)
179
+ *)
209
180
 
210
- @atlas-viewer/atlas/dist/index.js:
181
+ @atlas-viewer/atlas/dist/image-DF-FZZJl.js:
211
182
  (**
212
183
  * Checks if an event is supported in the current execution environment.
213
184
  *